检索增强生成 (Retrieval-Augmented Generation) 技术详解
RAG(检索增强生成)是一种将大语言模型(LLM)与外部知识库结合的技术。它通过在生成回答前先检索相关文档,让 AI 能够基于最新、准确的信息回答问题,有效解决 LLM 的知识截止日期问题和"幻觉"问题。RAG 已成为企业级 AI 应用的核心技术。
| 模型 | 维度 | 提供商 | 特点 | 开源 |
|---|---|---|---|---|
| text-embedding-3-large | 3072 | OpenAI | 性能最佳,支持维度缩减 | ✗ |
| voyage-3 | 1024 | Voyage AI | 检索优化,MTEB 领先 | ✗ |
| bge-m3 | 1024 | BAAI (智源) | 多语言,稀疏+稠密 | ✓ |
| e5-mistral-7b | 4096 | Microsoft | 基于 LLM,效果优秀 | ✓ |
| jina-embeddings-v3 | 1024 | Jina AI | 8K 上下文,多任务 | ✓ |
| mxbai-embed-large | 1024 | Mixedbread | Matryoshka,二进制量化 | ✓ |
将长文档切分为适合检索的小块。常用策略:固定大小、语义分块、递归分块。块大小通常 200-1000 tokens,需考虑重叠。
结合向量相似度搜索(语义)和关键词搜索(BM25),兼顾语义理解和精确匹配,效果优于单一检索。
使用 Cross-Encoder 对初检结果重新排序,提升召回质量。常用模型:Cohere Rerank、bge-reranker。
改写用户查询以提升检索效果。技术包括:HyDE(假设文档)、Query Expansion、Multi-Query。
Anthropic 提出,为每个 chunk 添加上下文说明,显著提升检索准确率,减少 49% 检索失败。
关键指标:召回率、精确率、MRR、NDCG。评估框架:RAGAS、TruLens。需要构建标注数据集。
结合知识图谱,捕获实体间关系。适合需要推理的复杂查询,Microsoft 已开源 GraphRAG。
使用 AI Agent 动态规划检索策略,可以迭代检索、多跳推理,处理复杂问题。
模型自我反思检索需求和结果质量,决定是否需要检索、评估检索结果是否相关。
评估检索文档相关性,触发网络搜索补充,自动纠正低质量检索结果。