"李特丽"编著的书籍

LangChain入门指南:构建高可复用、可扩展的LLM应用程序

内容简介  · · · · · ·

这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。全书分为11章,从LLM基础知识开始,通过LangChain这个开源框架为读者解读整个LLM应用开发流程。第1~2章概述LLM技术的发展背景和LangChain框架的设计理念。从第3章开始,分章深入介绍LangChain的6大模块,包括模型I/O、数据增强、链、记忆等,通过大量代码示例让读者了解其原理和用法。第9章通过构建PDF问答程序,帮助读者将之前学习的知识应用于实践。第10章则介绍集成,可拓宽LangChain的用途。第11章为初学者简要解析LLM的基础理论,如Transformer模型等。

《LangChain入门指南:构建高可复用、可扩展的LLM应用程序》以LangChain这个让人熟悉的框架为主线,引导读者一步一步掌握LLM应用开发流程,适合对大语言模型感兴趣的开发者、AI应用程序开发者阅读。

作者简介  · · · · · ·

李特丽,LangChain中文网联合创始人,优秀的软件工程师。曾翻译LangChain、OpenAi、Milvus等AI开发三件套的中文文档,帮助中国开发者快速上手AI开发。
康轶文,LangChain中文网创始人,2005年从个人站长做起,成为第一代SEO“大神”;2012年转型移动互联网营销,成为中国Apple Ads代理商,获得苹果千万美元授信;2022年转型月付制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.3 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 向量数据库介绍

Github | Docker | Project