Skip to content

数据流

上传与解析数据流

  1. 前端把多份 PDF / DOCX 通过 multipart/form-data 上传。
  2. 后端读取文件内容并计算 SHA-256。
  3. 后端通过 position_id + file_hash 判断重复。
  4. 新文件写入上传目录。
  5. 数据库创建 Resume 记录,状态为 parsing
  6. 接口立即返回。
  7. 后台任务提取文本、调用 LLM、写入结构化结果。
  8. 后台任务构造向量文档并写入 pgvector。
  9. 前端轮询简历列表,状态更新为 parsedfailed

筛选数据流

  1. 用户输入岗位需求或自然语言筛选条件。
  2. 后端使用查询增强生成更适合检索的短查询。
  3. 每条查询进入 pgvector 相似度检索。
  4. 召回结果按简历 ID 去重。
  5. 必要时退化为读取岗位下全部简历。
  6. 结构化字段执行硬筛。
  7. LLM 对候选人进行精排。
  8. 前端展示候选人卡片。

对比数据流

  1. 前端传入 resume_ids 数组。
  2. 后端查询每份简历的 parsed_data
  3. 构造多人对比提示词。
  4. LLM 输出每位候选人的优势、风险和最终建议。

Agent 数据流

  1. 前端向 /sessions/{session_id}/chat 发送用户消息。
  2. Agent 使用 LLM 判断调用哪个工具。
  3. 工具执行搜索、对比或出题。
  4. 后端用 NDJSON 持续返回消息。
  5. 前端逐条渲染 thinkingtool_callresume_cardtextdone