1. 向量存储选择
默认的内存向量存储适用于数百个文档的原型验证。生产环境需要外部向量存储:
- Pinecone:托管服务,简单易用,适合快速扩展。
- Weaviate:开源方案,功能丰富,支持混合搜索和过滤。
- Qdrant:高性能,支持过滤和分布式部署。
- pgvector:与 PostgreSQL 集成,减少运维复杂度。
2. 持久化与备份
索引需要持久化存储以避免重启后重建。生产部署应配置适当的备份策略,定期将索引数据备份到可靠的存储系统。
3. 缓存策略
生产系统需要激进的缓存策略来管理成本和延迟:
- 嵌入缓存:存储文档和查询的嵌入向量,避免重复计算。
- 响应缓存:缓存常见查询的完整响应,对语义相似的查询实施缓存命中。
- 索引预热:在服务流量前准备索引,减少冷启动延迟。
4. 可观测性
生产 RAG 管道需要完善的监控:
- 关键指标:查询响应时间、检索准确率、缓存命中率、嵌入模型性能、LLM API 调用统计。
- 分布式追踪:记录查询处理全链路的各个组件性能,帮助定位性能瓶颈。
- 评估指标:持续跟踪 faithfulness(忠实度)、relevancy(相关性)、recall(召回率)等 RAG 评估指标。
5. 错误处理
- 检索失败:向量存储不可用时优雅降级,返回缓存结果或明确提示。
- 合成失败:LLM 调用失败时实施重试和退避策略,准备备用模型。
- 速率限制:对查询端点实施速率限制和身份验证。