当前位置: 首页 > news >正文

16266350800----wLa6twBAf4yVW4gw----dc_sid=b6eb97905a1c240e1675f230d913b6b5;HMACCOUNT=97C7CB558BC7424

系统架构

简历文档(PDF/DOCX) │ ▼ ┌──────────────┐ │ 简历解析 │ ← PDF(MinerU)/DOCX(python-docx) + LLM结构化 │ Agent │ └──────┬───────┘ │ 结构化简历JSON ▼ ┌──────────────┐ │ 岗位匹配 │ │ Agent │ ← JD(PDF/DOCX/MD) + 简历 → 匹配度评分(0-100) └──────┬───────┘ │ 匹配结果 ├─────────────┬─────────────┐ ▼ ▼ ▼ ┌────────────┐ ┌────────────┐ ┌────────────┐ │ 技术能力 │ │ 软技能 │ │ 文化匹配 │ ← 并行执行 │ 评估Agent │ │ 评估Agent │ │ 评估Agent │ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ └──────────────┼──────────────┘ ▼ ┌──────────────┐ │ 面试决策 │ │ Agent │ → 综合评分 + 面试问题清单 └──────────────┘

协作模式:串行流水线 + 并行评估

LLM调用:约8-12次(解析1次 + 匹配1次 + 评估3次 + 决策1次 + 搜索N次)

5个Agent说明

Agent职责输入输出LLM调用
简历解析AgentPDF/DOCX→结构化JSON简历文件(.pdf/.docx)结构化简历JSON1次
岗位匹配Agent简历与JD匹配度评分简历JSON + JD(.pdf/.docx/.md)匹配度(0-100)+分析1次
技术能力评估Agent技术深度/项目复杂度/成长轨迹简历JSON + JD技术评分+技能分析1次
软技能评估Agent沟通/协作/领导力+搜索简历JSON软技能评分+搜索结果1+N次
面试决策Agent综合评分+面试问题清单4项评估结果决策+问题清单1次

项目结构

interview-evaluator-mas/ ├── main.py # 入口文件:命令行参数解析,启动评估流水线 ├── orchestrator.py # 主编排器:串行+并行流程控制,HTML报告生成 ├── config.py # 全局配置:LLM后端/MinerU/搜索/评分阈值 │ ├── core/ # 核心基础设施层 │ ├── __init__.py │ ├── llm_client.py # LLM客户端:千帆+Ollama双后端路由,重试/降级/统计 │ ├── search_client.py # 百度AI搜索客户端:单条/批量搜索,结果文本提取 │ ├── mineru_parser.py # MinerU PDF解析:上传→轮询→下载ZIP→提取Markdown │ ├── docx_parser.py # Word文档解析:python-docx提取段落+表格文本 │ └── document_parser.py # 统一文档解析入口:按扩展名自动路由(.pdf/.docx/.md/.txt) │ ├── agents/ # Agent业务逻辑层 │ ├── __init__.py │ ├── resume_parser_agent.py # 简历解析Agent:PDF/DOCX→文本→LLM→结构化JSON │ ├── job_matcher_agent.py # 岗位匹配Agent:6维度加权评分,0-100分匹配度 │ ├── tech_evaluator_agent.py # 技术能力评估Agent:深度/复杂度/广度/成长/影响力 │ ├── softskill_evaluator_agent.py # 软技能评估Agent:5维度+百度搜索验证公开信息 │ └── interview_decider_agent.py # 面试决策Agent:综合4维评分+STAR面试问题清单 │ ├── prompt/ # 提示词文件(各Agent独立markdown,运行时动态加载) │ ├── resume_parser.md # 简历解析提示词:7维度提取规则+JSON输出格式 │ ├── job_matcher.md # 岗位匹配提示词:6维度评分规则+量化标准 │ ├── tech_evaluator.md # 技术评估提示词:深度推断方法+技能分析框架 │ ├── softskill_evaluator.md # 软技能评估提示词:行为推断+搜索结果甄别规则 │ └── interview_decider.md # 面试决策提示词:加权公式+4级推荐+问题设计原则 │ ├── data/ # 输入数据目录 │ └── jd_llm_engineer.md # 示例岗位描述(高级大模型算法工程师) │ └── output/ # 评估报告输出目录(HTML格式,自动按时间戳命名)

文件职责速查

