适合任务
把“感觉不错”的 Demo 变成“可评估、可解释、可迭代”的项目执行方式。
这页不教你从零入门,而是回答“为什么 Demo 跑通了系统还是不好用”。重点是评估、badcase、实验设计、边界判断和项目落地顺序。
| 版本 | 变更内容 | Recall@3 变化 | MRR 变化 | 结论 / 备注 |
|---|---|---|---|---|
| v3 基线 | ChromaDB + chunk=200 + overlap=40 + text-embedding-3-small | — (基线) | — (基线) | 建立基线数字,后续所有版本与此对比 |
| v4-exp1 | Embedding 换成 BGE-M3(中文领域模型) | +0.08 ↑ | +0.05 ↑ | 中文专业术语场景显著提升;通用问题基本持平;API成本降低 |
| v4-exp2 | Embedding 换成 text-embedding-3-large(更大维度) | +0.03 ↑ | +0.01 ↑ | 提升有限,但成本翻倍。不值得,回退到 exp1 的 BGE-M3 |
| v5-exp1 | 加入 BM25 混合检索(alpha=0.5) | +0.12 ↑ | +0.09 ↑ | 专有名词、产品型号 query 命中率大幅提升;通用 query 无明显变化 |
| v5-exp2 | 调整 alpha=0.3(减少 BM25 权重) | -0.02 ↓ | -0.01 ↓ | alpha=0.5 是更好的配置,保留 |
| v6-exp1 | 加入 bge-reranker(召回 Top-20,精排取 Top-3) | +0.06 ↑ | +0.15 ↑ | MRR 提升显著,正确答案排名更靠前;p99 延迟增加 300ms |
| v7-exp1 | 加入 HyDE 查询改写 | +0.05 ↑ | +0.04 ↑ | 概念性问题提升明显;事实性问题提升不大;额外增加一次 LLM 调用成本 |
| 场景 | 推荐方案 | 不推荐 | 判断依据 |
|---|---|---|---|
| 知识库有限(< 50 页),内容稳定,问题类型固定 | Fine-tuning 或 Prompt Engineering | RAG 过度设计 | 内容少到可以直接放进 System Prompt,RAG 带来的工程复杂度不值得 |
| 私有文档频繁更新(每天有新内容),不能有知识截止 | RAG(增量入库) | Fine-tuning(更新成本太高) | Fine-tuning 每次更新都要重新训练,成本不可接受;RAG 只需要增量 embedding |
| 问题需要精确数字推理(财务计算、代码执行) | Tool Use + 结构化数据库查询 | 纯 RAG(检索文本,无法精确计算) | LLM 算数不可靠;结构化数据应该用 SQL/API 查询,不是向量检索 |
| 知识库超大(百万级文档),延迟敏感(< 200ms) | RAG + 语义缓存 + ANN 优化 + 向量库分级存储 | 朴素 RAG(单节点、无缓存) | 朴素 RAG 在大规模下延迟不可控;需要工程优化 |
| 多文档综合推理(需要跨 5+ 个文档才能回答一个问题) | GraphRAG 或 Agentic RAG(多跳) | 经典单跳 RAG(一次检索搞不定) | 单次检索只能召回局部信息;需要有状态的多轮检索或知识图谱 |
| 高安全合规要求(金融、医疗),不能有任何幻觉 | RAG + 强 Faithfulness 检测 + 人工审核机制 | 完全自动化无人工节点 | LLM 幻觉无法完全消除;高风险场景必须有人工审核兜底 |