Files
llm_wiki/wiki/RAG.md
T

402 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
categories:
- '[[LLM Wiki]]'
tags:
- wiki
- concept
- rag
- retrieval-augmented-generation
- llm
- knowledge-base
created: 2026-04-20
source: '[[教学大模型发展状况深度研究报告-20260415]]'
type: concept
aliases:
- RAG
- 检索增强生成
- Retrieval-Augmented Generation
relations:
- type: part_of
target: '[[教学大模型]]'
description: 同源:教学大模型发展状况深度研究报告-20260415
confidence: 3
- type: extends
target: '[[教学大模型]]'
confidence: 2
- type: extends
target: '[[知识图谱]]'
confidence: 2
---
[raw:教学大模型发展状况深度研究报告-20260415:512]# RAG(检索增强生成)
RAGRetrieval-Augmented Generation, 检索增强生成)是一种结合检索和生成的大语言模型增强技术,通过从外部知识库检索相关信息来补充生成过程。在教育AI中,RAG是解决LLM幻觉问题、提高回答准确性的关键技术。
## 定义
RAG 通过在生成答案前,先从外部知识库检索相关信息,然后用这些信息作为上下文来生成回答。这样可以:
- 减少幻觉(Hallucination
- 提高准确性
- 增强可解释性
- 支持知识更新
## 核心流程
```
┌─────────────────────────────────────────────────────────────┐
│ RAG 完整流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 用户输入问题 │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 检索阶段(Retrieval │ │
│ │ • 问题理解 │ │
│ │ • 向量化(Embedding │ │
│ │ • 相似度搜索(ANN) │ │
│ │ • Top-K 文档筛选 │ │
│ │ • 上下文拼接 │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 生成阶段(Generation │ │
│ │ • 构建提示(Prompt with Context │ │
│ │ • LLM 生成答案 │ │
│ │ • 答案验证(可选) │ │
│ │ • 源引用(可选) │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ 返回答案 + 检索到的相关信息 │
│ │
└─────────────────────────────────────────────────────────────┘
```
## RAG 在教育中的应用
### 1. 知识问答
```
问题:"牛顿第二定律是什么?"
RAG检索:
- 检索到:物理学教科书中的牛顿第二定律定义
- 检索到:相关例题和解释
LLM生成:
"根据物理学教科书,牛顿第二定律是:F = ma
其中F是力,m是质量,a是加速度。
(来源:物理学基础教材 第3章)"
```
### 2. 作业辅导
```
问题:"解方程 2x + 5 = 13"
RAG检索:
- 检索到:一元一次方程的解题步骤
- 检索到:相关例题
LLM生成:
"让我们一步步解这个方程:
步骤1:将5移到右边:2x = 13 - 5 = 8
步骤2:两边除以2x = 8/2 = 4
验证:2×4 + 5 = 8 + 5 = 13 ✓
(基于教材:代数基础 第5章)"
```
### 3. 概念解释
```
问题:"什么是导数?"
RAG检索:
- 检索到:微积分教材中的导数定义
- 检索到:几何意义和应用
LLM生成:
"导数是函数在某一点的变化率。
数学定义:f'(x) = lim(Δx→0) [f(x+Δx) - f(x)]/Δx
几何意义:函数图像在该点的切线斜率。
(来源:微积分导论 第7章)"
```
## RAG 的关键组件
### 1. 知识库构建
| 类型 | 说明 | 示例 |
|
------|
------|------|
| **结构化知识** | 教科书、教材、课程 | 数学、物理教材 |
| **半结构化知识** | 题库、案例 | 习题库、实验报告 |
| **非结构化知识** | 论文、研究文献 | 教育研究论文 |
### 2. 向量数据库
用于存储和检索知识:
```
知识条目向量化:
"牛顿第二定律" → 向量 [0.1, -0.3, 0.5, ...]
"F = ma" → 向量 [0.2, -0.1, 0.4, ...]
...
存储到向量数据库(如 Pinecone, Weaviate, FAISS
```
### 3. 检索算法
| 算法 | 特点 | 适用场景 |
|------|------|----------|
| **余弦相似度** | 计算简单,语义匹配 | 通用检索 |
| **混合检索** | 关键词+语义结合 | 精准定位 |
| **重排序(Rerank** | 两阶段检索提高精度 | 高质量要求 |
### 4. 生成增强
```python
# RAG 提示模板
prompt = f"""
基于以下知识回答问题,不要使用知识之外的信息。
知识:
{retrieved_context}
问题:{user_question}
请提供详细解答,并引用使用的知识来源。
"""
```
## RAG 的优势
1. **减少幻觉**:基于检索到的知识生成,限制模型"编造"
2. **提高准确性**:知识库提供权威、准确的信息
3. **可解释性强**:可以显示答案的来源和依据
4. **易于更新**:更新知识库即可更新知识,无需重新训练模型
5. **成本效益**:相比重新训练,更新知识成本更低
## 关键挑战
1. **检索质量**:检索不到相关知识或检索结果不相关
2. **上下文长度**:检索信息超出上下文窗口
3. **延迟增加**:检索步骤增加响应时间
4. **知识质量**:知识库本身的质量和准确性问题
## LLM教育中的RAG实践
| 产品 | RAG应用 |
|------|----------|
| **Khanmigo** | 双重监控 + 知识图谱约束 |
| **Duolingo Max** | Birdbrain + 知识检索 |
| **小猿AI** | 知识图谱 + 错因分析 |
| **讯飞星火** | 知识图谱 + 超级对齐 |
## 技术优化方向
1. **混合检索**:关键词检索 + 语义检索
2. **重排序(Reranking**:两阶段检索提高精度
3. **知识图谱增强**:结合知识图谱的推理能力
4. **多模态RAG**:检索文本、图像、视频等多模态信息
5. **增量更新**:实时更新知识库而不重建向量索引
## 相关概念
- [[教学大模型]] — 应用RAG的AI教育系统
- [[知识图谱]] — RAG的知识基础
- [[知识追踪]] — 结合RAG动态更新知识状态
- [[Khanmigo]] — RAG+苏格拉底式教学案例
- [[知识空间理论]] — 知识结构形式化
## 来源
- [[教学大模型发展状况深度研究报告-20260415]] — RAG在教育中的应用、幻觉问题缓解
[raw:教学大模型发展状况深度研究报告-20260415:512]# RAG(检索增强生成)
RAGRetrieval-Augmented Generation, 检索增强生成)是一种结合检索和生成的大语言模型增强技术,通过从外部知识库检索相关信息来补充生成过程。在教育AI中,RAG是解决LLM幻觉问题、提高回答准确性的关键技术。
## 定义
RAG 通过在生成答案前,先从外部知识库检索相关信息,然后用这些信息作为上下文来生成回答。这样可以:
- 减少幻觉(Hallucination
- 提高准确性
- 增强可解释性
- 支持知识更新
## 核心流程
```
┌─────────────────────────────────────────────────────────────┐
│ RAG 完整流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 用户输入问题 │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 检索阶段(Retrieval │ │
│ │ • 问题理解 │ │
│ │ • 向量化(Embedding │ │
│ │ • 相似度搜索(ANN) │ │
│ │ • Top-K 文档筛选 │ │
│ │ • 上下文拼接 │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ 生成阶段(Generation │ │
│ │ • 构建提示(Prompt with Context │ │
│ │ • LLM 生成答案 │ │
│ │ • 答案验证(可选) │ │
│ │ • 源引用(可选) │ │
│ └─────────────────────────────────────────────────────┘ │
│ ↓ │
│ 返回答案 + 检索到的相关信息 │
│ │
└─────────────────────────────────────────────────────────────┘
```
## RAG 在教育中的应用
### 1. 知识问答
```
问题:"牛顿第二定律是什么?"
RAG检索:
- 检索到:物理学教科书中的牛顿第二定律定义
- 检索到:相关例题和解释
LLM生成:
"根据物理学教科书,牛顿第二定律是:F = ma
其中F是力,m是质量,a是加速度。
(来源:物理学基础教材 第3章)"
```
### 2. 作业辅导
```
问题:"解方程 2x + 5 = 13"
RAG检索:
- 检索到:一元一次方程的解题步骤
- 检索到:相关例题
LLM生成:
"让我们一步步解这个方程:
步骤1:将5移到右边:2x = 13 - 5 = 8
步骤2:两边除以2x = 8/2 = 4
验证:2×4 + 5 = 8 + 5 = 13 ✓
(基于教材:代数基础 第5章)"
```
### 3. 概念解释
```
问题:"什么是导数?"
RAG检索:
- 检索到:微积分教材中的导数定义
- 检索到:几何意义和应用
LLM生成:
"导数是函数在某一点的变化率。
数学定义:f'(x) = lim(Δx→0) [f(x+Δx) - f(x)]/Δx
几何意义:函数图像在该点的切线斜率。
(来源:微积分导论 第7章)"
```
## RAG 的关键组件
### 1. 知识库构建
| 类型 | 说明 | 示例 |
|------|------|------|
| **结构化知识** | 教科书、教材、课程 | 数学、物理教材 |
| **半结构化知识** | 题库、案例 | 习题库、实验报告 |
| **非结构化知识** | 论文、研究文献 | 教育研究论文 |
### 2. 向量数据库
用于存储和检索知识:
```
知识条目向量化:
"牛顿第二定律" → 向量 [0.1, -0.3, 0.5, ...]
"F = ma" → 向量 [0.2, -0.1, 0.4, ...]
...
存储到向量数据库(如 Pinecone, Weaviate, FAISS
```
### 3. 检索算法
| 算法 | 特点 | 适用场景 |
|------|------|----------|
| **余弦相似度** | 计算简单,语义匹配 | 通用检索 |
| **混合检索** | 关键词+语义结合 | 精准定位 |
| **重排序(Rerank** | 两阶段检索提高精度 | 高质量要求 |
### 4. 生成增强
```python
# RAG 提示模板
prompt = f"""
基于以下知识回答问题,不要使用知识之外的信息。
知识:
{retrieved_context}
问题:{user_question}
请提供详细解答,并引用使用的知识来源。
"""
```
## RAG 的优势
1. **减少幻觉**:基于检索到的知识生成,限制模型"编造"
2. **提高准确性**:知识库提供权威、准确的信息
3. **可解释性强**:可以显示答案的来源和依据
4. **易于更新**:更新知识库即可更新知识,无需重新训练模型
5. **成本效益**:相比重新训练,更新知识成本更低
## 关键挑战
1. **检索质量**:检索不到相关知识或检索结果不相关
2. **上下文长度**:检索信息超出上下文窗口
3. **延迟增加**:检索步骤增加响应时间
4. **知识质量**:知识库本身的质量和准确性问题
## LLM教育中的RAG实践
| 产品 | RAG应用 |
|------|----------|
| **Khanmigo** | 双重监控 + 知识图谱约束 |
| **Duolingo Max** | Birdbrain + 知识检索 |
| **小猿AI** | 知识图谱 + 错因分析 |
| **讯飞星火** | 知识图谱 + 超级对齐 |
## 技术优化方向
1. **混合检索**:关键词检索 + 语义检索
2. **重排序(Reranking**:两阶段检索提高精度
3. **知识图谱增强**:结合知识图谱的推理能力
4. **多模态RAG**:检索文本、图像、视频等多模态信息
5. **增量更新**:实时更新知识库而不重建向量索引
## 相关概念
- [[教学大模型]] — 应用RAG的AI教育系统
- [[知识图谱]] — RAG的知识基础
- [[知识追踪]] — 结合RAG动态更新知识状态
- [[Khanmigo]] — RAG+苏格拉底式教学案例
- [[知识空间理论]] — 知识结构形式化
## 来源
- [[教学大模型发展状况深度研究报告-20260415]] — RAG在教育中的应用、幻觉问题缓解