第 1章 解构RAG 1
1.1 LLM应用概述 1
1.1.1 LLM应用的基本模式 1
1.1.2 LLM应用的局限性 3
1.2 引入RAG 4
1.2.1 RAG核心概念 4
1.2.2 RAG的组成结构 6
1.2.3 RAG的应用场景 8
1.3 RAG的技术体系 9
1.3.1 基础RAG 9
1.3.2 高级RAG 9
1.3.3 模块化RAG 10
1.3.4 智能体RAG 10
本章小结 11
第 2章 使用LlamaIndex实现RAG 13
2.1 LlamaIndex概述 13
2.1.1 LlamaIndex的工作流程 14
2.1.2 LlamaIndex RAG技术组件 15
2.2 提示词 18
2.2.1 提示词结构 19
2.2.2 提示词模板 20
2.2.3 定制化提示词 22
2.3 文档与索引 24
2.3.1 文档加载和解析 24
2.3.2 索引创建和管理 30
2.4 上下文检索 34
2.4.1 创建多样化检索器 34
2.4.2 构建高级检索机制 37
2.5 响应结果处理 39
2.5.1 后处理器 40
2.5.2 响应整合器 42
2.6 构建查询引擎 44
2.6.1 查询引擎的基础用法 44
2.6.2 查询引擎的高级用法 45
本章小结 46
第3章 使用RAG构建文档聊天助手 47
3.1 文档RAG工作机制 47
3.1.1 初始化OpenAI模型 48
3.1.2 OpenAI模型的功能特性 50
3.1.3 OpenAI消息类型 50
3.2 实现文档处理与聊天引擎 52
3.2.1 使用DirectoryReader读取文档 52
3.2.2 基于VectorStoreIndex构建索引 54
3.2.3 实现聊天引擎 56
3.3 基于Streamlit运行RAG应用 60
3.3.1 使用Streamlit构建可视化系统 60
3.3.2 整合Streamlit与文档聊天助手 63
3.3.3 执行效果演示 64
本章小结 66
第4章 使用RAG实现多模态内容解析器 67
4.1 引入多模态RAG 67
4.2 LlamaIndex多模态技术 69
4.3 实现图像解析与存储 71
4.3.1 处理图像文件 71
4.3.2 执行图像解析 73
4.3.3 集成图像持久化 77
4.3.4 执行效果演示 79
本章小结 84
第5章 使用RAG实现数据库检索器 85
5.1 使用非结构化数据访问RAG 85
5.2 实现基础版数据库检索器 87
5.2.1 创建SQLDatabase 87
5.2.2 创建NLSQLTableQueryEngine实例 90
5.3 LlamaIndex数据库检索技术 91
5.4 实现高阶版数据库检索器 92
5.4.1 整合向量存储和检索 93
5.4.2 实现SQLAutoVector检索 97
5.4.3 实现SQL Join检索 104
本章小结 105
第6章 使用RAG搭建知识图谱系统 107
6.1 知识图谱与GraphRAG 107
6.1.1 知识图谱技术 107
6.1.2 GraphRAG基本结构 109
6.2 LlamaIndex图处理技术 110
6.2.1 使用属性图构建知识图谱 110
6.2.2 图数据库集成 111
6.3 知识图谱系统实现 112
6.3.1 使用GraphExtractor构建图结构 112
6.3.2 构建PropertyGraphIndex 114
6.3.3 创建Retriever和QueryEngine 118
6.3.4 集成图数据库 120
6.4 实现RAG的可观测性 122
6.4.1 链路追踪基本原理 122
6.4.2 基于Phoenix追踪RAG 123
本章小结 125
第7章 使用RAG集成工作流引擎 127
7.1 工作流RAG场景分析 128
7.2 LlamaIndex的工作流组件 128
7.2.1 LlamaIndex工作流核心概念 128
7.2.2 LlamaIndex工作流开发模式 130
7.2.3 LlamaIndex工作流功能特性 133
7.2.4 LlamaIndex查询管道机制 136
7.3 基于工作流实现自定义ReActAgent 138
7.3.1 ReAct工作流设计 139
7.3.2 ReAct工作流实现步骤 141
7.3.3 执行效果演示 146
7.4 基于工作流实现CRAG 148
7.4.1 CRAG基本概念 148
7.4.2 CRAG实现步骤 149
7.4.3 执行效果演示 156
本章小结 158
第8章 使用RAG构建多Agent系统 159
8.1 多Agent系统场景分析与设计 159
8.2 LlamaIndex Agent技术详解 161
8.2.1 理解Agent机制 161
8.2.2 LlamaIndex Agent组件 164
8.3 多Agent文档处理系统实现 169
8.3.1 实现两层文档处理Agent 170
8.3.2 执行效果演示 173
8.4 多Agent智能客服助手实现 175
8.4.1 业务分析和系统设计 175
8.4.2 实现协调类Agent 177
8.4.3 实现任务类Agent 184
8.4.4 执行效果演示 189
本章小结 192