LangChain 大模型 AI 應用開發實踐

陳鵬

  • 出版商: 清華大學
  • 出版日期: 2024-10-01
  • 定價: $534
  • 售價: 8.5$454
  • 語言: 簡體中文
  • ISBN: 7302672520
  • ISBN-13: 9787302672524
  • 相關分類: LangChain
  • 下單後立即進貨 (約4週~6週)

  • LangChain 大模型 AI 應用開發實踐-preview-1
  • LangChain 大模型 AI 應用開發實踐-preview-2
  • LangChain 大模型 AI 應用開發實踐-preview-3
LangChain 大模型 AI 應用開發實踐-preview-1

買這商品的人也買了...

相關主題

商品描述

"《LangChain大模型AI應用開發實踐》是一本深度探索LangChain框架及其在構建高效AI應用中所扮演角色的**教程。本書以實戰為導向,系統介紹了從LangChain基礎到高級應用的全過程,旨在幫助開發者迅速掌握這一強大的工具,解鎖人工智能開發的新維度。 本書內容圍繞LangChain快速入門、Chain結構構建、大模型接入與優化、提示詞工程、高級輸出解析技術、數據檢索增強(RAG)、知識庫處理、智能體(agent)開發及其能力拓展等多個層面展開。通過詳實的案例分析與步驟解說,讀者可以學會整合如ChatGLM等**大模型,運用ChromaDB進行高效的向量檢索,以及設計與實現具有記憶功能和上下文感知能力的AI智能體。此外,書中還介紹瞭如何利用LangChain提升應用響應速度、修復模型輸出錯誤、自定義輸出解析器等實用技巧,為開發者提供了豐富的策略與工具。 本書主要面向AI開發者、數據科學家、機器學習工程師,以及對自然語言處理和人工智能應用感興趣的中級和高級技術人員。"

目錄大綱

目   錄

 

第  1  章 快速認識 LangChain  1

1.1   LangChain概 述  2

1.1.1   認識 LangChain  2

1.1.2   LangChain的用途  3

1.1.3   LangChain生態與開源項目概覽  4

1.2   安裝Python環境  5

1.2.1   下載 Anaconda  5

1.2.2   安裝 Anaconda  7

1.3   使用Jupyter Notebook 學習LangChain  8

1.3.1   安裝 JupyterNotebook  8

1.3.2   啟動JupyterNotebook  9

1.3.3   創建新的 Notebook  10

1.3.4   使用JupyterNotebook 學習LangChain  10

1.3.5   Jupyter Notebook 快捷鍵  11

1.3.6   使用快捷鍵的好處  13

1.4   安裝和配置 LangChain環境  13

1.5   第一個LangChain應用示例  15

 

第 2 章 接入大模型  21

2.1   在LangChain中使用免費的文心大模型 API  22

2.1.1    文心大模型簡介  22

2.1.2   基礎使用 22

2.1.3   鏈式調用 25

2.1.4   流式生成  25

2.1.5   批量生成  26

2.2   使用 DeepSeek API進行 LangChain 開發   26

2.2.1   DeepSeek -V2概述  27

2.2.2    獲取 API 密 鑰  27

2.2.3    配置環境  27

2.2.4    集成 DeepSeek API  28

2.3   在LangChain 中使用 ChatGLM-4 API  30

2.3.1   GLM-4模型簡介   30

2.3.2   在LangChain中集成 ChatGLM-4  30

2.4    LangChain  調用本地開源大模型ChatGLM3  32

2.4.1   ChatGLM3-6B 模型簡介  32

2.4.2   安裝和準備工作  33

2.4.3    實現基本對話  34

2.4.4   LangChain 調用本地開源大模型 ChatGLM3   34

2.5    接入部署的開源大模型的類OpenAI 服務器  37

2.5.1   為什麽要實現 OpenAI 類似的響應   38

2.5.2   常見本地部署提供兼容的 OpenAIAPI  應用  38

2.6    LM Studio 搭 建OpenAI API 服務器  41

2.6.1    安裝 LM Studio  41

2.6.2    下載和加載模型  43

2.6.3    配置和運行本地服務器  48

