LangChain技术解密:构建大模型应用的全景指南
定 价:118 元
- 作者:王浩帆
- 出版时间:2024/5/1
- ISBN:9787121477379
- 出 版 社:电子工业出版社
- 中图法分类:TP311.561
- 页码:380
- 纸张:
- 版次:01
- 开本:16开
可读性高、实战性强附赠全书配套示例代码深入解析7大核心功能简化大模型开发流程不仅是LangChain的详尽开发指南,更是以其中的诸多知识为轴心,向外扩散,深度阐述其背后的原理之美
-
内容全面:包含Langchain的新版本、新动态及全新表达式语言。
-
系统深入:书中融入了LangGraph、Langsmith等核心组件,讲解细致入微。
-
结构流畅:章节设计自然衔接,有助于读者掌握Langchain的运行逻辑。
-
深度拓展:深入讲解了Langchain的隐私与安全、数据评估等高级主题。
-
实战性强:提供了丰富的代码实例和结果截图,读者可快速上手实践。
-
源码开放:在作者的GitHub中提供了各章节源码,读者可独立运行学习。
王浩帆,从事影视及游戏相关流程开发十余年,长期关注并探索大语言模型及其他人工智能技术在影视及游戏行业的应用落地。同时作为开源技术爱好者,不仅积极为LangChain等开源项目贡献力量,同时也致力于开发个人的开源项目。
第1章 大语言模型及LangChain介绍
1.1 大语言模型介绍
1.1.1 大语言模型总览
1.1.2 大语言模型的发展历史
1.1.3 大语言模型的优势
1.1.4 大语言模型的发展趋势
1.1.5 总结
1.2 LangChain介绍
1.2.1 LangChain是什么
1.2.2 为什么使用LangChain
1.2.3 LangChain的应用场景
1.2.4 如何使用LangChain
第2章 LangChain开发前的准备
2.1 创建OpenAI API Key
2.2 使用云端Colab进行交互式编程
2.2.1 什么是Colab
2.2.2 如何使用Colab
2.3 使用本地Anaconda + JupyterLab进行交互式编程
2.3.1 什么是Anaconda
2.3.2 安装与使用Anaconda
2.4 安装LangChain库
第3章 Model(模型)
3.1 Model简介
3.2 LLM类模型
3.2.1 简介
3.2.2 代码讲解
3.3 Chat类模型
3.3.1 简介
3.3.2 代码讲解
3.4 OpenAI与ChatOpenAI的区别
3.5 OpenAI API
3.5.1 什么是Token
3.5.2 文本补全API:Completion
3.5.3 对话补全API:Chat Completion
3.5.4 常用参数讲解
3.5.5 函数调用
3.6 自定义LangChain模型类
3.6.1 自定义大语言模型
3.6.2 自定义聊天模型
3.7 缓存
3.7.1 标准缓存
3.7.2 流式输出
3.7.3 语义化缓存
3.7.4 GPTCache
3.8 其他
3.8.1 异步调用大语言模型
3.8.2 模型配置序列化
3.8.3 使用Hugging Face
第4章 大语言模型及Prompt(提示)
4.1 Prompt工程
4.1.1 组成Prompt的要素
4.1.2 Prompt的书写技巧
4.1.3 Prompt的生命周期
4.2 提示词模板
4.2.1 PromptTemplate
4.2.2 PartialPromptTemplate
4.2.3 PipelinePromptTemplate
4.2.4 FewShotPromptTemplate
4.2.5 自定义提示词模板
4.2.6 提示词模板的序列化和反序列化
4.2.7 ChatPromptTemplate
4.2.8 MessagesPlaceholder
4.2.9 FewShotChatMessagePromptTemplate
4.3 示例选择器
4.3.1 LengthBasedExampleSelector
4.3.2 SemanticSimilarityExampleSelector
4.3.3 MaxMarginalRelevanceExampleSelector
4.3.4 NGramOverlapExampleSelector
4.3.5 自定义示例选择器
4.4 输出解析器
4.4.1 CommaSeparatedListOutputParser
4.4.2 DatetimeOutputParser
4.4.3 EnumOutputParser
4.4.4 XMLOutputParser
4.4.5 StructuredOutputParser
4.4.6 PydanticOutputParser
4.4.7 OutputFixingParser
4.4.8 RetryWithErrorOutputParser
4.4.9 自定义输出解析器
第5章 Data Connection(数据连接)
5.1 检索增强生成
5.1.1 什么是检索增强生成
5.1.2 检索增强生成的工作流程
5.1.3 什么是Embedding(嵌入)
5.1.4 重要的文本预处理
5.2 Document Loader(文档加载器)
5.2.1 CSV加载器
5.2.2 文件目录加载器
5.2.3 HTML加载器
5.2.4 JSON加载器
5.2.5 Markdown加载器
5.2.6 URL加载器
5.2.7 PDF加载器
5.2.8 自定义加载器
5.3 Document Transformer(文档转换器)
5.3.1 文本分割
5.3.2 文本元数据提取
5.3.3 文本翻译
5.3.4 生成文本问答
5.4 Embedding与Vector Store(嵌入与向量数据库)
5.4.1 Embedding
5.4.2 本地向量存储
5.4.3 云端向量存储
5.5 Retriever(检索器)
5.5.1 基础检索器
5.5.2 多重提问检索器
5.5.3 上下文压缩检索器
5.5.4 集成检索器
5.5.5 父文档检索器
5.5.6 多向量检索器
5.5.7 自查询检索器
5.5.8 检索内容重排
第6章 Chain(链)
6.1 Chain简介
6.2 LLM Chain(LLM链)
6.3 Sequential Chain(顺序链)
6.3.1 SimpleSequentialChain
6.3.2 SequentialChain
6.4 Router Chain(路由链)
6.5 Transform Chain(转换链)
6.6 Sumarize Chain(总结链)
6.7 API Chain与LLMRequestsChain
6.7.1 API Chain
6.7.2 LLMRequestsChain
6.8 SQL Chain(数据库链)
6.8.1 SQLDatabaseChain
6.8.2 SQL Agent
6.9 QA Chain(问答链)
6.9.1 ConversationChain
6.9.2 RetrievalQA
6.9.3 ConversationalRetrievalChain
6.10 LangChain Expression Language(LCEL)
6.10.1 管道操作符
6.10.2 在链中设置参数
6.10.3 配置
6.10.4 设置备用方案
6.10.5 获取输入并运行自定义函数
6.10.6 路由链
第7章 Memory(记忆)
7.1 Memory简介
7.2 将历史对话直接保存成Memory
7.2.1 ConversationBufferMemory
7.2.2 ConversationBufferWindowMemory
7.2.3 ConversationTokenBufferMemory
7.3 将历史对话总结后保存成Memory
7.3.1 ConversationSummaryMemory
7.3.2 ConversationSummaryBufferMemory
7.4 通过向量数据库将历史数据保存成Memory
7.5 多Memory组合
7.6 实体记忆及实体关系记忆
7.6.1 通过记录实体进行记忆
7.6.2 通过知识图谱进行记忆
7.7 在使用LCEL的链中添加内存组件
7.8 自定义Memory组件
第8章 Agent(代理)
8.1 简介
8.2 ReAct和Plan and Execute(计划与执行)
8.2.1 ReAct
8.2.2 Plan and Execute(计划与执行)
8.3 Agent初探
8.4 Agent类型
8.4.1 Chat ReAct
8.4.2 ReAct Document Store
8.4.3 Conversational
8.4.4 OpenAI Function
8.4.5 Self-Ask With Search
8.4.6 Structured Tool Chat
8.4.7 OpenAI Assistant
8.5 自定义Tool
8.5.1 使用Tool对象
8.5.2 继承BaseTool
8.5.3 使用Tool装饰器
8.5.4 Structured Tool
8.5.5 异常处理
8.6 人工校验及输入
8.6.1 默认人工校验
8.6.2 自定义用户审批
8.6.3 人工输入
8.7 Agent实际应用
8.7.1 结合向量存储使用Agent
8.7.2 Fake Agent(虚构代理)
8.7.3 自定义Agent
8.7.4 自定义LLM Agent
8.7.5 自定义MRKL Agent
8.7.6 自定义具有工具检索功能的Agent
8.7.7 Auto-GPT Agent
8.8 LangGraph
8.8.1 简介
8.8.2 示例
第9章 LangChain的其他功能
9.1 回调
9.1.1 简介
9.1.2 自定义回调处理
9.1.3 将日志记录到文件中
9.1.4 Token使用量跟踪
9.1.5 LLMonitor
9.2 隐私与安全
9.2.1 隐私
9.2.2 安全
9.3 Evaluation(评估)
9.3.1 简介
9.3.2 字符串评估器
9.3.3 比较评估器
9.3.4 轨迹评估器
9.4 LangSmith
9.4.1 简介
9.4.2 收集与追踪
9.4.3 评估
9.4.4 LangSmith Hub
9.5 LangServe
9.5.1 简介
9.5.2 构建
9.5.3 调用
9.5.4 LangChain Templates
9.6 LangChain v0.1
9.7 总结
第10章 案例开发与实战
10.1 基于Streamlit实现聊天机器人
10.1.1 简介
10.1.2 实现
10.1.3 部署
10.2 基于Chainlit实现PDF问答机器人
10.2.1 简介
10.2.2 实现
10.3 零代码AI应用构建平台:Flowise
10.3.1 简介
10.3.2 运行
10.3.3 使用