当前位置: 首页 > 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.gsyq.cn/news/1618216.html

相关文章:

  • 智能体设计范式:Plan-and-Solve
  • C++ 纳秒级交易系统设计
  • 毕业设计项目 基于深度学习的驾驶行为检测(玩手机)
  • 昇腾AI处理器上下文切换优化实践与性能提升
  • 报文发送非网络基本功能
  • 冻库低温环境下的机器人搬运技术测评
  • ASP.NET Core 之 Identity 入门(一)
  • 给阿嬤一封来自云端的信(上)
  • Python装饰器开发实践
  • 终极Win11系统优化指南:免费工具让你的Windows 11运行如飞
  • 游戏编程十年总结(下)
  • 第5章 Function Call 与工具调用框架《AI Agent 开发平台资深技术专家 AI Agent 应用架构师 CTO 面试题库详解》
  • 【安全】Sql注入漏洞的危害和防御
  • GPU监控与进程管理:科研必备的nvidia-smi详解
  • 实测 Claude Sonnet 5 vs Claude Sonnet 4.6:别只看发布公告,API 跑起来才知道差距
  • 打包带在高温环境下会变形吗?
  • Python代码重构最佳实践
  • 简述交换机
  • 从百万行代码库中拯救编译速度:IDEA 2023.3+ Clean Import Pipeline实战(含Gradle/Maven双模自动化校验模板)
  • console.log不可用解决
  • 2026 新版多盘对比命理工具榜:玄易为何更适合高频看盘与合盘场景
  • 【JAVA毕设源码分享】基于Web的社交媒体平台的设计与实现(程序+文档+代码讲解+一条龙定制)
  • AI编曲工具实战:从入门到专业音乐制作
  • 最后的并行查询加载模块BatchQueryLoader直接就是调用上面的异步并行查询执行器BatchQueryExecutor,完成不同数据源的数据并行异步加载,代码如下
  • URL 使用规范
  • Pikachu靶场从入门到精通(五):RCE、XXE、SSRF与反序列化漏洞实战
  • 硬件学习笔记
  • Go escape逃逸分析
  • 孤能子视角:Karpathy LLM Wiki,一个人工观察符自动编织系统
  • 第4章 RAG 检索增强生成全链路架构《AI Agent 开发平台资深技术专家 AI Agent 应用架构师 CTO 面试题库详解》