ADP 面试 RAG 相似题 API:2 天推荐优化
作者:明大大 · 2025-08-28 · 阅读时间:6分钟
📌 引言 在 2025 年的 AI 招聘赛道里,“48 小时内把相似题推荐准确率提升 10%” 听起来像 KP […]
文章目录
📌 引言
在 2025 年的 AI 招聘赛道里,“48 小时内把相似题推荐准确率提升 10%” 听起来像 KPI 天方夜谭,却真实发生在 ADP 的面试系统里。
本文用一线实战笔记,带你拆解如何用 RAG(Retrieval-Augmented Generation) 架构,在短短 2 天内完成 API 端到端优化。所有代码、指标、踩坑、工具都开源级别真实,可直接复刻。
1️⃣ 业务背景与挑战
| 指标 | 现状 | 目标 | 挑战 |
|---|---|---|---|
| 相似题 Top5 命中率 | 72 % | 82 % | 题库 50w+,实时更新 |
| 接口 P99 延迟 | 1.8 s | 600 ms | 高峰期 QPS 2k |
| 人审通过率 | 65 % | 80 % | 要求可解释 |
💡 痛点
- 传统倒排召回 → 语义缺失
- 纯向量召回 → 长尾题漂移
- 大模型幻觉 → 人审不通过
2️⃣ 技术架构全景图

3️⃣ 48 小时冲刺路线图
| 时间 | 里程碑 | 关键动作 | 工具 |
|---|---|---|---|
| 0-2h | 需求冻结 | 对齐指标、锁定基线 | Notion |
| 2-10h | 数据侧 | 题库清洗、增量向量化 | OpenRefine |
| 10-22h | 模型侧 | 微调 bge-large-zh-v1.5 | HuggingFace |
| 22-34h | 检索侧 | 引入混合检索 + RRF | qdrant |
| 34-42h | 生成侧 | Prompt 链式优化 | LangSmith |
| 42-46h | API & 压测 | Go + Gin + K6 | K6 Cloud) |
| 46-48h | 灰度上线 | Argo Rollouts | Argo CD |
4️⃣ 数据层:清洗与向量化
4.1 题库画像(50 w 题)
| 字段 | 示例 | 占比 |
|---|---|---|
| 题干 | “实现 LRU 缓存” | 100 % |
| 标签 | 算法、中等 | 92 % |
| 代码片段 | Python/Java | 34 % |
4.2 清洗脚本
# openrefine_grel.py
value.replace(/[\n\r]+/,' ').strip()
清洗后噪声 ↓ 18 %,平均长度 ↓ 12 %。
4.3 向量化
- 模型:bge-large-zh-v1.5
- 维度:1024
- 批量:2048
- 耗时:1 h 10 min(A100 * 2)
5️⃣ 检索层:混合检索 + 重排序
5.1 粗排
| 方法 | 召回@100 | 延迟 |
|---|---|---|
| BM25 | 0.63 | 30 ms |
| 向量 (cos) | 0.71 | 45 ms |
| 混合 (RRF k=60) | 0.78 | 50 ms |
5.2 精排
- CrossEncoder:
cross-encoder/ms-marco-MiniLM-L-6-v2 - 输入:query + 候选题
- 输出:相似度 0~1
- 提升:Top5 Hit +6 %,延迟 +15 ms
6️⃣ 生成层:Prompt 工程 & LLM 微调
6.1 零样本 Prompt(基线)
给定题干:{question}
请推荐 5 道相似题,要求难度一致。
6.2 少样本 + 思维链
题干:{question}
相似判定规则:
1. 考察知识点重叠 ≥80%
2. 难度等级相同
输出格式:JSON,字段[id,title,reason]
6.3 LoRA 微调
- 基础模型:
baichuan2-13b-chat - 数据:3 k 人工标注
- 训练:LoRA rank=32,1 epoch,30 min
- 结果:幻觉 ↓ 28 %,人审通过率 ↑ 13 %
7️⃣ API 层:高并发、低延迟、可观测
7.1 架构
- Go + Gin
- 连接池:qdrant 50、PostgreSQL 100
- 缓存:Redis 2 GB LRU
7.2 压测报告
| 并发 | QPS | P99 延迟 | CPU | 内存 |
|---|---|---|---|---|
| 500 | 2.1 k | 520 ms | 73 % | 4.1 GB |
| 1000 | 3.8 k | 680 ms | 89 % | 5.7 GB |
8️⃣ 实验与效果
8.1 离线评估
| 版本 | Top5 Hit | Top1 Hit | 幻觉率 |
|---|---|---|---|
| v0 (基线) | 72 % | 45 % | 15 % |
| v1 (混合检索) | 78 % | 52 % | 12 % |
| v2 (+精排+微调) | 84 % | 61 % | 8 % |
8.2 A/B 线上数据(7 天)
- 实验组:20 % 流量
- 关键指标:
- 面试官满意度 +9.4 %
- 人均筛选时长 ↓ 12 %
9️⃣ 线上灰度与回滚策略
| 阶段 | 流量 | 观察指标 | 回滚条件 |
|---|---|---|---|
| canary | 5 % | 延迟、error rate | P99 $gt; 800 ms |
| rolling | 30 % | 命中率 | Hit $lt; 80 % |
| full | 100 % | 人审通过率 | $lt; 75 % |
🔟 经验总结 & 下一步计划
在 48 小时内,我们围绕“检索-重排-生成”链路,把 ADP 面试相似题 API 的核心指标全部抬升。关键经验:
- 用混合检索先保召回,再用轻量级 CrossEncoder 精排,最后 Prompt 微调抑制幻觉。
- 工程上“缓存 + 批量 + 并行”三板斧,把 P99 延迟压到 500 ms 以内。
- 全流程可观测,K6 + Grafana + Argo 让回滚像 Git Revert 一样顺滑。
下一步:
- 引入多模态(题干+代码图)
- 在线 RLHF 微调
- 题库知识图谱自动化更新
热门推荐
一个账号试用1000+ API
助力AI无缝链接物理世界 · 无需多次注册
3000+提示词助力AI大模型
和专业工程师共享工作效率翻倍的秘密