项目概述
本系统是一个基于 AI 智能体的 HR 面试与候选人智能分析平台,支持历史面试数据导入、按姓名查询、AI 面试官对话、简历智能打分与内部深度分析等功能。
技术架构
| 层级 | 技术 |
|---|---|
| 前端 | Vue 3、Vite、Pinia、Axios |
| 后端 | FastAPI、Uvicorn、SQLite |
| AI | DeepSeek / DashScope (Qwen) |
| 数据处理 | Pandas、python-docx、PyPDF2 |
核心功能
内部人员端
- 面试记录查询:输入投递人姓名,查看所有同名历史面试记录
- 简历智能分析:上传简历文件(doc/docx/pdf),支持四种分析模式:
- 标准分析:从匹配度、得分、点评、问题、建议等维度进行结构化分析
- 指定岗位分析:手动选择岗位类型进行针对性分析
- 通用分析模式:根据文件名自动识别岗位,使用对应画像分析
- 发散分析:自由格式深度洞察,含 Markdown 表格总结
- 深度对话:基于分析结果进行深入面试追问
- 分析归档:历史分析结果查看与导出(Excel、CSV、DOCX)
候选人端
- AI 面试官对话界面
- 面试进度实时反馈
并发处理
使用 ThreadPoolExecutor 并发分析多份简历,线程锁保证数据库写入安全,SSE 流式返回实时进度。
from concurrent.futures import ThreadPoolExecutor
import threading
executor = ThreadPoolExecutor(max_workers=4)
db_lock = threading.Lock()
async def analyze_batch(files):
futures = [executor.submit(analyze_single, f) for f in files]
for future in as_completed(futures):
yield future.result()项目结构
HR/
├── frontend/ # Vue 3 前端
│ ├── src/
│ └── package.json
├── backend/ # FastAPI 后端
│ ├── app/
│ └── requirements.txt
└── data/ # SQLite 数据
使用方法
# 启动后端
cd backend && uvicorn app.main:app --reload
# 启动前端
cd frontend && npm run dev当前状态
生产可用,持续迭代优化中。
相关链接
最后更新: 2026-04-09