RAG检索增强生成:让AI精准回答你的私有知识库问题

RAG(Retrieval-Augmented Generation,检索增强生成)是当前企业AI应用中使用最广泛的技术架构之一。其核心思路:在LLM生成回答之前,先从外部知识库中检索相关文档片段,将其作为上下文提供给模型,从而让模型的回答基于真实文档而非训练数据中的”记忆”。这一方案有效缓解了LLM的两大痛点:幻觉(Hallucination)和知识截止日期(Knowledge Cutoff)。

## RAG的标准流程

**文档处理阶段(离线)**:
1. **分块(Chunking)**:将长文档切分为适合嵌入的小块(通常256-1024 tokens),分块策略(固定大小、语义分块、递归分块)直接影响检索质量
2. **嵌入(Embedding)**:用嵌入模型(OpenAI text-embedding-3、BGE、Nomic等)将每个文块转化为高维向量
3. **存储(Indexing)**:将向量存入向量数据库(Chroma、Pinecone、Weaviate、pgvector等)

**检索生成阶段(在线)**:
1. 用户提问 → 问题向量化
2. 向量相似度搜索 → 召回Top-K相关文块
3. 将文块+用户问题组装为提示词
4. LLM生成最终回答,附带引用来源

## 进阶RAG技术

**混合检索(Hybrid Search)**:结合向量语义检索和BM25关键词检索,用RRF(Reciprocal Rank Fusion)融合排序,提升召回率。对于专有名词和精确查询,纯向量检索容易漏检,混合检索效果更稳定。

**重排序(Reranking)**:召回Top-K文块后,用更精细的交叉编码器(Cross-Encoder)模型对文块重排序,选出真正最相关的Top-N。Cohere Rerank、BGE-Reranker等是常用选项。

**GraphRAG(微软)**:将文档内容构建为知识图谱,利用图结构捕捉实体关系,适合需要推理跨文档关联的复杂查询。

**Self-RAG**:模型自主决定何时检索、检索什么,而非对所有查询都强制检索,减少不必要检索对生成质量的干扰。

参见[本地LLM部署](https://sunqi.org/local-llm-deployment-zh/);[AI工作流自动化](https://sunqi.org/ai-workflow-automation-zh/);[LlamaIndex文档](https://docs.llamaindex.ai/)。

上一篇 Zotero with AI: The Reference Manager That Got Better Without Changing
下一篇 Zotero与AI结合:无需改变却变得更好的文献管理工具