2.6.4  鏈式調用 49

 

第3章  LangChain提示詞工程  51

3.1    利用提示詞工程構建 LangChain  AI應 用 52

3.1.1   基礎策略  52

3.1.2    高級技巧  52

3.1.3    實際案例分析  53

3.2   LangChain 提示詞模塊  54

3.2.1   PromptTemplate   的使用  54

3.2.2   ChatPromptTemplate 的使用  56

3.3   少樣本提示示例  57

3.3.1   理解少樣本提示  58

3.3.2   LangChain 中的少樣本提示應用  58

3.3.3    編寫少樣本提示  58

 

第 4 章 高級提示詞技術   65

4.1   巧用提示詞的案例選擇器  66

4.1.1    根據長度優化示例選擇器  66

4.1.2   使用最大餘弦相似度嵌入示例  69

4.1.3   使用 MMR 選擇示例  71

4.1.4   構建和格式化提示  72

4.1.5   調用和解析結果  74

4.2   消息對話提示詞實現少樣本學習 74

4.3    向量存儲實現消息對話的示例選擇   77

4.3.1    引入必要的庫  77

4.3.2   加載模型  77

4.3.3    創建示例集合  78

4.3.4   利 用Chroma 向量存儲和語義相似度選擇示例   78

4.3.5   選擇語義相似的示例  79

4.3.6    應用示例格式化對話  80

4.4    管理歷史消息  82

4.4.1   MessagesPlaceholder 組 件  82

4.4.2    如何使用MessagesPlaceholder  82

4.4.3    實際使用場景  83

4.5   默認部分提示詞變量  84

4.6   動態默認提示詞變量  87

4.7    管道提示詞  90

 

第5章  LangChain 輸出解析   94

5.1   CSV 格式解析器  95

5.1.1   理解 CommaSeparatedListOutputParser  95

5.1.2    配置輸出解析器  95

5.1.3   創建 Prompt 模板  96

5.1.4   應用解析器  97

5.1.5    示例應用:列出雪糕口味  97

5.2   日期時間格式解析器  98

5.3   枚舉解析器   100

5.3.1    引入枚舉類型  100

5.3.2   枚舉解析器的配置與使用 101

5.3.3   構建 LangChain 調用鏈   101

5.3.4   執行與輸出 102

5.4 XML  格式解析器  102

5.5    自定義大模型輸出解析器   104

5.5.1   使用RunnableLambda 或 RunnableGenerator  105

5.5.2   將關鍵詞替換為表情符號  105

 

第 6 章 檢索增強生成  107

6.1    詳解 RAG  108

6.1.1    認識RAG   108

6.1.2   RAG 的技術原理   109

6.1.3   RAG 的應用 110

6.1.4   RAG  的挑戰與未來發展   111

6.2   RAG  應用案例  113

6.2.1   創建向量數據庫  113

6.2.2   使用檢索器檢索相關文檔  114

6.2.3   結 合LangChain 進行問答  114

6.3   知識庫文檔的多種加載方式  115

6.3.1   加載單個文本文檔   116

6.3.2   加載整個目錄的文檔  116

6.3.3   加載 HTML 格式的文檔   117

6.4   處 理PDF 格式的知識庫文檔  118

6.5   分割長文本  120

6.5.1   加載文檔   120

6.5.2   創建文本分割器   121

6.5.3    分割文檔   122

6.6    分割不同語言的代碼  123

6.6.1    必要模塊引入和語言支持  123

6.6.2    分割器配置與使用 125

6.6.3    處理其他語言   126

6.7    Markdown  文本分割   126

6.7.1   MarkdownHeaderTextSplitter 概述與基本使用 127

6.7.2    分割選項  128

 

第7章 高級 RAG  應用  129

7.1   最大邊際相關性檢索  130

7.1.1   基本概念   130

7.1.2    文檔庫設置與向量存儲構建  130

7.1.3   MMR 檢索集成與回答生成  131

7.2  實現相似性分數閾值檢索  132

7.2.1   相似性分數閾值檢索的概念及基本設置  133

7.2.2    相似性分數閾值檢索與MMR 檢索的比較  133

