← 返回列表

Agentic AI Recruitment Platform:本地 LLM + RAG 的简历解析与岗位匹配招聘平台

DIVYANSHGUPTA-5/agentic-ai-recruitment-platform

GitHub原文发布 未知首次收录 2026-10-03上架 2026-10-03 07:02

☆ 收藏查看项目 ↗

ELI5:它是什么,解决什么问题

该平台将上传的简历(PDF、DOC/DOCX 或 ZIP 批量)通过本地 LM Studio 提供的 LLM 解析为结构化候选人档案,并对简历文本分块、生成 768 维嵌入存入 PostgreSQL + pgvector;匹配时把岗位需求嵌入后做余弦相似度检索,取最相关的简历片段作为证据交给 LLM 评估,LLM 返回技能、经验、教育、领域四个子分数与说明,最终加权总分由代码计算,70 分以上自动进入短名单。配套 GraphQL/REST API、JWT 与 RBAC 角色权限、异步上传处理、React 前端以及可选的 GitHub/LinkedIn/Twitter 外部档案补充。

核心能力与快速开始

★ 1 · Java

能做什么
简历摄入与解析:支持 PDF、DOC/DOCX 单份或 ZIP 批量上传,使用 Apache PDFBox / Apache POI 提取文本,识别空文档或纯扫描件并标记失败。AI 结构化分析:由 LLM 抽取姓名、邮箱、电话、技能、领域知识、教育、经验摘要、工作年限与社交链接。向量化与检索:简历文本按空行和句子边界分块,使用 nomic-embed-text 生成 768 维向量,存入 PostgreSQL 的 pgvector 列(resume_embeddings 表),支持按余弦距离检索。RAG 匹配:把岗位标题、必需技能、学历、领域要求与描述合并为查询文本嵌入,检索候选人最相似的前 3 个片段且相似度阈值 0.5(均可配置),作为匹配提示中的证据。确定性评分:LLM 仅返回技能、经验、教育、领域四个子分数(0–100)及推荐、优势、短板与解释,应用按 0.40/0.25/0.20/0.15 权重计算最终得分,覆盖 LLM 写入的分数;70 分及以上自动进入短名单;LLM 不可用或输出无效时匹配失败而非存 0 分。岗位与流程管理:岗位需求与技能管理、候选人短名单/录用选择、匹配审计历史,以及 INITIATED 到 COMPLETED 的处理进度跟踪。接口与安全:GraphQL(含 GraphiQL)加 REST(认证与文件上传),JWT 无状态认证与 BCrypt 密码哈希,ADMIN、RECRUITER、HIRING_MANAGER、HR 角色访问控制。异步处理:上传经 @Async 处理,并可选启用数据库作业队列与调度器。外部补充:可选的 GitHub、LinkedIn、Twitter/X 与网络搜索档案富化。前端与部署:React 18 + TypeScript + Redux Toolkit/Saga + Vite 前端,Docker Compose 编排 PostgreSQL(pgvector/pgvector:pg15)、应用与 Nginx。
适用场景
招聘方希望在本地处理简历、避免简历数据离开本机的场景。需要按岗位对候选人做可解释排序与评分拆解,而不是只靠关键词筛选的场景。需要把简历语义检索(RAG)与结构化档案结合、给评估器提供原始简历证据的场景。需要在团队内按 ADMIN、RECRUITER、HIRING_MANAGER、HR 区分简历上传与访问权限的场景。需要批量上传简历并异步处理、查看处理进度的场景。希望借助外部公开档案(GitHub、LinkedIn、Twitter/X)补充匹配上下文的场景。
项目形态
可直接使用的工具
部署方式
本地部署。需 PostgreSQL 并启用 pgvector 扩展,LM Studio 在主机上运行并加载聊天与嵌入模型(默认端口 1234,OpenAI 兼容 API)。前端为 Vite 开发服务器,Docker Compose 路径可选,其中 PostgreSQL 使用 pgvector/pgvector:pg15 镜像,LM Studio 仍运行在主机。README 注明 Docker 路径在最近改动后未重新验证。
主要依赖
Java 21、Maven 3.9+、Node.js 20+(前端曾用 Node 22)、npm、带 pgvector 扩展的 PostgreSQL、已下载并加载聊天模型 mistralai/mistral-7b-instruct-v0.3 与嵌入模型 text-embedding-nomic-embed-text-v1.5 的 LM Studio。通过环境变量配置数据库账号密码(DB_USERNAME、DB_PASSWORD)、JWT_SECRET 及 LM Studio 地址与模型名(LLM_STUDIO_BASE_URL、LLM_STUDIO_MODEL、LLM_STUDIO_EMBEDDING_MODEL)。
使用限制
README 明确说明该实现是带可选 LLM“来源选择器”和边界分数二次匹配的检索增强评估,并非完全自主的多 Agent 系统。LLM 只输出子分数,最终分数由代码加权计算;得分由模型输出与固定权重决定,材料未说明模型选择对评分的影响。已知问题:CandidateMatchingServiceTest 有 7 个测试因 mock 设置过时而失败,早于 RAG 相关工作。前端 Vitest 与 Playwright 测试套件在本文档中未重新运行;Docker 部署路径在最近变更后未重新验证。默认管理员账号由 docker/init-rbac.sql 播种,README 要求在任何真实使用前修改。未说明许可证、API 成本或商用条件。数据库表由 Hibernate ddl-auto: update 管理,没有 Flyway/Liquibase,db/migration/V2__add_job_queue.sql 仅作参考、不会自动执行。
许可证
未说明
最近推送
2026-10-02 07:31

资料检查:2026-10-03 07:00 · 卡片整理:2026-10-03 07:00
卡片由 AI 根据仓库资料整理,未进行安装或运行验证 · 本次更新未完成,保留上次成功内容

职业应用

程序员

程序员可以研究或复用该仓库中基于 Spring Boot、Spring AI、pgvector 和 LM Studio 的本地 LLM + RAG 实现,包括简历文本分块与 768 维嵌入、余弦相似度检索、GraphQL/REST API、JWT 与 RBAC 权限、异步上传处理等代码结构,用于构建类似的 AI 应用。

查看内容依据
配套 GraphQL/REST API、JWT 与 RBAC 角色权限、异步上传处理、React 前端以及可选的 GitHub/LinkedIn/Twitter 外部档案补充。

官方使用入口 ↗

由 AI 根据来源材料整理,未进行安装或运行验证

HR

HR 或招聘人员可以用该平台上传 PDF、DOC/DOCX 或 ZIP 批量简历,由本地 LLM 解析为结构化候选人档案,并针对岗位需求进行 RAG 语义匹配,获得技能、经验、教育、领域四个子分数与说明,70 分以上自动进入短名单,从而辅助简历筛选和候选人排序。

查看内容依据
该平台将上传的简历(PDF、DOC/DOCX 或 ZIP 批量)通过本地 LM Studio 提供的 LLM 解析为结构化候选人档案,并对简历文本分块、生成 768 维嵌入存入 PostgreSQL + pgvector;匹配时把岗位需求嵌入后做余弦相似度检索,取最相关的简历片段作为证据交给 LLM 评估,LLM 返回技能、经验、教育、领域四个子分数与说明,最终加权总分由代码计算,70 分以上自动进入短名单。

官方使用入口 ↗

由 AI 根据来源材料整理,未进行安装或运行验证

这是基于来源内容整理的摘要。原文链接失效后,本页摘要和讨论仍会保留。

讨论 0

登录后参与讨论,阅读资讯无需注册。

还没有评论,来分享第一个看法。