Mock-Interview
AI 模拟面试系统
2025.12 – 2026.02
Full-Stack Developer
3 months

面试对话界面 — 实时语音交互与动态追问
一个可以在本地跑起来的 AI 面试官。上传简历和知识库文档,它会基于你的背景生成针对性问题,支持实时语音对话,面试结束后输出多维度量化报告。不是玩具——RTX 5080 上端到端延迟约 4 秒,面试成功率 98%。
挑战
核心难点是全链路语音的延迟控制。从用户说话到 AI 回复出声,中间经过 ASR → LLM → TTS 三个模型,任何一环卡住都会破坏对话的自然感。另一个挑战是让 AI 面试官具备真正的追问能力,而不是照着题库念。
方案
WebSocket 双向通信保证语音流的实时性。ASR 用 FunASR 的 2-pass 模型(先出草稿再修正),TTS 用 CosyVoice2 的流式输出(不等整句生成完就开始播放)。LLM 侧做了激进的句子切分和 hedge delay 优化,把首 token 延迟压到 0.29s。追问能力通过 RAG 检索用户简历 + 知识库上下文实现,每轮对话都带完整的面试状态。
技术栈
亮点
- 01
全链路语音:FunASR 2-pass ASR + CosyVoice2 流式 TTS + Ollama 本地推理,端到端延迟 ~4s
- 02
RAG 知识库:异步文档解析、智能分块、向量化入库,SSE 流式输出带引用溯源
- 03
面试 Agent:简历结构化解析 → 定制题目生成 → 多轮动态追问 → 量化报告
- 04
行为监测:实时眼神接触、面部表情、头部姿态分析,纳入最终评估
- 05
GPU 利用率 91%(14.5GB/16GB VRAM),面试会话成功率 98%
成果
完整的面试系统:支持 PDF/Markdown/TXT 简历解析,多轮动态追问,实时行为监测(眼神、表情、头部姿态),自动生成包含内容质量、表达流畅度、行为分析的量化报告。Docker Compose 一键部署 6 个服务。
反思与收获
这个项目让我理解了"延迟即体验"。技术指标上 4 秒的端到端延迟看起来不短,但通过流式输出和视觉反馈,用户感知到的等待远小于实际延迟。工程上最大的收获是学会了在多个异步服务之间做状态编排——6 个 Docker 容器的协调比单体应用复杂一个量级。
在 GitHub 查看→
六服务微架构:React + FastAPI + Ollama + FunASR + CosyVoice2 + 向量数据库

多维度量化面试报告 — 内容质量、表达流畅度、行为分析