朱旭个人招聘知识 Agent
面向 HR 和技术面试官的个人知识问答网站,基于 pgvector + DeepSeek 构建 RAG 服务,支持流式对话和引用溯源。
个人项目
2026.07 — 至今
AI 应用开发 / Python 后端,负责产品定位、网站架构、数据模型、RAG 流程、DeepSeek 接入、pgvector 检索、SSE、Docker Compose 和上线排障。
运行中
系统架构
先看图,再看实现细节项目简介
面向 HR 和技术面试官的个人招聘知识 Agent 网站。通过自然语言对话展示个人项目经历、技能和教育背景,后端使用 FastAPI + DeepSeek LLM,向量检索基于 pgvector,前端支持 SSE 流式输出。
核心能力
- RAG 问答:从
knowledge/中的 Markdown 文档构建 pgvector 向量库,检索相关片段后调用 DeepSeek 生成引用式回答。 - SSE 流式输出:Token 逐字返回,附带引用来源列表,用户可点击溯源到原文档。
- 项目展示:独立 Projects 页面,支持每个项目的详情页、技术栈标签和跳转到 AI 深度问答。
- 反馈闭环:
question_feedback表记录用户对回答的评分与原因,为知识库迭代提供依据。 - 会话记录:
conversations/messages表持久化对话上下文,支持多轮追问。
系统架构
- Web 服务:FastAPI + Jinja2 模板,路由拆分为 pages / chat / projects / feedback / health。
- 数据层:SQLAlchemy 2 async + Alembic 迁移,PostgreSQL 16 + pgvector 扩展承载向量与业务数据。
- RAG 流程:
ingest_knowledge.py分块 → BGE-small-zh-v1.5 本地 embedding → pgvector 存储;查询时召回 Top-K 片段 → 拼装 prompt → DeepSeek 生成 → 引用回填。 - 部署:Docker Compose 编排 Postgres、Web、Nginx;Nginx 反向代理并处理 TLS 证书;HTTP 自动重定向至 HTTPS。
目录结构
personal-agent/
├── app/ # FastAPI 应用(API、services、repositories、core)
├── deploy/ # Nginx 配置、TLS 证书
├── knowledge/ # 知识库 Markdown 源文件
├── migrations/ # Alembic 数据库迁移
├── models/ # 本地 embedding 模型(bge-small-zh-v1.5)
├── scripts/ # 知识库导入等运维脚本
├── static/ # 前端静态资源
├── templates/ # Jinja2 HTML 模板
└── tests/ # pytest 测试及评测题集
技术栈
- 后端:Python 3.12、FastAPI、SQLAlchemy 2(async)、Alembic。
- LLM:DeepSeek API。
- 向量检索:pgvector、BGE-small-zh-v1.5 本地 embedding。
- 数据库:PostgreSQL 16。
- 前端:Jinja2 模板、Server-Sent Events(SSE)流式输出、Tailwind CSS。
- 部署:Docker Compose、Nginx(TLS 反向代理)。
项目价值
该项目将招聘场景中的常见问题(HR 面、技术面、项目细节、简历要点)沉淀到可检索的知识库,通过 Agent 形式让访客随时提问、按需深挖,替代静态简历页的单向展示。同时作为 RAG + FastAPI + pgvector 全链路的端到端实践载体。