搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
大模型应用开发(RAG实战课)
0.00     定价 ¥ 99.80
图书来源: 浙江图书馆(由浙江新华配书)
此书还可采购15本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787115671851
  • 作      者:
    作者:黄佳|责编:秦健
  • 出 版 社 :
    人民邮电出版社
  • 出版日期:
    2025-05-01
收藏
畅销推荐
内容介绍
在大模型逐渐成为智能系统核心引擎的今天,检索增强生成(RAG)技术为解决模型的知识盲区以及提升响应准确性提供了关键性的解决方案。本书围绕完整的RAG系统生命周期,系统地拆解其架构设计与实现路径,助力开发者和企业构建实用、可控且可优化的智能问答系统。 首先,本书以“数据导入—文本分块—信息嵌入—向量存储”为主线,详细阐述了从多源文档加载到结构化预处理的全流程,并深入解析了嵌入模型的选型、微调策略及多模态支持;其次,从检索前的查询构建、查询翻译、查询路由、索引优化,到检索后的重排与压缩,全面讲解了提高召回质量和内容相关性的方法;接下来,介绍了多种生成方式及RAG系统的评估框架;最后,展示了复杂RAG范式的新进展,包括GraphRAG、Modular RAG、Agentic RAG和Multi-Modal RAG的构建路径。 本书适合AI研发工程师、企业技术负责人、知识管理从业者以及对RAG系统构建感兴趣的高校师生阅读。无论你是希望快速搭建RAG系统,还是致力于深入优化检索性能,亦或是探索下一代AI系统架构,本书都提供了实用的操作方法与理论支持。
展开
目录
楔子 闹市中的古刹
开篇 RAG三问
一问 从实际项目展示到底何为RAG
文档的导入和解析
文档的分块
文本块的嵌入
向量数据库的选择
文本块的检索
回答的生成
二问 如何快速搭建RAG系统
使用框架:LangChain的RAG实现
使用框架:通过LCEL链进行重构
使用框架:通过LangGraph进行重构
不使用框架:自选Embedding模型、向量数据库和大模型
使用coze、Dify、FastGPT等可视化工具
三问 从何处入手优化RAG系统
第1章 数据导入
1.1 用数据加载器读取简单文本
1.1.1 借助LangChain读取TXT文件,以生成Document对象
1.1.2 LangChain中的数据加载器
1.1.3 用LangChain读取目录中的所有文件
1.1.4 用LlamaIndex读取目录中的所有文档
1.1.5 用LlamaHub连接Reader并读取数据库条目
1.1.6 用Unstructured工具读取各种类型的文档
1.2 用JSON加载器解析特定元素
1.3 用UnstructuredLoader读取图片中的文字
1.3.1 读取图片中的文字
1.3.2 读取PPT中的文字
1.4 用大模型整体解析图文
1.5 导入CSV格式的表格数据
1.5.1 使用CSVLoader导入数据
1.5.2 比较CSVLoader和UnstructuredCSVLoader
1.6 网页文档的爬取和解析
1.6.1 用WebBaseLoader快速解析网页
1.6.2 用UnstructuredLoader细粒度解析网页
1.7 Markdown文件标题和结构
1.8 PDF文件的文本格式、布局识别及表格解析
1.8.1 PDF文件加载工具概述
1.8.2 用PyPDFLoader进行简单文本提取
1.8.3 用Marker工具把PDF文档转换为Markdown格式
1.8.4 用UnstructuredLoader进行结构化解析
1.8.5 用PyMuPDF和坐标信息可视化布局
1.8.6 用UnstructuredLoader解析PDF页面中的表格
1.8.7 用ParentID整合同一标题下的内容
1.9 小结
第2章 文本分块
2.1 为什么分块非常重要
2.1.1 上下文窗口限制了块最大长度
2.1.2 分块大小对检索精度的影响
2.1.3 分块大小对生成质量的影响
2.1.4 不同的分块策略
2.1.5 用ChunkViz工具可视化分块
2.2 按固定字符数分块
2.2.1 LangChain中的CharacterTextSplitter工具
2.2.2 在LlamaIndex中设置块大小参数
2.3 递归分块
2.4 基于特定格式(如代码)分块
2.5 基于文件结构或语义分块
2.5.1 使用Unstructured工具基于文档结构分块
2.5.2 使用LlamaIndex的SemanticSplitterNodeParser进行语义分块
2.6 与分块相关的高级索引构建技巧
2.6.1 带滑动窗口的句子切分
2.6.2 分块时混合生成父子文本块
2.6.3 分块时为文本块创建元数据
2.6.4 在分块时形成有级别的索引
2.7 小结
第3章 嵌入生成
3.1 嵌入是对外部信息的编码
3.2 从早期词嵌入模型到大模型嵌入
3.2.1 早期词嵌入模型
3.2.2 上下文相关的词嵌入模型
3.2.3 句子嵌入模型和SentenceTransformers框架
3.2.4 多语言嵌入模型
3.2.5 图像和音频嵌入模型
3.2.6 图像与文本联合嵌入模型
3.2.7 图嵌入模型和知识图谱嵌入模型
3.2.8 大模型时代的嵌入模型
3.3 现代嵌入模型:OpenAI、Jina、Cohere、Voyage
3.3.1 用OpenAI的text-embedding-3-small进行产品推荐
3.3.2 用jina-embeddings-v3模型进行跨语言数据集聚类
3.3.3 MTEB:海量文本嵌入基准测试
3.3.4 各种嵌入模型的比较及选型考量
3.4 稀疏嵌入、密集嵌入和BM
3.4.1 利用BM25实现稀疏嵌入
3.4.2 BGE-M3模型:稀疏嵌入和密集嵌入的结合
3.5 多模态嵌入模型:Visualized_BGE
3.6 通过LangChain、LlamaIndex等框架使用嵌入模型
3.6.1 LangChain提供的嵌入接口
3.6.2 LlamaIndex提供的嵌入接口
3.6.3 通过LangChain的Caching缓存嵌入
3.7 微调嵌入模型
3.8 小结
第4章 向量存储
4.1 向量究竟是如何被存储的
4.1.1 从LlamaIndex的设计看简单的向量索引
4.1.2 向量数据库的组件
4.2 向量数据库中的索引
4.2.1 FLAT
4.2.2 IVF
4.2.3 量化索引
4.2.4 图索引
4.2.5 哈希技术
4.2.6 向量的检索(相似度度量)
4.3 主流向量数据库
4.3.1 Milvus
4.3.2 Weaviate
4.3.3 Qdrant
4.3.4 Faiss
4.3.5 Pinecone
4.3.6 Chroma
4.3.7 Elasticsearch
4.3.8 PGVector
4.4 向量数据库的选型与测评
4.4.1 向量数据库的选型
4.4.2 向量数据库的测评
4.5 向量数据库中索引和搜索的设置
4.5.1 Milvus向量操作示例
4.5.2 选择合适的索引类型
4.5.3 选择合适的度量标准
4.5.4 在执行搜索时度量标准要与索引匹配
4
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证