🎙️ 语音朗读
当前: 晓晓 (温柔女声)
概述
RAG(Retrieval-Augmented Generation)是构建知识密集型AI应用的核心技术。本文系统介绍RAG从基础到高级优化的完整技术栈。
RAG核心流程
flowchart TB
subgraph 索引阶段
DOCS[文档] --> SPLIT[分块]
SPLIT --> EMBED[向量化]
EMBED --> INDEX[向量索引]
end
subgraph 检索阶段
QUERY[用户查询] --> RETRIEVE[向量检索]
RETRIEVE --> RERANK[重排序]
RERANK --> CONTEXT[上下文构建]
end
subgraph 生成阶段
CONTEXT --> PROMPT[提示构建]
PROMPT --> LLM[大语言模型]
LLM --> RESPONSE[生成回答]
end
INDEX -.->|相似度计算| RETRIEVE
高级RAG架构
完整RAG Pipeline
flowchart TB
subgraph 预处理
QUERY --> HYDE[HyDE查询扩展]
QUERY --> QUERY_TRANS[查询变换]
end
subgraph 多路检索
HYDE --> VECTOR[向量检索]
QUERY_TRANS --> KEYWORD[关键词检索]
QUERY_TRANS --> GRAPH[知识图谱]
end
subgraph 融合排序
VECTOR --> FUSION[结果融合]
KEYWORD --> FUSION
GRAPH --> FUSION
end
FUSION --> RERANK[Cross-Encoder重排]
RERANK --> CONTEXT[上下文组装]
CONTEXT --> LLM
实现代码
高级RAG Pipeline
1 | from langchain.vectorstores import Chroma |
RAG优化技术
查询优化
| 技术 | 说明 | 效果 |
|---|---|---|
| HyDE | 生成假设性答案再检索 | +15% |
| Query Decomposition | 分解复杂查询 | +12% |
| Step-back | 抽象化再检索 | +10% |
| Query Expansion | 同义词扩展 | +8% |
索引优化
| 技术 | 说明 | 适用场景 |
|---|---|---|
| Parent Document | 保留父文档上下文 | 复杂问题 |
| Sentence Window | 句子窗口检索 | 精确匹配 |
| Auto-merging | 自动合并相关块 | 连贯性要求高 |
总结
mindmap
root((RAG优化))
索引优化
分块策略
向量模型
索引结构
检索优化
多路召回
重排序
查询变换
生成优化
提示工程
上下文压缩
引用追踪
RAG是构建企业级AI应用的核心技术,需要根据具体场景不断优化。