描述
包 装: 平塑勒是否套装: 否国际标准书号ISBN: 9787121467271
内容简介
这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。全书分为11章,从LLM基础知识开始,通过LangChain这个开源框架为读者解读整个LLM应用开发流程。第1~2章概述LLM技术的发展背景和LangChain框架的设计理念。从第3章开始,分章深入介绍LangChain的6大模块,包括模型I/O、数据增强、链、记忆等,通过大量代码示例让读者了解其原理和用法。第9章通过构建PDF问答程序,帮助读者将之前学习的知识应用于实践。第10章则介绍集成,可拓宽LangChain的用途。第11章为初学者简要解析LLM的基础理论,如Transformer模型等。本书以LangChain这个让人熟悉的框架为主线,引导读者一步一步掌握LLM应用开发流程,适合对大语言模型感兴趣的开发者、AI应用程序开发者阅读。
目 录
目 录
第1 章 LangChain:开启大语言模型时代的钥匙
1.1 大语言模型概述
1.1.1 什么是大语言模型
1.1.2 大语言模型的发展
1.1.3 大语言模型的应用场景
1.1.4 大语言模型的基础知识
1.2 LangChain 与大语言模型
第2 章 LangChain 入门指南
2.1 初识LangChain
2.1.1 为什么需要LangChain
2.1.2 LLM 应用开发的最后1 公里
2.1.3 LangChain 的2 个关键词
2.1.4 LangChain 的3 个场景
2.1.5 LangChain 的6 大模块
2.2 LangChain 的开发流程
2.2.1 开发密钥指南
2.2.2 编写一个取名程序
2.2.3 创建你的第一个聊天机器人
2.4 LangChain 表达式
第3 章 模型I/O
3.1 什么是模型I/O
3.2 模型I/O 功能之模型包装器
3.2.1 模型包装器分类
3.2.2 LLM 模型包装器
3.2.3 聊天模型包装器
3.3 模型I/O 功能之提示词模板
3.3.1 什么是提示词模板
3.3.2 提示词模板的输入和输出
3.3.3 使用提示词模板构造提示词
3.3.4 少样本提示词模板
3.3.5 多功能提示词模板
3.4 模型I/O 功能之输出解析器
3.4.1 输出解析器的功能
3.4.2 输出解析器的使用
3.4.3 Pydantic JSON 输出解析器
3.4.4 结构化输出解析器
第4 章 数据增强模块
4.1 数据增强模块的相关概念
4.1.1 LEDVR 工作流
4.1.2 数据类型
4.2 加载器
4.3 嵌入模型包装器
4.3.1 嵌入模型包装器的使用
4.3.2 嵌入模型包装器的类型
4.4 文档转换器
4.5 向量存储库
4.5.1 向量存储库的使用
4.5.2 向量存储库的搜索方法
4.6 检索器
4.6.1 检索器的使用
4.6.2 检索器的类型
第5 章 链
5.1 为什么叫链
5.1.1 链的定义
5.1.2 链的使用
5.1.3 基础链类型
5.1.4 工具链类型
5.2 细说基础链
5.2.1 LLM 链
5.2.2 路由器链
5.2.3 顺序链
5.3 四大合并文档链
5.3.1 Stuff 链
5.3.2 Refine 链
5.3.3 MapReduce 链
5.3.4 重排链
5.4 揭秘链的复杂性
5.4.1 复杂链的“套娃”式设计
5.4.2 LEDVR 工作流的终点:“上链”
第6 章 记忆模块
6.1 记忆模块概述
6.1.1 记忆组件的定义
6.1.2 记忆组件、链组件和Agent 组件的关系
6.1.3 设置第一个记忆组件
6.1.4 内置记忆组件
6.1.5 自定义记忆组件
6.2 记忆增强检索能力的实践
6.2.1 获取外部数据
6.2.2 加入记忆组件
6.3 记忆增强Agent 能力的实践
6.4 内置记忆组件的对比
6.4.1 总结记忆组件
6.4.2 会话记忆组件和会话窗口记忆组件的对比
6.4.3 知识图谱记忆组件和实体记忆组件的比较
第7 章 Agent 模块
7.1 Agent 模块概述
7.1.1 Agent 组件的定义
7.1.2 Agent 组件的运行机制
7.1.3 Agent 组件入门示例
7.1.4 Agent 组件的类型
7.2 Agent 组件的应用
7.2.1 Agent 组件的多功能性
7.2.2 自定义Agent 组件
7.2.3 ReAct Agent 的实践
7.3 工具组件和工具包组件
7.3.1 工具组件的类型
7.3.2 工具包组件的类型
7.4 Agent 组件的功能增强
7.4.1 Agent 组件的记忆功能增强
7.4.2 Agent 组件的检索能力增强
第8 章 回调处理器
8.1 什么是回调处理器
8.1.1 回调处理器的工作流程
8.1.2 回调处理器的使用
8.1.3 自定义链组件中的回调
8.2 内置回调处理器
8.3 自定义回调处理器
第9 章 使用LangChain 构建应用程序
9.1 PDF 问答程序
9.1.1 程序流程
9.1.2 处理PDF 文档
9.1.3 创建问答链
9.2 对话式表单
9.2.1 OpenAI 函数的标记链
9.2.2 标记链的使用
9.2.3 创建提示词模板
9.2.4 数据更新和检查
9.3 使用LangChain 实现BabyAGI
9.3.1 BabyAGI 介绍
9.3.2 环境与工具
9.3.3 向量存储
9.3.4 构建任务链
9.3.5 创建BabyAGI
9.3.6 运行BabyAGI
第10 章 集成
10.1 集成的背景与LLM 集成
10.2 LLM 集成指南
10.2.1 Azure OpenAI 集成
10.2.2 Hugging Face Hub 集成
10.3 聊天模型集成指南
10.3.1 Anthropic 聊天模型集成
10.3.2 PaLM 2 聊天模型集成
10.3.3 OpenAI 聊天模型集成
10.4 向量库集成指南
10.4.1 Chroma 集成
10.4.2 Pinecone 集成
10.4.3 Milvus 集成
10.5 嵌入模型集成指南
10.5.1 HuggingFaceEmbeddings 嵌入集成
10.5.2 LlamaCppEmbeddings 嵌入集成
10.5.3 Cohere 嵌入集成
10.6 Agent toolkits 集成指南
10.6.1 CSV Agent 的集成
10.6.2 Pandas Dataframe Agent 的集成
10.6.3 PowerBI Dataset Agent 的集成
10.7 Retrievers 集成指南
10.7.1 WikipediaRetriever 集成
10.7.2 ArxivRetriever 集成
10.7.3 Azure Cognitive Search 集成
第11 章 LLM 应用开发必学知识
11.1 LLM 的核心知识
11.1.1 文本嵌入
11.1.2 点积相似性和余弦相似性
11.1.3 注意力机制
11.2 Transformer 模型
11.3 语义搜索
11.3.1 语义搜索的工作原理
11.3.2 RAG 的工作原理
11.4 NLP 与机器学习基础
11.4.1 LLM 应用开发中的传统机器学习方法
11.4.2 NLP 文本预处理
11.4.3 构建分类器
附录A LangChain 框架中的主要类
附录B OpenAI 平台和模型介绍
附录C Claude 2 模型介绍
附录D Cohere 模型介绍
附录E PaLM 2 模型介绍
附录F Pinecone 向量数据库介绍
附录G Milvus 向量数据库介绍
第1 章 LangChain:开启大语言模型时代的钥匙
1.1 大语言模型概述
1.1.1 什么是大语言模型
1.1.2 大语言模型的发展
1.1.3 大语言模型的应用场景
1.1.4 大语言模型的基础知识
1.2 LangChain 与大语言模型
第2 章 LangChain 入门指南
2.1 初识LangChain
2.1.1 为什么需要LangChain
2.1.2 LLM 应用开发的最后1 公里
2.1.3 LangChain 的2 个关键词
2.1.4 LangChain 的3 个场景
2.1.5 LangChain 的6 大模块
2.2 LangChain 的开发流程
2.2.1 开发密钥指南
2.2.2 编写一个取名程序
2.2.3 创建你的第一个聊天机器人
2.4 LangChain 表达式
第3 章 模型I/O
3.1 什么是模型I/O
3.2 模型I/O 功能之模型包装器
3.2.1 模型包装器分类
3.2.2 LLM 模型包装器
3.2.3 聊天模型包装器
3.3 模型I/O 功能之提示词模板
3.3.1 什么是提示词模板
3.3.2 提示词模板的输入和输出
3.3.3 使用提示词模板构造提示词
3.3.4 少样本提示词模板
3.3.5 多功能提示词模板
3.4 模型I/O 功能之输出解析器
3.4.1 输出解析器的功能
3.4.2 输出解析器的使用
3.4.3 Pydantic JSON 输出解析器
3.4.4 结构化输出解析器
第4 章 数据增强模块
4.1 数据增强模块的相关概念
4.1.1 LEDVR 工作流
4.1.2 数据类型
4.2 加载器
4.3 嵌入模型包装器
4.3.1 嵌入模型包装器的使用
4.3.2 嵌入模型包装器的类型
4.4 文档转换器
4.5 向量存储库
4.5.1 向量存储库的使用
4.5.2 向量存储库的搜索方法
4.6 检索器
4.6.1 检索器的使用
4.6.2 检索器的类型
第5 章 链
5.1 为什么叫链
5.1.1 链的定义
5.1.2 链的使用
5.1.3 基础链类型
5.1.4 工具链类型
5.2 细说基础链
5.2.1 LLM 链
5.2.2 路由器链
5.2.3 顺序链
5.3 四大合并文档链
5.3.1 Stuff 链
5.3.2 Refine 链
5.3.3 MapReduce 链
5.3.4 重排链
5.4 揭秘链的复杂性
5.4.1 复杂链的“套娃”式设计
5.4.2 LEDVR 工作流的终点:“上链”
第6 章 记忆模块
6.1 记忆模块概述
6.1.1 记忆组件的定义
6.1.2 记忆组件、链组件和Agent 组件的关系
6.1.3 设置第一个记忆组件
6.1.4 内置记忆组件
6.1.5 自定义记忆组件
6.2 记忆增强检索能力的实践
6.2.1 获取外部数据
6.2.2 加入记忆组件
6.3 记忆增强Agent 能力的实践
6.4 内置记忆组件的对比
6.4.1 总结记忆组件
6.4.2 会话记忆组件和会话窗口记忆组件的对比
6.4.3 知识图谱记忆组件和实体记忆组件的比较
第7 章 Agent 模块
7.1 Agent 模块概述
7.1.1 Agent 组件的定义
7.1.2 Agent 组件的运行机制
7.1.3 Agent 组件入门示例
7.1.4 Agent 组件的类型
7.2 Agent 组件的应用
7.2.1 Agent 组件的多功能性
7.2.2 自定义Agent 组件
7.2.3 ReAct Agent 的实践
7.3 工具组件和工具包组件
7.3.1 工具组件的类型
7.3.2 工具包组件的类型
7.4 Agent 组件的功能增强
7.4.1 Agent 组件的记忆功能增强
7.4.2 Agent 组件的检索能力增强
第8 章 回调处理器
8.1 什么是回调处理器
8.1.1 回调处理器的工作流程
8.1.2 回调处理器的使用
8.1.3 自定义链组件中的回调
8.2 内置回调处理器
8.3 自定义回调处理器
第9 章 使用LangChain 构建应用程序
9.1 PDF 问答程序
9.1.1 程序流程
9.1.2 处理PDF 文档
9.1.3 创建问答链
9.2 对话式表单
9.2.1 OpenAI 函数的标记链
9.2.2 标记链的使用
9.2.3 创建提示词模板
9.2.4 数据更新和检查
9.3 使用LangChain 实现BabyAGI
9.3.1 BabyAGI 介绍
9.3.2 环境与工具
9.3.3 向量存储
9.3.4 构建任务链
9.3.5 创建BabyAGI
9.3.6 运行BabyAGI
第10 章 集成
10.1 集成的背景与LLM 集成
10.2 LLM 集成指南
10.2.1 Azure OpenAI 集成
10.2.2 Hugging Face Hub 集成
10.3 聊天模型集成指南
10.3.1 Anthropic 聊天模型集成
10.3.2 PaLM 2 聊天模型集成
10.3.3 OpenAI 聊天模型集成
10.4 向量库集成指南
10.4.1 Chroma 集成
10.4.2 Pinecone 集成
10.4.3 Milvus 集成
10.5 嵌入模型集成指南
10.5.1 HuggingFaceEmbeddings 嵌入集成
10.5.2 LlamaCppEmbeddings 嵌入集成
10.5.3 Cohere 嵌入集成
10.6 Agent toolkits 集成指南
10.6.1 CSV Agent 的集成
10.6.2 Pandas Dataframe Agent 的集成
10.6.3 PowerBI Dataset Agent 的集成
10.7 Retrievers 集成指南
10.7.1 WikipediaRetriever 集成
10.7.2 ArxivRetriever 集成
10.7.3 Azure Cognitive Search 集成
第11 章 LLM 应用开发必学知识
11.1 LLM 的核心知识
11.1.1 文本嵌入
11.1.2 点积相似性和余弦相似性
11.1.3 注意力机制
11.2 Transformer 模型
11.3 语义搜索
11.3.1 语义搜索的工作原理
11.3.2 RAG 的工作原理
11.4 NLP 与机器学习基础
11.4.1 LLM 应用开发中的传统机器学习方法
11.4.2 NLP 文本预处理
11.4.3 构建分类器
附录A LangChain 框架中的主要类
附录B OpenAI 平台和模型介绍
附录C Claude 2 模型介绍
附录D Cohere 模型介绍
附录E PaLM 2 模型介绍
附录F Pinecone 向量数据库介绍
附录G Milvus 向量数据库介绍
评论
还没有评论。