-
内容大纲
本书系统介绍检索增强生成(RAG)技术的核心概念、开发流程和实际应用。本书共分为11章,第1~3章详细介绍RAG开发的基础,包括环境搭建、常用工具和模块,帮助读者从零开始理解RAG系统的工作原理与开发技巧:第4~8章聚焦RAG系统的具体搭建,从向量数据库的创建、文本的向量化,到如何构建高效的检索增强模型,为开发RAG应用奠定基础;第9~11章通过实际案例,包括企业文档问答系统、医疗文献检索系统和法律法规查询助手的实际开发,帮助读者在特定领域深入理解和应用RAG技术。
本书适合RAG技术初学者、大模型和AI研发人员、数据分析和挖掘工程师,以及高年级本科生和研究生阅读,也可作为培训机构和高校相关课程的教学用书或参考书。 -
作者介绍
凌峰,毕业于中国科学院大学,博士,高级职称,从事机器学习、人工智能、图像处理、计算视觉的研究与开发工作多年,拥有丰富的机器学习算法实现经验。 -
目录
第1章 搭建RAG开发环境
1.1 Python开发环境搭建
1.1.1 虚拟环境的创建管理
1.1.2 IDE的选择与工作流的搭建
1.1.3 依赖库安装与版本管理
1.2 RAG开发中常用的Python依赖库
1.2.1 数据处理必备库:Pandas与NumPy
1.2.2 自然语言处理工具:NLTK与spaCy
1.2.3 向量检索与模型处理:FAISS与Transformers库简介
1.3 RAG开发中常用的外部模块
1.3.1 数据采集与预处理:Requests与BeautifulSoup
1.3.2 并行与异步处理:Multiprocessing与Asyncio
1.4 RAG与智能体
1.4.1 智能体的基本定义与作用
1.4.2 智能体的类型:反应型、认知型与学习型
1.5 基于RAG的智能体开发基础
1.5.1 开发环境与工具
1.5.2 智能体开发中的关键算法:搜索、优化与规划
1.5.3 智能体的性能评估与调试方法
1.6 本章小结
1.7 思考题
第2章 传统生成与检索增强生成
2.1 生成式AI和RAG的基本概念
2.1.1 生成式AI的核心原理与工作机制
2.1.2 生成检索结合
2.1.3 检索增强与传统生成模型的区别
2.2 为何需要对传统大模型进行检索增强
2.2.1 预训练大模型的瓶颈
2.2.2 RAG在实时信息处理中的优势
2.3 检索增强核心:预训练大模型
2.3.1 Transformer架构的崛起:语言模型背后的核心引擎
2.3.2 从BERT到GPT-4:大模型发展的重要里程碑
2.4 本章小结
2.5 思考题
第3章 RAG模型的工作原理
3.1 检索模块与生成模块
3.1.1 检索模块的核心功能与数据流
3.1.2 生成模块在内容创建中的作用
3.1.3 检索与生成的协同工作机制
3.2 向量检索:将文本转换为向量
3.2.1 文本嵌入的基本原理与技术
3.2.2 高效向量检索:从相似度到索引优化
3.2.3 向量检索在RAG中的实际应用
3.3 RAG开发中常用的生成模型简介
3.3.1 GPT家族:从GPT-2到GPT-4的演进
3.3.2 BERT与T5:理解与生成的跨模型应用
3.4 本章小结
3.5 思考题
第4章 搭建一个简单的RAG系统
4.1 创建小型向量数据库
4.1.1 数据准备与预处理:搭建数据库的第一步
4.1.2 嵌入生成与存储:从文本到向量的转换
4.1.3 使用FAISS构建检索索引:实现高效查询
4.2 利用公开模型实现简单的问答系统
4.2.1 加载预训练模型:选择合适的生成模型
4.2.2 检索与生成模块的集成:构建问答流程
4.2.3 测试与优化:提升回答的准确性和一致性
4.3 本章小结
4.4 思考题
第5章 数据向量化与FAISS开发
5.1 什么是向量检索:原理与常用算法
5.1.1 向量检索的基本概念:从相似性到距离度量
5.1.2 常用的向量检索算法:线性搜索与近似最近邻
5.1.3 向量检索在RAG中的应用:增强上下文匹配
5.2 使用FAISS构建高效的向量检索系统
5.2.1 FAISS索引结构解析:平面索引、倒排索引与产品量化
5.2.2 构建和训练FAISS索引:提高检索速度和准确性
5.2.3 FAISS在大规模数据中的优化策略:多级索引与分片
5.3 数据的向量化:Embedding的生成
5.3.1 嵌入生成模型选择:如何匹配检索任务需求
5.3.2 文本嵌入的生成与存储:从编码到持久化
5.4 本章小结
5.5 思考题
第6章 文本检索增强与上下文构建
6.1 如何让生成模型“理解”检索到的内容
6.1.1 检索与生成的无缝衔接:内容重构与语义理解
6.1.2 语义相似度与匹配:提升生成的准确性
6.1.3 从检索到生成的优化路径:模型理解的增强
6.2 上下文的构建与传递
6.2.1 构建有效的上下文:信息筛选与组织策略
6.2.2 多步上下文传递:保持生成内容的连贯性
6.2.3 上下文优化技巧:减少冗余与增加相关性
6.3 多轮对话与复杂生成任务的实现
6.3.1 多轮交互的构建:让生成模型模拟人类对话
6.3.2 长对话与上下文管理:模型记忆的实现方法
6.3.3 复杂生成任务分解:如何逐步实现多步骤生成
6.4 本章小结
6.5 思考题
第7章 构建检索向量数据库
7.1 数据的准备与清洗
7.1.1 数据质量提升:数据清洗与规范化流程
7.1.2 数据标注与分类:构建高效检索的基础
7.2 如何创建和管理向量数据库
7.2.1 向量数据库的构建步骤:从嵌入到存储
7.2.2 高效管理:向量索引与检索优化
7.3 本章小结
7.4 思考题
第8章 针对延迟与缓存的模型性能调优
8.1 调整生成与检索模块的协同参数
8.1.1 生成与检索的平衡:优化参数的核心原则
8.1.2 动态参数调节:提升响应质量与精度
8.2 缩短RAG系统的响应时间
8.2.1 延迟分析与瓶颈定位:加速响应的第一步
8.2.2 缓存与并行处理策略:实现高效RAG系统
8.3 本章小结
8.4 思考题
第9章 企业文档问答系统的开发
9.1 需求分析与系统设计
9.1.1 确定问答系统的需求:识别用户的主要查询类型与目标
9.1.2 系统结构与模块划分:明确检索与生成模块的协作方式
9.2 搭建向量数据库与检索模块
9.2.1 数据预处理与向量化:生成高效的嵌入向量
9.2.2 构建与优化索引:提升检索模块的查询速度
9.3 生成模块的集成与模型调优
9.3.1 加载与配置生成模型:选择适合问答系统的生成模型
9.3.2 模型优化与提示词调优:提高生成内容的准确性与相关性
9.4 系统测试、部署与优化
9.4.1 测试流程与性能监控:确保系统的稳定性与响应速度
9.4.2 企业环境的部署与上线:实现系统在实际业务中的应用
9.5 本章小结
9.6 思考题
第10章 医疗文献检索与分析系统的开发
10.1 需求分析与数据准备
10.1.1 确定医学文献检索需求:识别用户查询重点
10.1.2 数据收集与清洗:构建高质量的医学知识库
10.2 构建高效的检索模块
10.2.1 设计向量检索系统:提升检索效率
10.2.2 优化索引结构:加速医学文献的精确匹配
10.3 生成模块开发、集成和调优
10.3.1 生成模型与检索的集成:精准回答用户提问
10.3.2 生成内容的优化与提示词调优:提升回答的质量与专业性
10.4 本章小结
10.5 思考题
第11章 法律法规查询助手的开发
11.1 需求分析与数据收集
11.1.1 用户需求解析:明确法律法规查询的主要需求
11.1.2 法律法规数据源与收集方法:搭建全面的法规数据库
11.1.3 数据清洗与标准化:提升查询效率和准确性
11.2 法律法规检索模块的实现
11.2.1 向量化法律条款:构建检索友好的嵌入
11.2.2 FAISS索引在法规查询中的应用:提升检索性能
11.2.3 优化检索流程:提高法律条款的匹配精度
11.3 生成模块开发与输出优化
11.3.1 生成模型与检索模块的集成:构建准确的法规回答
11.3.2 输出格式与内容优化:提供清晰的法律解释
11.3.3 提示词调优与模型配置:确保法律回答的专业性
11.4 本章小结
11.5 思考题
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
