项目概述
这是一个基于 Spring Boot 4.0、Java 21 和 Spring AI 2.0 构建的 AI 智能面试辅助平台。系统旨在提供从简历分析到模拟面试的全流程支持,并集成了 RAG(检索增强生成)知识库问答功能。
核心功能
- 智能简历分析:上传简历后,AI 自动进行多维度评分并给出改进建议。
- 模拟面试系统:基于简历内容生成个性化面试题,支持实时问答和答案评估。
- RAG 知识库问答:上传技术文档构建私有知识库,支持向量检索增强的智能问答。

系统架构
系统采用前后端分离架构,整体分为三层:前端展示层、后端服务层、数据存储层。

后端层
- REST Controllers:统一的 API 入口,处理 HTTP 请求。
- 业务服务层:
Resume Service:简历上传、解析、AI 分析。Interview Service:面试会话管理、问题生成、答案评估。Knowledge Service:知识库上传、文本分块、向量化。RAG Chat Service:检索增强生成,流式问答。
- 异步处理层:基于 Redis Stream 的消费者,异步处理耗时的 AI 任务(如简历分析、向量化、面试评估)。
- AI 集成层:Spring AI + DashScope(通义千问)。统一的 LLM 调用接口,支持对话生成和文本向量化。
数据存储层
- PostgreSQL + pgvector:
- 关系数据:简历、面试记录、知识库元数据。
- 向量检索:存储文档向量,支持相似度搜索。
- Redis:
- 会话缓存:面试会话状态。
- 消息队列:Redis Stream 实现异步任务队列。
- RustFS/MinIO (S3):原始文件(简历 PDF、知识库文档)。
异步处理流程
简历分析、知识库向量化和面试报告生成采用 Redis Stream 异步处理。以简历分析和知识库向量化为例,整体流程如下:
上传请求 → 保存文件 → 发送消息到 Stream → 立即返回 ↓ Consumer 消费消息 ↓ 执行分析/向量化任务 ↓ 更新数据库状态 ↓ 前端轮询获取最新状态
状态流转:PENDING → PROCESSING → COMPLETED / FAILED










