- 面向 HR 与面试官的智能招聘助手,覆盖简历解析、岗位匹配、面试题生成与模型切换。
- 引入 Neo4j 知识图谱(预置约 200 个技能节点及依赖关系)作为 HR 匹配的图谱评判依据;
- 引入 Milvus 向量数据库 作为 RAG 知识库,分为“企业特定金融知识”与“通用知识”两部分,支撑面试官题库生成与语义检索。
- 采用 模型适配器模式,可插拔接入多种大模型(当前支持阿里云百炼、OpenAI);新增模型只需实现 Adapter 并注册到 ModelRouter。
- 后端基于 Spring Boot + Spring AI,整合 Milvus/Neo4j/PostgreSQL;前端基于 React + Ant Design。
- 前端:React 18、TypeScript、Vite、Ant Design、Zustand。
- 后端:Spring Boot 3、Spring Security + JWT、Spring AI。
- 数据与存储:PostgreSQL、Neo4j、Milvus。
- 运维:Docker / Docker Compose。
HR 流程:简历/岗位 → Neo4j 知识图谱 → 混合打分(图谱评分 + LLM 评估)
flowchart LR
FE_HR[前端·HR 页面] --> GW_HR[API 网关/路由]
subgraph Backend_HR [后端服务·Spring Boot + Spring AI]
GW_HR --> ResumeSvc[简历解析]
GW_HR --> MatchSvc[匹配/图谱]
GW_HR --> PositionSvc[岗位]
end
MatchSvc --> Neo4j[(Neo4j\n技能图谱)]
MatchSvc --> HybridScore[混合打分\n图谱覆盖率/深度/前置完整度 + LLM 评估]
HybridScore --> ModelRouter[模型路由器]
ModelRouter --> Dashscope[阿里云百炼]
ModelRouter --> OpenAI[OpenAI]
PositionSvc --> PG[(PostgreSQL\n业务数据)]
ResumeSvc --> PG
MatchSvc --> PG
面试官流程:岗位/技能 → RAG(Milvus 题库/技能向量)→ LLM
flowchart LR
FE_INT[前端·面试官页面] --> GW_INT[API 网关/路由]
subgraph Backend_INT [后端服务·Spring Boot + Spring AI]
GW_INT --> InterviewSvc[面试题生成]
GW_INT --> PositionSvc2[岗位]
end
InterviewSvc --> Milvus2[(Milvus\nRAG:题库/技能向量检索)]
InterviewSvc --> ModelRouter2[模型路由器]
ModelRouter2 --> Dashscope2[阿里云百炼]
ModelRouter2 --> OpenAI2[OpenAI]
PositionSvc2 --> PG2[(PostgreSQL\n业务数据)]
HR 通过 Neo4j 图谱进行技能匹配后送入 LLM;面试官流程以 Milvus RAG 检索题库/技能语义,再送入 LLM。
back/:Spring Boot 后端。front/:React 前端。docker/:基础设施与一键部署的 Compose 文件、初始化脚本。
- JDK 21、Maven 3.8+。
- Node.js 18+(含 npm)。
- Docker Desktop(含 Docker Compose)。
详细步骤请参见
DEV_GUIDE.md。
- 启动基础设施(本地开发)
cd docker
docker-compose -f docker-compose.dev.yml up -d- 初始化 Neo4j 知识图谱
- 浏览器执行
docker/neo4j/init.cypher和docker/neo4j/init-skills-extended.cypher,或使用cypher-shell(详见 DEV_GUIDE)。
- 配置大模型 API Key(至少需阿里云百炼,OpenAI 可选)
export DASHSCOPE_API_KEY=你的阿里云百炼API_KEY
export OPENAI_API_KEY=你的OpenAI_API_KEY # 可选- 启动后端(本地开发)
cd back
./mvnw spring-boot:run- 启动前端(本地开发)
cd front
npm install
npm run dev- 全栈 Docker 一键启动(可选)
cd docker
export DASHSCOPE_API_KEY=你的阿里云百炼API_KEY
export OPENAI_API_KEY=你的OpenAI_API_KEY # 可选
docker-compose up -d- Swagger API 文档:
http://localhost:8080/swagger-ui.html - 默认端口:后端 8080,前端 5173(开发)/ 3000(容器),Postgres 15432(dev)/5432(prod compose),Neo4j 7474/7687,Milvus 19530/9091。
(更多启动、调试与排障说明,请查看 DEV_GUIDE.md)
- 引入 SDK 依赖:在
back/pom.xml添加对应模型的官方 SDK 或 HTTP 客户端依赖,并配置密钥环境变量。 - 实现适配器:参考
AliyunAdapter,实现AIModelAdapter接口,封装chat/embedding调用和模型 ID。 - 注册模型:在模型注册/路由处(如
ModelRegistry、ModelRouter)将新 Adapter 注册并开放配置。 - 配置密钥:在
application.yml或环境变量中新增该模型的 API Key/Endpoint。 - 前端暴露:如需在前端选择模型,补充模型枚举/下拉项即可,无需改后端协议。
- 学历:UNSW IT 硕士 + 西南大学本科。
- 职业:Java 后端程序员。
- 博客:[代码丰](https://blog.csdn.net/qq_44716086)。
- 微信号:LQF-dev(随时欢迎骚扰)。
本项目使用 Apache License 2.0。





