64 lines
1.9 KiB
Markdown
Executable File
64 lines
1.9 KiB
Markdown
Executable File
---
|
||
created: 2026-04-28
|
||
type: concept
|
||
tags: [RAG,检索增强生成,LLM,知识库]
|
||
---
|
||
|
||
# RAG(检索增强生成)
|
||
|
||
> Retrieval-Augmented Generation:先检索相关知识,再生成回答
|
||
|
||
## 定义
|
||
|
||
RAG 是一种将外部知识库检索与 LLM 生成相结合的技术架构。它让 LLM 在回答问题前,先从特定知识库中检索相关信息,基于检索到的内容生成更准确、更少幻觉的回答。
|
||
|
||
## 工作流程
|
||
|
||
```
|
||
用户提问 → 向量化 → 检索相关知识块 → 组装 Prompt → LLM 生成回答
|
||
```
|
||
|
||
## 核心组件
|
||
|
||
| 组件 | 说明 |
|
||
|------|------|
|
||
| 文档分块(Chunking) | 将长文档拆分为小块(通常 500-1000 tokens) |
|
||
| 向量化(Embedding) | 用 embedding 模型将文本转为向量 |
|
||
| 向量数据库 | 存储和检索向量(如 FAISS、Pinecone、Chroma) |
|
||
| 检索器 | 根据查询向量找到最相关的知识块 |
|
||
| LLM | 基于检索到的内容生成回答 |
|
||
|
||
## RAG 的演进
|
||
|
||
| 版本 | 特点 |
|
||
|------|------|
|
||
| Naive RAG | 简单检索+生成,容易遗漏上下文 |
|
||
| Advanced RAG | 增加重排序、查询扩展、多路召回 |
|
||
| **GraphRAG** | 引入知识图谱,支持多跳推理和全局理解 |
|
||
| Agentic RAG | 智能体自主决定何时检索、检索什么 |
|
||
|
||
## 优势与劣势
|
||
|
||
| 优势 ✅ | 劣势 ⚠️ |
|
||
|---------|---------|
|
||
| 减少幻觉 | 检索质量直接影响回答质量 |
|
||
| 支持实时知识更新 | 文档分块可能割裂上下文 |
|
||
| 可追溯来源 | 向量相似度≠语义相关性 |
|
||
| 降低 LLM 训练成本 | 无法回答知识库外的全新问题 |
|
||
|
||
## 应用场景
|
||
|
||
- 企业内部知识库问答
|
||
- 客服机器人
|
||
- 文档智能检索
|
||
- 法律/医疗专业问答
|
||
|
||
## 相关概念
|
||
|
||
- [[知识图谱]](GraphRAG 的基础)
|
||
- [[神经网络]](embedding 模型的基础)
|
||
- [[Transformer 架构]](LLM 和 embedding 的共同基础)
|
||
|
||
---
|
||
|
||
*整理自知识库参考资料* |