文件核心职责关键依赖
main.py命令行入口,参数解析+格式校验,流水线启动orchestrator, document_parser
orchestrator.py4阶段编排(串行→串行→并行→串行),JD多格式加载,HTML报告渲染agents/*, core/*
config.py环境变量加载,API密钥,评分阈值os
core/llm_client.py千帆/Ollama双后端路由,重试2次,JSON解析工具requests, config
core/search_client.py百度AI搜索(baidu_search_v2),批量搜索+限流requests, config
core/mineru_parser.pyMinerU精准解析API,异步上传+轮询+ZIP提取requests, config
core/docx_parser.pyWord文档解析,python-docx提取段落+表格文本python-docx
core/document_parser.py统一文档解析入口,按扩展名路由(.pdf/.docx/.md/.txt)mineru_parser, docx_parser
agents/resume_parser_agent.pyPDF/DOCX→文本→结构化JSON(7维度)document_parser, llm_client
agents/job_matcher_agent.py简历+JD→6维度匹配评分llm_client
agents/tech_evaluator_agent.py技术深度/项目复杂度/成长轨迹评估llm_client
agents/softskill_evaluator_agent.py软技能评估+智能搜索词拆分+百度搜索llm_client, search_client
agents/interview_decider_agent.py综合加权评分+4级推荐+面试问题清单生成llm_client

快速开始

环境准备

# 安装依赖 pip install requests python-docx # (可选)Ollama本地运行 ollama serve ollama pull qwen2.5:7b

运行方式

# 方式1: PDF简历 + Markdown JD python main.py 简历.pdf data/jd_llm_engineer.md # 方式2: Word简历 + Word JD python main.py 简历.docx 岗位描述.docx # 方式3: Word简历 + PDF JD python main.py 简历.docx jd.pdf # 方式4: 使用Ollama后端 LLM_PROVIDER=ollama python main.py 简历.pdf data/jd_llm_engineer.md # 方式5: 无参数运行(使用data目录中的示例文件) python main.py

支持的文件格式:

  • 简历:.pdf(MinerU解析) /.docx(python-docx解析)
  • JD:.pdf/.docx/.md/.txt

配置说明

通过环境变量或修改config.py进行配置:

配置项环境变量默认值说明
LLM后端LLM_PROVIDERqianfanqianfanollama
千帆API KeyQIANFAN_API_KEY(内置)bce-v3格式密钥
千帆模型QIANFAN_MODELernie-x1-turbo-32k千帆模型名称
Ollama地址OLLAMA_BASE_URLhttp://localhost:11434Ollama服务地址
Ollama模型OLLAMA_MODELqwen2.5:7b本地模型名称
MinerU TokenMINERU_TOKEN(内置)MinerU API Token
搜索API KeyBAIDU_SEARCH_API_KEY(内置)百度AI搜索密钥

评估维度详情

岗位匹配 (权重30%)

维度权重说明
学历匹配15%学历层次与JD要求是否一致
专业匹配10%专业方向与岗位需求的相关性
经验年限20%工作年限是否达到JD要求
技能覆盖25%候选人技能与JD要求的重叠度
行业背景15%是否有同行业/同领域的工作经验
职级匹配15%当前职级与目标岗位的层级适配性

技术能力 (权重30%)

维度权重说明
技术栈深度30%核心技术的掌握深度
项目复杂度25%参与项目的规模、难度、技术挑战
技术广度15%技术视野是否开阔
成长轨迹15%技术能力随时间的成长趋势
技术影响力15%开源贡献、技术文章、专利等

软技能 (权重20%)

维度权重说明
沟通表达25%信息传递的清晰度、逻辑性和说服力
团队协作25%在团队中的合作方式和角色定位
领导力20%影响他人、推动事情前进的能力
抗压韧性15%面对困难和挑战时的应对方式
学习能力15%快速掌握新知识、适应新环境的能力

文化匹配 (权重20%)

维度权重说明
价值观契合25%候选人价值取向与企业文化的一致性
工作风格适配25%工作节奏、方式的匹配程度
团队氛围匹配20%与目标团队协作风格的适配性
长期稳定性15%候选人在目标企业长期发展的可能性
发展潜力15%在目标企业文化中的成长空间

面试建议等级

综合评分建议等级说明
85-100★★★ 强烈推荐高匹配度,建议尽快安排面试
70-84★★ 推荐较好匹配,建议正常安排面试
55-69★ 谨慎推荐部分维度存在短板,需重点验证
0-54✗ 不推荐匹配度不足,建议暂不安排面试
http://www.jsqmd.com/news/1106243/

相关文章:

  • [RandomRange节点]原理解析与实际应用
  • delete from `后宫佳丽` where age>18
  • Linux网络配置指南
  • H5 到底能不能做视频直播?
  • C++ 纳秒级交易系统设计
  • React路由开发
  • 毕业设计项目 基于深度学习的驾驶行为检测(玩手机)
  • 昇腾AI处理器上下文切换优化实践与性能提升
  • 大众点评23年干了件“蠢”事
  • Go WaitGroup开发实践
  • Unity合批优化:静态与动态合批全解析
  • 报文发送非网络基本功能
  • 冻库低温环境下的机器人搬运技术测评
  • Claude Code 接入第三方模型指南
  • ASP.NET Core 之 Identity 入门(一)
  • React Hooks开发实践
  • 集成,持续交付,持续部署,敏捷开发,DevOps的关系
  • 2026年AI论文软件盘点:12款神器助你高效完成初稿生成、排版和降AI率
  • Android开发转AI Agent:第12天——Function Calling,让LLM从“说话“变成“做事“
  • Spring MVC开发实践教程
  • Python装饰器开发实践
  • step1. 调用摄像头
  • 给阿嬤一封来自云端的信(上)
  • NestJS框架教程
  • STM32与MAX9744实现高效音频放大系统设计
  • 量子计算中的基态制备与经典储层方法解析
  • 终极Win11系统优化指南:免费工具让你的Windows 11运行如飞
  • 游戏编程十年总结(下)
  • AI应用GEO排名优化指南:提升搜索可见性
  • 如何提取 Word 文档中的表格并导出为 Excel(Python 教程)