这是一个基于AI的智能简历分析系统,支持多种文件格式上传和岗位匹配度计算。系统使用豆包API进行智能分析,结合多种机器学习算法,为求职者和招聘者提供精准的简历匹配分析。
- 多格式支持: PDF、Word、Markdown、纯文本、网页链接
- 智能匹配: AI驱动的简历与岗位匹配分析
- 批量处理: 支持同时分析多个简历文件
- 实时分析: 快速生成详细的匹配报告
- TF-IDF相似度计算: 文本相似度分析
- 技能匹配算法: 智能识别和匹配技能关键词
- 经验匹配分析: 工作经验相关性评估
- 主题模型分析: LDA主题建模
- AI综合评估: 豆包大模型深度分析
- 整体匹配度评分
- 技能匹配率分析
- 工作经验匹配度
- 教育背景匹配度
- 文本相似度计算
- 主题相似度分析
- 个性化改进建议
- FastAPI: 高性能Web框架
- LlamaIndex: 文档索引和检索框架
- 豆包API: 中文优化的大语言模型
- scikit-learn: 机器学习算法库
- PyPDF2: PDF文档处理
- python-docx: Word文档处理
- BeautifulSoup: HTML解析
- HTML5/CSS3: 现代化界面设计
- Bootstrap 5: 响应式UI框架
- JavaScript ES6+: 交互逻辑
- Font Awesome: 图标库
- Python 3.8+
- Node.js (可选,用于前端开发)
- 克隆项目
cd resume_analyzer/backend- 安装依赖
pip install -r requirements.txt- 配置环境变量
# Windows
set DOUBAO_API_KEY=your_doubao_api_key
# Linux/Mac
export DOUBAO_API_KEY=your_doubao_api_key- 启动后端服务
python main.py服务将在 http://localhost:8000 启动
- 进入前端目录
cd resume_analyzer/frontend- 直接打开HTML文件
# 使用浏览器打开 index.html
# 或使用简单的HTTP服务器
python -m http.server 3000前端将在 http://localhost:3000 启动
POST /upload/file
Content-Type: multipart/form-data
参数:
- file: 简历文件 (PDF/Word/Markdown)
- job_title: 目标岗位
- job_description: 岗位描述POST /analyze/batch
Content-Type: multipart/form-data
参数:
- files: 多个简历文件
- job_title: 目标岗位
- job_description: 岗位描述POST /upload/url
Content-Type: application/x-www-form-urlencoded
参数:
- url: 网页链接
- job_title: 目标岗位
- job_description: 岗位描述GET /health{
"status": "success",
"resume_data": {
"personal_info": {...},
"education": [...],
"work_experience": [...],
"skills": [...],
"projects": [...]
},
"match_result": {
"overall_match_score": 0.85,
"skill_match": {...},
"experience_match": {...},
"education_match": {...},
"ai_assessment": {...},
"recommendations": [...]
}
}- 选择或拖拽简历文件到上传区域
- 输入目标岗位和详细的岗位描述
- 点击"开始分析"按钮
- 查看详细的匹配分析报告
- 选择多个简历文件
- 输入统一的岗位要求
- 系统将按匹配度排序显示结果
- 支持快速筛选最佳候选人
- 输入在线简历或个人网站链接
- 系统自动抓取和解析网页内容
- 生成匹配度分析报告
- 将简历和岗位描述转换为TF-IDF向量
- 计算余弦相似度衡量文本相似性
- 权重: 15%
- 智能提取岗位技能要求
- 模糊匹配简历中的技能
- 计算匹配率和缺失技能
- 权重: 30%
- 分析工作经验与岗位的相关性
- 考虑工作年限和职位匹配度
- 权重: 25%
- 学历层次匹配分析
- 专业相关性评估
- 权重: 10%
- 使用LDA进行主题建模
- 分析简历和岗位的主题分布相似性
- 权重: 10%
- 豆包大模型深度理解和分析
- 多维度评分和个性化建议
- 权重: 10%
- 90-100%: 优秀匹配,强烈推荐
- 70-89%: 良好匹配,值得考虑
- 50-69%: 一般匹配,需要培训
- 50%以下: 匹配度较低,不建议
resume_analyzer/
├── backend/
│ ├── main.py # FastAPI主应用
│ ├── resume_processor.py # 简历处理模块
│ ├── job_matcher.py # 匹配算法模块
│ └── requirements.txt # 依赖包列表
├── frontend/
│ ├── index.html # 主页面
│ ├── app.js # 前端逻辑
│ └── style.css # 样式文件
└── README.md # 项目文档
- 数据库集成: 添加PostgreSQL存储历史分析记录
- 用户系统: 实现用户注册和登录功能
- 报告导出: 支持PDF格式的分析报告导出
- API认证: 添加JWT令牌认证机制
- 缓存优化: 使用Redis缓存分析结果
- 容器化: 使用Docker进行部署
- API密钥: 确保正确配置豆包API密钥
- 文件大小: 建议单个文件不超过10MB
- 网络访问: 网页分析需要稳定的网络连接
- 隐私安全: 上传的简历文件不会被永久存储
A: 访问火山引擎控制台,注册并申请豆包大模型API服务。
A: 支持PDF、Word(.docx/.doc)、Markdown(.md)、纯文本(.txt)和网页链接。
A: 系统结合多种算法和AI模型,准确率在85%以上,但仍建议人工复核。
A: 可以修改job_matcher.py中的权重配置和算法逻辑。
- 初始版本发布
- 支持多格式简历上传
- 实现AI驱动的匹配分析
- 提供批量处理功能
- 完善的前端界面
如有问题或建议,请联系开发团队或提交Issue。
MIT License - 详见LICENSE文件