基于 DeepSeek 和 LangChain 的智能简历助手,帮助用户智能分析职位要求并生成匹配度最高的简历。
- 📄 支持多种格式简历上传(PDF、Word、Markdown、TXT)
- 🔍 智能职位描述(JD)分析
- 🎯 简历匹配度评估
- ✨ 智能简历生成
- 💼 简历库管理
- 🔐 安全的API密钥管理
- 🌐 支持在线/离线模型加载
- Python 3.12
- PyQt6
- 操作系统:Windows/macOS/Linux
- 磁盘空间:至少500MB(用于模型和数据存储)
- 克隆项目:
git clone https://github.com/wangyaominde/Resume_Matcher.git
cd Resume_Matcher- 创建并激活虚拟环境:
# 创建虚拟环境
python -m venv venv
# 激活虚拟环境
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate- 安装依赖:
# 确保在虚拟环境中安装依赖
pip install -r requirements.txt- 配置 DeepSeek API:
- 在应用程序设置中配置您的 DeepSeek API Key
- API Key 将被安全加密存储在本地
应用程序会自动按照以下顺序加载模型:
- 优先尝试从 HuggingFace 在线下载最新模型
- 如果在线下载失败,将尝试使用本地预下载的模型
- 如果两者都失败,程序会提示错误
- 启动应用:
python app.py-
首次使用:
- 点击右上角的"设置"按钮
- 输入您的 DeepSeek API Key
- 测试并保存配置
-
上传简历:
- 点击"上传简历"按钮
- 选择一个或多个简历文件
- 支持格式:PDF、DOCX、DOC、TXT、MD
-
分析职位:
- 在职位描述输入框中粘贴 JD
- 点击"分析JD并生成简历"
- 等待系统分析并生成匹配的简历
-
管理简历库:
- 查看已上传的简历列表
- 选择并删除不需要的简历
- 自动提取关键技能要求
- 识别必需和加分技能
- 分析教育和经验要求
- 提取工作职责和公司信息
- 基于 JD 智能匹配最适合的简历内容
- 自动计算匹配度评分
- 生成针对性优化的简历内容
- 集中管理所有上传的简历
- 支持批量上传和删除
- 安全的本地存储
- 前端界面:PyQt6
- AI 模型:DeepSeek
- 向量数据库:Chroma
- 文档处理:
- PDF:pdfplumber, PyPDF2
- Word:python-docx
- 图像:Pillow, pytesseract
- Markdown:markdown
-
API 密钥安全:
- 请勿在公共环境泄露您的 API 密钥
- API 密钥将被加密存储在本地数据库中
-
文件处理:
- 建议上传小于 10MB 的文件
- 确保文档格式规范,避免加密或损坏的文件
-
系统资源:
- 处理大量简历时可能需要较多系统资源
- 建议保持足够的磁盘空间
-
Q: 为什么无法连接到 API? A: 请检查您的 API Key 是否正确,以及网络连接是否正常。
-
Q: 上传 PDF 失败怎么办? A: 确保 PDF 文件未加密,且为文本型 PDF(非扫描件)。
-
Q: 如何提高简历匹配度? A: 确保简历库中的简历内容完整,且与目标职位相关性高。
MIT License
如有问题或建议,请提交 Issue 或 Pull Request。
-
技术原理说明
- 本项目使用大语言模型(LLM)进行简历生成,基于概率统计的模型输出本质上具有不确定性
- 简历生成过程涉及多个步骤:文本理解、信息提取、内容生成,每个环节都可能引入偏差
- 向量数据库的相似度匹配基于语义相似度计算,可能出现匹配不准确的情况
-
潜在风险
- 生成内容可能存在事实性错误或逻辑不连贯
- 技能匹配度评估仅供参考,不代表实际应聘结果
- 自动生成的内容可能不符合特定行业或公司的要求
- 简历格式和排版可能需要人工调整
-
使用建议
- 生成的简历内容必须经过人工审核和修改
- 建议将AI生成的内容作为参考和建议,而不是直接使用
- 确保所有信息真实准确,不要过分依赖自动生成的内容
- 根据具体职位和公司要求适当调整内容
-
责任声明
- 本项目不对因使用AI生成内容造成的任何后果承担责任
- 用户应自行承担使用本工具的风险和责任
- 本项目不保证生成内容的准确性、完整性和适用性
- 使用本工具即表示同意承担相关风险和责任