万本电子书0元读

万本电子书0元读

顶部广告

基于大模型的RAG应用开发与优化——构建企业级LLM应用电子书

首本*介绍RAG的技术书让大模型变聪明的利器

售       价:¥

纸质售价:¥139.00购买纸书

13人正在读 | 0人评论 6.7

作       者:严灿平

出  版  社:电子工业出版社

出版时间:2024-11-01

字       数:17.8万

所属分类: 科技 > 计算机/网络 > 多媒体/数据通信

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是一本全面介绍基于大语言模型的RAG应用发的专业图书。本书共分为3篇:预备篇、基础篇和高级篇。预备篇旨在帮助你建立起对大模型与RAG的基本认识,并引导你搭建起RAG应用发的基础环境;基础篇聚焦于经典RAG应用发的核心要素与阶段,介绍关键模块的发过程,剖析相关的技术原理,为后面的深学习下坚实的基础;高级篇聚焦于RAG应用发的高阶模块与技巧,特别是在企业级RAG应用发中的优化策略与技术实现,并探索了一些新型的RAG工作流与范式,旨在帮助你了解最新的RAG应用技术发展,掌握RAG应用的全方位发能力。<br/>【作者】<br/>严灿平,毕业于南京理工大学计算机系,南京大学工商管理硕士。先后就职于联创(后与亚信科技合并)担任软件工程师与设计师,甲骨文中国(Oracle)担任中国区企业架构部首席架构师,上海慧问信息科技有限公司担任合伙人兼技术总监。现为独立IT咨询顾问,公众号“AI大模型应用实践”主理人。拥有超过20年的企业软件从业经验,专注于企业软件架构设计、互联网时代传统行业的IT转型、人工智能与大数据技术在企业应用的创新等。曾担任多项大型企业级软件系统核心架构师与咨询师,参与包括中国移动、中国电信等通信行业客户的核心业务运营支撑系统建设、智慧城市与政务行业互联网转型的IT咨询与规划。精通多种计算机软件发技术与IT架构方法论,对移动互联网、大数据、人工智能在企业领域应用有深的研究与实施经验。<br/>
目录展开

内容简介

前言

预备篇

第1章 了解大模型与RAG

1.1 初识大模型

1.1.1 大模型时代:生成式AI应用的爆发

1.1.2 大模型应用的持续进化

1.1.3 大模型是无所不能的吗

1.2 了解RAG

1.2.1 为什么需要RAG

1.2.2 一个简单的RAG场景

1.3 RAG应用的技术架构

1.3.1 RAG应用的经典架构与流程

1.3.2 RAG应用面临的挑战

1.3.3 RAG应用架构的演进

1.4 关于RAG的两个话题

1.4.1 RAG与微调的选择

1.4.2 RAG与具有理解超长上下文能力的大模型

第2章 RAG应用开发环境搭建

2.1 开发RAG应用的两种方式

2.1.1 使用低代码开发平台

2.1.2 使用大模型应用开发框架

2.2 RAG应用开发环境准备

2.2.1 硬件环境建议

2.2.2 基础大模型

2.2.3 嵌入模型

2.2.4 Python虚拟运行环境

2.2.5 Python IDE与开发插件

2.2.6 向量库

2.2.7 LlamaIndex框架

2.3 关于本书开发环境的约定

【预备篇小结】

基础篇

第3章 初识RAG应用开发

3.1 开发一个最简单的RAG应用

3.1.1 使用原生代码开发

3.1.2 使用LlamaIndex框架开发

3.1.3 使用LangChain框架开发

3.2 如何跟踪与调试RAG应用

3.2.1 借助LlamaDebugHandler

3.2.2 借助第三方的跟踪与调试平台

3.3 准备:基于LlamaIndex框架的RAG应用开发核心组件

第4章 模型与Prompt

4.1 大模型

4.1.1 大模型在RAG应用中的作用

4.1.2 大模型组件的统一接口

4.1.3 大模型组件的单独使用

4.1.4 大模型组件的集成使用

4.1.5 了解与设置大模型的参数

4.1.6 自定义大模型组件

4.1.7 使用LangChain框架中的大模型组件

4.2 Prompt

4.2.1 使用Prompt模板

4.2.2 更改默认的Prompt模板

4.2.3 更改Prompt模板的变量

4.3 嵌入模型

4.3.1 嵌入模型在RAG应用中的作用

4.3.2 嵌入模型组件的接口

4.3.3 嵌入模型组件的单独使用

4.3.4 嵌入模型组件的集成使用

4.3.5 了解与设置嵌入模型的参数

4.3.6 自定义嵌入模型组件

第5章 数据加载与分割

5.1 理解两个概念:Document与Node

5.1.1 什么是Document与Node

5.1.2 深入理解Document与Node

5.1.3 深入理解Node对象的元数据

5.1.4 生成Document对象

5.1.5 生成Node对象

5.1.6 元数据的生成与抽取

5.1.7 初步了解IndexNode类型

5.2 数据加载

5.2.1 从本地目录中加载

5.2.2 从网络中加载数据

5.3 数据分割

5.3.1 如何使用数据分割器

5.3.2 常见的数据分割器

5.4 数据摄取管道

5.4.1 什么是数据摄取管道

5.4.2 用于数据摄取管道的转换器

5.4.3 自定义转换器

5.4.4 使用数据摄取管道

5.5 完整认识数据加载阶段

第6章 数据嵌入与索引

6.1 理解嵌入与向量

6.1.1 直接用模型生成向量

6.1.2 借助转换器生成向量

6.2 向量存储

