数据流
上传与解析数据流
- 前端把多份 PDF / DOCX 通过
multipart/form-data上传。 - 后端读取文件内容并计算 SHA-256。
- 后端通过
position_id + file_hash判断重复。 - 新文件写入上传目录。
- 数据库创建
Resume记录,状态为parsing。 - 接口立即返回。
- 后台任务提取文本、调用 LLM、写入结构化结果。
- 后台任务构造向量文档并写入 pgvector。
- 前端轮询简历列表,状态更新为
parsed或failed。
筛选数据流
- 用户输入岗位需求或自然语言筛选条件。
- 后端使用查询增强生成更适合检索的短查询。
- 每条查询进入 pgvector 相似度检索。
- 召回结果按简历 ID 去重。
- 必要时退化为读取岗位下全部简历。
- 结构化字段执行硬筛。
- LLM 对候选人进行精排。
- 前端展示候选人卡片。
对比数据流
- 前端传入
resume_ids数组。 - 后端查询每份简历的
parsed_data。 - 构造多人对比提示词。
- LLM 输出每位候选人的优势、风险和最终建议。
Agent 数据流
- 前端向
/sessions/{session_id}/chat发送用户消息。 - Agent 使用 LLM 判断调用哪个工具。
- 工具执行搜索、对比或出题。
- 后端用 NDJSON 持续返回消息。
- 前端逐条渲染
thinking、tool_call、resume_card、text、done。