Skip to content

数据模型

系统主要使用 PostgreSQL 存储岗位、简历、会话和筛选结果,使用 pgvector 保存向量文档。

job_positions

岗位表。

字段说明
id岗位 ID
title岗位名称
department部门
requirements岗位要求
created_at创建时间

resumes

简历表。

字段说明
id简历 ID
position_id所属岗位
file_name原始文件名
file_hash文件内容 SHA-256
file_path服务端文件路径
file_typepdfdocx
raw_text提取出的原始文本
parse_statuspending / parsing / parsed / failed
parsed_dataLLM 结构化解析结果
parse_error解析失败原因
created_at创建时间

screening_sessions

Agent 对话会话表。

字段说明
id会话 ID
position_id绑定岗位
title会话标题
created_at创建时间

screening_results

筛选结果表,当前主要用于预留落库和删除清理。

字段说明
id结果 ID
session_id关联会话
resume_id关联简历
match_score匹配分
match_reasons匹配理由
weaknesses风险或短板
created_at创建时间

langchain_pg_embedding

LangChain PGVector 自动维护的向量表。系统把 resume_idposition_id 写入 metadata,便于按岗位检索和删除时清理。

去重策略

系统通过 position_id + file_hash 判断同一岗位下是否重复上传同一份简历。

为防止并发上传时重复插入,后端使用 PostgreSQL advisory lock 对同一岗位、同一 hash 加锁。