7.3    自查詢檢索器的使用  134

7.3.1   工作原理和代碼配置   134

7.3.2   文檔和向量存儲配置  135

7.3.3    自查詢檢索器配置與操作示例  136

 

第8章  AI應用流程控制  139

8.1    並行處理任務   140

8.2    管道中添加自定義函數   142

8.3    LangChain 動態路由邏輯  144

8.4    運行時配置鏈的內部結構   148

8.4.1    兩種方法的使用 148

8.4.2    實際應用示例  149

8.5    使用@chain 裝飾器  150

8.6   自定義流式生成器函數  152

8.7    異步的自定義流式生成器函數   154

 

第9章 智能體開發  156

9.1   什麽是智能體  157

9.1.1   智能體的核心功能  157

9.1.2    智能體的應用 157

9.1.3    開發智能體的挑戰  158

9.2    智能體開發的關鍵組件   158

9.3   案例分析:智能體自動處理 GitHub   問題  160

9.4    @tool 快速定義智能體工具   161

9.4.1    理 解 @tool 裝飾器  161

9.4.2    示例:定義天氣查詢工具  162

9.4.3   使用場景和最佳實踐  164

9.5   定義智能搜索工具   164

9.6   快速搭建第一個智能體  168

9.7   提示詞引導智能體使用工具   170

9.8   格式化中間步驟構建智能體  174

9.8.1    中間步驟格式化和輸出解析  174

9.8.2   構建智能體執行流程  178

9.8.3   執行智能體  179

9.9    為智能體添加歷史聊天記錄  181

 

第 1 0 章  智能體強化  184

10.1   獲取並處理學術論文  185

10.2   AI調用 Shell 命令控制電腦  187

10.3   AI自動生成與執行代碼   189

10.3.1   利 用LangChain 構建自動化代碼生成流程  189

10.3.2   示例:自動解決數學問題   191

 

第 1 1 章    LangGraph 多智能體  192

11.1   LangGraph   的核心概念  193

11.2   搭建 LangGraph   應用 194

11.2.1   定義節點和邊  194

11.2.2    創建和配置圖 196

11.2.3   展示圖結構  198

11.2.4   執行圖 198

11.2.5    圖的動態行為和狀態管理  199

11.3   LangGraph  靈活自定義智能體  199

11.3.1   定義大語言模型  200

11.3.2   定義智能體提示詞  200

11.3.3   定義工具  201

11.3.4   定義狀態  203

11.3.5    定義是否使用工具條件  203

11.3.6   定義圖 204

11.3.7   使用智能體  207

11.4   多智能體模擬圓桌派綜藝節目 208

11.4.1   智能體配置   209

11.4.2   信息流與處理邏輯  209

11.4.3   構建數據流圖 214

 

第12章 人工智能銷售助手   218

12.1   概述與核心概念  218

12.2   SalesGPT 智能體的架構  219

12.2.1   銷售代理的運行機制 219

12.2.2   銷售階段識別代理  220

12.2.3    系統整合與數據流  220

12.3   定義銷售對話階段分析鏈  221

12.3.1   理 解LangChain 鏈的基礎  221

12.3.2   設計 StageAnalyzerChain   221

12.3.3    實現 StageAnalyzerChain   222

12.4   LangChain 實現歷史對話生成銷售話語的類  224

12.4.1    設計 SalesConversationChain類  224

12.4.2    實施 SalesConversationChain  225

12.5   構建和利用產品知識庫  228

12.5.1   設計產品知識庫  229

12.5.2    實施和部署產品知識庫  230

12.5.3   利用產品知識庫進行銷售支持  232

12.5.4    維護和優化知識庫  232

12.6    定義知識庫工具的模板和解析器  233

12.6.1    自定義提示模板  233

12.6.2   定義銷售智能體輸出解析器  234

12.7    定義LangChain 銷售智能體類  236

12.7.1    SalesGPT 類概述  236

12.7.2   動態工具使用 237

12.7.3    實現復雜對話管理  238

12.7.4    完整代碼示例  238

12.8   配置和運行銷售智能體  247

12.8.1   設置代理配置  248

12.8.2   初始化和運行智能體  248