← 返回工具列表

📚 RAG 技术完全指南 2025

检索增强生成 (Retrieval-Augmented Generation) 技术详解

什么是 RAG?

RAG(检索增强生成)是一种将大语言模型(LLM)与外部知识库结合的技术。它通过在生成回答前先检索相关文档,让 AI 能够基于最新、准确的信息回答问题,有效解决 LLM 的知识截止日期问题和"幻觉"问题。RAG 已成为企业级 AI 应用的核心技术。

80%+
准确率提升
90%
幻觉减少
实时
知识更新
10x
开发效率

🔄 RAG 工作流程

📄
文档加载
PDF/网页/数据库
✂️
文本分块
Chunking
🔢
向量化
Embedding
💾
存储索引
Vector DB
🔍
相似检索
Retrieval
🤖
LLM 生成
Generation

🛠️ RAG 开发框架

LangChain
最流行
全栈 RAG 框架
最流行的 LLM 应用开发框架,提供完整的 RAG 工具链,文档加载器、分割器、向量存储、检索器一应俱全。
Python/JS 100+ 集成 LangSmith LangGraph
访问官网
LlamaIndex
RAG 专精
数据索引框架
专注于 RAG 的数据框架,特别擅长复杂数据结构的索引和查询,支持图索引、树索引等高级检索。
数据连接器 高级索引 查询引擎 Agent
访问官网
Haystack
企业级
端到端 NLP 框架
deepset 出品的企业级 NLP 框架,Pipeline 设计灵活,支持混合检索,生产环境稳定。
Pipeline 混合检索 企业支持 评估工具
访问官网
RAGFlow
开源
开源 RAG 引擎
国产开源 RAG 引擎,深度文档理解能力强,支持复杂格式解析,可视化知识库管理。
深度解析 可视化 多格式 本地部署
GitHub
Dify
开源
LLMOps 平台
开源的 LLM 应用开发平台,可视化编排 RAG 流程,支持多种模型,内置知识库管理。
可视化编排 知识库 多模型 API 部署
访问官网
FastGPT
开源
知识库问答平台
国产开源知识库问答系统,开箱即用,支持可视化流程编排,适合快速搭建企业知识库。
开箱即用 流程编排 多租户 插件系统
访问官网

💾 向量数据库

Pinecone
云服务
托管向量数据库
最流行的托管向量数据库,无需运维,性能优秀,企业级可靠性。
Serverless 高性能 混合搜索
访问官网
Milvus
开源
分布式向量数据库
云原生向量数据库,支持万亿级向量,性能卓越,Zilliz 提供云服务。
万亿级 云原生 GPU 加速
访问官网
Weaviate
开源
AI 原生向量数据库
AI 原生设计,支持多模态,内置向量化模块,GraphQL 接口友好。
多模态 内置向量化 GraphQL
访问官网
Qdrant
开源
高性能向量数据库
Rust 编写的高性能向量数据库,过滤功能强大,资源占用低。
Rust 高性能 过滤强
访问官网
Chroma
开源
轻量向量数据库
开发者友好的嵌入式向量数据库,API 简洁,适合快速原型开发。
嵌入式 简单易用 开发友好
访问官网
pgvector
开源
PostgreSQL 扩展
PostgreSQL 的向量搜索扩展,无需额外数据库,适合已有 PG 基础设施的团队。
PostgreSQL SQL 兼容 易集成
GitHub

🔢 Embedding 模型

模型 维度 提供商 特点 开源
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,二进制量化

📖 核心概念

📄 Chunking 分块策略

将长文档切分为适合检索的小块。常用策略:固定大小、语义分块、递归分块。块大小通常 200-1000 tokens,需考虑重叠。

🔍 Hybrid Search 混合检索

结合向量相似度搜索(语义)和关键词搜索(BM25),兼顾语义理解和精确匹配,效果优于单一检索。

📊 Reranking 重排序

使用 Cross-Encoder 对初检结果重新排序,提升召回质量。常用模型:Cohere Rerank、bge-reranker。

🔄 Query Transformation

改写用户查询以提升检索效果。技术包括:HyDE(假设文档)、Query Expansion、Multi-Query。

🧠 Contextual Retrieval

Anthropic 提出,为每个 chunk 添加上下文说明,显著提升检索准确率,减少 49% 检索失败。

📈 Evaluation 评估

关键指标:召回率、精确率、MRR、NDCG。评估框架:RAGAS、TruLens。需要构建标注数据集。

💻 代码示例

# 使用 LangChain 构建简单 RAG 系统 from langchain_community.document_loaders import PyPDFLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_openai import OpenAIEmbeddings, ChatOpenAI from langchain_community.vectorstores import Chroma from langchain.chains import RetrievalQA # 1. 加载文档 loader = PyPDFLoader("document.pdf") documents = loader.load() # 2. 文本分块 text_splitter = RecursiveCharacterTextSplitter( chunk_size=500, chunk_overlap=50 ) chunks = text_splitter.split_documents(documents) # 3. 创建向量存储 embeddings = OpenAIEmbeddings() vectorstore = Chroma.from_documents(chunks, embeddings) # 4. 构建 RAG 链 llm = ChatOpenAI(model="gpt-4o") qa_chain = RetrievalQA.from_chain_type( llm=llm, retriever=vectorstore.as_retriever(search_kwargs={"k": 3}) ) # 5. 查询 response = qa_chain.invoke("这份文档的主要内容是什么?")

⚡ 高级 RAG 技术

🌲 Graph RAG

结合知识图谱,捕获实体间关系。适合需要推理的复杂查询,Microsoft 已开源 GraphRAG。

🔄 Agentic RAG

使用 AI Agent 动态规划检索策略,可以迭代检索、多跳推理,处理复杂问题。

📝 Self-RAG

模型自我反思检索需求和结果质量,决定是否需要检索、评估检索结果是否相关。

🎯 CRAG (Corrective RAG)

评估检索文档相关性,触发网络搜索补充,自动纠正低质量检索结果。

💡 RAG 最佳实践

🚀 开始构建你的 RAG 应用

选择合适的工具栈,快速搭建智能问答系统

LangChain LlamaIndex Dify