简历上传
简历上传是整个系统的入口。它负责保存 PDF / DOCX 文件、判断重复、创建数据库记录,并触发后台解析。
支持格式
- DOCX
不支持的文件类型会返回 400。
上传流程
text
前端选择文件
-> POST multipart/form-data
-> 后端读取文件内容
-> 计算 SHA-256 file_hash
-> 判断是否重复
-> 写入上传目录
-> 创建 Resume 记录,状态 parsing
-> 立即返回
-> 后台解析为什么要后台解析
简历解析包含文件文本提取、LLM 调用、Embedding 调用和 pgvector 写入。批量上传 20 份以上简历时,如果同步等待全部解析完成,Nginx 很容易返回 504。
因此当前设计是:
- 上传请求只负责保存文件和创建记录。
- 后台任务逐份解析。
- 前端每 5 秒轮询简历列表。
重复上传处理
系统使用文件内容 hash,而不是文件名判断重复。
这样即使用户重命名文件,只要内容一致,也会被识别为同一份简历。
前端状态
简历卡片会展示:
- 文件名
- 解析状态
- 摘要或结构化字段兜底信息
- 查看详情
- 删除按钮
列表默认只显示前 5 份,避免批量上传后页面过长。