欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • 基于大模型的RAG应用开发与优化(构建企业级LLM应用)
      • 作者:严灿平|责编:石悦
      • 出版社:电子工业
      • ISBN:9787121490385
      • 出版日期:2024/11/01
      • 页数:512
    • 售价:55.6
  • 内容大纲

        本书是一本全面介绍基于大语言模型的RAG应用开发的专业图书。本书共分为3篇:预备篇、基础篇和高级篇。预备篇旨在帮助你建立起对大模型与RAG的基本认识,并引导你搭建起RAG应用开发的基础环境;基础篇聚焦于经典RAG应用开发的核心要素与阶段,介绍关键模块的开发过程,剖析相关的技术原理,为后面的深入学习打下坚实的基础;高级篇聚焦于RAG应用开发的高阶模块与技巧,特别是在企业级RAG应用开发中的优化策略与技术实现,并探索了一些新型的RAG工作流与范式,旨在帮助你了解最新的RAG应用技术发展,掌握RAG应用的全方位开发能力。
        本书适合对大模型及RAG技术感兴趣的开发者、研究人员、产品经理及希望了解并掌握RAG应用开发能力的人阅读。无论你是进入AI领域的初学者,还是已经有一定基础的进阶者,都能从本书中找到适合自己的内容。
  • 作者介绍

  • 目录

    预备篇
      第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  PythonIDE与开发插件
          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章  开发DataAgent
        9.1  初步认识DataAgent
        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  多文档AgenticRAG
        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的实现
      【高级篇小结】