Ch13 RAG修订于 二〇二六年七月二日

13.15 RAG 生产部署

从 Jupyter Notebook 里的 Demo 到生产环境可用的系统,中间有一大段路要走。这一节讲 2026 年 RAG 生产部署的实践建议。

13.15.1 2026 RAG 技术栈推荐

入门级(个人项目 / MVP):

  • 向量数据库:Chroma(开源,Python 原生,零配置)
  • Embedding:OpenAI text-embedding-3-small($0.02/1M token,性价比最高)
  • LLM:GPT-4o-mini 或 Claude Haiku(便宜,够用)
  • 框架:LangChain 或 LlamaIndex(二选一,不用纠结)
  • 重排序:先用混合检索,不加重排序

生产级(企业应用 / 高流量):

  • 向量数据库:Milvus(开源,十亿级,分布式)或 Pinecone(商业,免运维)
  • Embedding:BGE-M3(开源,多语言,中文领先)或 Cohere Embed v3(商业,多语言最佳)
  • 稀疏检索:Elasticsearch BM25(与向量数据库配合)
  • 重排序:bge-reranker-v2-m3(中文)或 Cohere Rerank 3(多语言)
  • LLM:GPT-4o 或 Claude Sonnet(质量优先)或 DeepSeek-V3(国产替代)
  • 框架:LangChain + LangSmith(调试追踪)或 LlamaIndex + LlamaCloud
  • 监控:Langfuse(开源,LLM 可观测性)或 Helicone

13.15.2 向量数据库选型

数据库类型规模部署中文支持2026 推荐场景
Chroma开源小-中本地一般个人项目、原型
Qdrant开源中-大本地/云好中型生产环境
Milvus开源大-超大分布式好大型生产环境
Pinecone商业大-超大云好免运维,预算充足
Weaviate开源中-大本地/云一般需要 Hybrid Search 原生支持
Elasticsearch开源/商业大-超大分布式好已有 ES 基础设施的团队

选型建议:从 Chroma 或 Qdrant 开始(简单),到 Milvus(规模大),到 Pinecone(不想运维)。不要一开始就选最复杂的——向量数据库迁移很痛苦,但早期你不需要十亿级的能力。

13.15.3 Embedding 模型选型

模型维度最大输入多语言中文成本2026 推荐场景
OpenAI text-embedding-3-small512/15368191好好商业通用,性价比最高
OpenAI text-embedding-3-large256/1024/30728191好好商业高质量要求
BGE-M310248192很好最好开源中文场景首选
Cohere Embed v31024512最好好商业多语言,最高质量
Jina embeddings v310248192很好好开源长文档,Late Chunking
BGE-Large-zh-v1.51024512中文最好开源轻量中文场景

选型建议:中文场景 BGE-M3(开源免费,质量好),多语言场景 Cohere Embed v3(商业,质量最高)。如果预算有限,OpenAI text-embedding-3-small 是安全的选择。

13.15.4 监控和运维

RAG 系统上线后,你需要持续监控:

关键指标:

  • 检索延迟(P50/P95/P99):超过 500ms 用户就会感觉慢
  • 检索召回率(抽样评估):每周抽样 100 个查询,人工检查检索结果
  • 答案忠实度(RAGAS 自动评估):每天自动评估,发现异常及时告警
  • 用户反馈:点赞/点踩比例,复制答案的比例(间接指标)

常见问题和解决方案:

  • 检索质量下降:通常是知识库膨胀导致。检查是否有新的、不相关的文档进入了索引。定期清理知识库。
  • 答案出现幻觉:检查重排序是否正常工作,Prompt 模板中的指令是否被 LLM 忽略。增加”如果不知道就说不知道”的指令。
  • 延迟增加:检查向量数据库是否过载,检索结果数量是否太大。增加缓存(热门问题缓存搜索结果)。
  • 成本过高:检查 Embedding 和 LLM 的调用量。对常见问题做缓存,减少重复调用。考虑用更便宜的模型处理简单查询。

13.15.5 缓存策略

RAG 系统有两个天然的缓存点:

  • 查询缓存:相同或相似的问题,直接返回缓存的答案。用 Embedding 做语义去重——两个问题相似度 > 0.95 就认为是同一个问题。
  • 文档缓存:检索结果缓存。同一个文档被频繁检索,把它的 Embedding 和内容缓存在内存中。

2026 年建议:缓存是 RAG 系统性价比最高的优化。20-30% 的查询可以被缓存命中(取决于你的场景),直接省掉检索和 LLM 生成的成本。


← 上一节:13.14 RAG vs 微调 vs 长上下文 | 下一节:13.16 动手搭一个 RAG →

关联5

知识图谱

局部图谱 · 点节点跳转