简历匹配器
加入 Discord ✦ 网站 ✦ 演示 ✦ 如何安装 ✦ 贡献 ✦ 捐赠 ✦ Twitter
简历匹配器是一款基于人工智能的免费开源工具。它可以帮助您根据职位描述调整简历,找出匹配的关键词,提高可读性,并深入洞察您的简历。
不要让您的简历成为获得下一份工作的障碍。使用简历匹配器!
它是如何工作的?
简历匹配器将您的简历和职位描述作为输入,使用 Python 解析它们,模拟 ATS 的功能,为您提供见解和建议,使您的简历更适合 ATS。
具体流程如下:
-
解析:系统使用 Python 解析您的简历和提供的职位描述,就像 ATS 一样。
-
关键词提取:该工具使用先进的机器学习算法从职位描述中提取最相关的关键词。这些关键词代表雇主所寻求的技能、资格和经验。
-
关键术语提取:除了关键词提取,该工具还使用textacy来识别职位描述中的主要关键术语或主题。这一步有助于理解简历的更广泛背景。
-
使用FastEmbedd进行向量相似度计算:该工具使用FastEmbedd(一个高效的嵌入系统)来衡量您的简历与职位描述的匹配程度。它们越相似,您的简历通过ATS筛选的可能性就越高。
如何安装
按照以下步骤设置环境并运行应用程序。
-
在这里fork仓库。
-
克隆已fork的仓库。
git clone https://github.com/<您的用户名>/Resume-Matcher.git cd Resume-Matcher
-
创建Python虚拟环境:
-
使用virtualenv:
注意:在此处查看如何在您的系统上安装virtualenv。
virtualenv env
或者
-
创建Python虚拟环境:
python -m venv env
-
-
激活虚拟环境。
-
在Windows上:
env\Scripts\activate
-
在macOS和Linux上:
source env/bin/activate
可选(针对pyenv用户)
使用pyenv运行应用程序(参考此文章)
-
构建依赖项(在ubuntu上)
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python openssl
sudo apt-get install build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev libncurses-dev sudo apt-get install python-tk python3-tk tk-dev sudo apt-get install build-essential zlib1g-dev libffi-dev libssl-dev libbz2-dev libreadline-dev libsqlite3-dev liblzma-dev
-
pyenv安装程序
curl https://pyenv.run | bash
-
安装所需的Python版本
pyenv install -v 3.11.0
-
使用pyenv创建虚拟环境
pyenv virtualenv 3.11.0 venv
-
使用pyenv激活虚拟环境
pyenv activate venv
-
-
安装依赖项:
pip install -r requirements.txt
-
准备数据:
- 简历:将您的PDF格式简历放在
Data/Resumes
文件夹中。删除此文件夹中的任何现有内容。 - 职位描述:将您的PDF格式职位描述放在
Data/JobDescription
文件夹中。删除此文件夹中的任何现有内容。
- 简历:将您的PDF格式简历放在
-
将简历解析为JSON:
python run_first.py
-
运行应用程序:
streamlit run streamlit_app.py
注意:对于本地版本,您不需要运行"streamlit_second.py",因为它专门用于部署到Streamlit服务器。
附加说明:向量相似度部分是预先计算的,以优化性能,因为句子编码器需要大量GPU和RAM资源,计算过程非常耗费资源。如果您有兴趣在Google Colab环境中免费使用此功能,请参考即将发布的博客(链接将提供)以获取进一步指导。
Docker
-
构建镜像并启动应用程序
docker-compose up
-
在浏览器中打开
localhost:80
运行Web应用程序
全栈Next.js(React和FastAPI)Web应用程序允许用户通过Web浏览器与简历匹配工具进行交互。
[!警告] 通过Web应用返回的结果目前完全是模拟/伪造的。这意味着返回的结果不是真实的,仅用于演示目的。在未来的版本中,将会实现真实数据结果。 要运行完整的全栈Web应用程序(前端客户端和后端API服务器),请按照webapp README文件中的说明进行操作。
Google Colab
- 在ngrok创建一个账户并获取你的令牌
- 转到archive/resume_matcher_colab.ipynb并运行该笔记本。
- 输入你的ngrok令牌并运行笔记本。
- 复制URL并在浏览器中打开。
代码格式化
本项目使用Black进行代码格式化。我们认为这有助于保持代码库的一致性,并在阅读代码时减少认知负担。
在提交你的拉取请求之前,请确保你的更改符合Black的风格指南。你可以通过在终端中运行以下命令来格式化你的代码:
black .
预提交钩子
我们还使用pre-commit来在提交代码之前自动检查常见问题。这包括使用Black进行代码格式检查。
如果你还没有安装,请通过在终端中运行以下命令来安装pre-commit钩子:
pip install pre-commit
pre-commit install
现在,每次你提交更改时,预提交钩子都会自动运行。如果有任何钩子失败,提交将被中止。
加入我们,做出贡献!
我们不仅欢迎,更是热烈庆祝拉取请求和问题!让我们一起创造。
🎉 加入我们活跃的Discord社区,畅所欲言!
💡 发现问题?创建一个issue!
👩💻 深入参与并帮助解决现有的issues。
🔔 在我们的讨论和公告中分享你的想法。
🚀 探索并改进我们的登陆页面。随时欢迎PR!
📚 为Resume Matcher文档做出贡献,帮助人们开始使用该软件。
技术栈
注意! 📝
你的支持对我们来说意义重大 💙。我们正以开源社区精神培育这个项目,我们还有一个雄心勃勃的路线图!以下是一些你可以贡献并产生重大影响的方式:
✨ 将我们的Streamlit仪表板转变为更强大的东西。
💡 改进我们的解析算法,使数据更易于获取。 🖋 在博客文章中分享你的见解和经验,帮助他人。
勇敢迈出一步,贡献你的力量,让我们一起成长!🚀