6.2.1 简单向量存储

6.2.2 第三方向量存储

6.3 向量存储索引

6.3.1 用向量存储构造向量存储索引对象

6.3.2 用Node列表构造向量存储索引对象

6.3.3 用文档直接构造向量存储索引对象

6.3.4 深入理解向量存储索引对象

6.4 更多索引类型

6.4.1 文档摘要索引

6.4.2 对象索引

6.4.3 知识图谱索引

6.4.4 树索引

6.4.5 关键词表索引

第7章 检索、响应生成与RAG引擎

7.1 检索器

7.1.1 快速构造检索器

7.1.2 理解检索模式与检索参数

7.1.3 初步认识递归检索

7.2 响应生成器

7.2.1 构造响应生成器

7.2.2 响应生成模式

7.2.3 响应生成器的参数

7.2.4 实现自定义的响应生成器

7.3 RAG引擎:查询引擎

7.3.1 构造内置类型的查询引擎的两种方法

7.3.2 深入理解查询引擎的内部结构和运行原理

7.3.3 自定义查询引擎

7.4 RAG引擎:对话引擎

7.4.1 对话引擎的两种构造方法

7.4.2 深入理解对话引擎的内部结构和运行原理

7.4.3 理解不同的对话模式

7.5 结构化输出

7.5.1 使用output_cls参数

7.5.2 使用输出解析器

【基础篇小结】

高级篇

第8章 RAG引擎高级开发

8.1 检索前查询转换

8.1.1 简单查询转换

8.1.2 HyDE查询转换

8.1.3 多步查询转换

8.1.4 子问题查询转换

8.2 检索后处理器

8.2.1 使用节点后处理器

8.2.2 实现自定义的节点后处理器

8.2.3 常见的预定义的节点后处理器

8.2.4 Rerank节点后处理器

8.3 语义路由

8.3.1 了解语义路由

8.3.2 带有路由功能的查询引擎

8.3.3 带有路由功能的检索器

8.3.4 使用独立的选择器

8.3.5 可多选的路由查询引擎

8.4 SQL查询引擎

8.4.1 使用NLSQLTableQueryEngine组件

8.4.2 基于实时表检索的查询引擎

8.4.3 使用SQL检索器

8.5 多模态文档处理

8.5.1 多模态文档处理架构

8.5.2 使用LlamaParse解析文档

8.5.3 多模态文档中的表格处理

8.5.4 多模态大模型的基础应用

8.5.5 多模态文档中的图片处理

8.6 查询管道:编排基于Graph的RAG工作流

8.6.1 理解查询管道

8.6.2 查询管道支持的两种使用方式

8.6.3 深入理解查询管道的内部原理

8.6.4 实现并插入自定义的查询组件

第9章 开发Data Agent

9.1 初步认识Data Agent

9.2 构造与使用Agent的工具

9.2.1 深入了解工具类型

9.2.2 函数工具

9.2.3 查询引擎工具

9.2.4 检索工具

9.2.5 查询计划工具

9.2.6 按需加载工具

9.3 基于函数调用功能直接开发Agent

9.4 用框架组件开发Agent

9.4.1 使用OpenAIAgent

9.4.2 使用ReActAgent

9.4.3 使用底层API开发Agent

9.4.4 开发带有工具检索功能的Agent

9.4.5 开发带有上下文检索功能的Agent

9.5 更细粒度地控制Agent的运行

9.5.1 分步可控地运行Agent

9.5.2 在Agent运行中增加人类交互

第10章 评估RAG应用

10.1 为什么RAG应用需要评估

10.2 RAG应用的评估依据与指标

10.3 RAG应用的评估流程与方法

10.4 评估检索质量

10.4.1 生成检索评估数据集

10.4.2 运行评估检索过程的程序

10.5 评估响应质量

10.5.1 生成响应评估数据集

10.5.2 单次响应评估

10.5.3 批量响应评估

10.6 基于自定义标准的评估

第11章 企业级RAG应用的常见优化策略

11.1 选择合适的知识块大小

11.1.1 为什么知识块大小很重要

11.1.2 评估知识块大小

11.2 分离检索阶段的知识块与生成阶段的知识块

11.2.1 为什么需要分离

11.2.2 常见的分离策略及实现

11.3 优化对大文档集知识库的检索

11.3.1 元数据过滤+向量检索

11.3.2 摘要检索+内容检索

11.3.3 多文档Agentic RAG

11.4 使用高级检索方法

11.4.1 融合检索

11.4.2 递归检索

第12章 构建端到端的企业级RAG应用

12.1 对生产型RAG应用的主要考量

12.2 端到端的企业级RAG应用架构

12.2.1 数据存储层

12.2.2 AI模型层

12.2.3 RAG工作流与API模块

12.2.4 前端应用模块

12.2.5 后台管理模块

12.3 端到端的全栈RAG应用案例

12.3.1 简单的全栈RAG查询应用

12.3.2 基于多文档Agent的端到端对话应用

第13章 新型RAG范式原理与实现

13.1 自纠错RAG:C-RAG

13.1.1 C-RAG诞生的动机

13.1.2 C-RAG的原理

13.1.3 C-RAG的实现

13.2 自省式RAG:Self-RAG

13.2.1 Self-RAG诞生的动机

13.2.2 Self-RAG的原理

13.2.3 Self-RAG的实现

13.2.4 Self-RAG的优化

13.3 检索树RAG:RAPTOR

13.3.1 RAPTOR诞生的动机

13.3.2 RAPTOR的原理

13.3.3 RAPTOR的实现

【高级篇小结】

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部