LangChain編程:從入門到實踐

李多多(@莫爾索)

  • 出版商: 人民郵電
  • 出版日期: 2024-09-01
  • 定價: $419
  • 售價: 7.9$331 (限時優惠至 2024-11-30)
  • 語言: 簡體中文
  • 頁數: 192
  • 裝訂: 平裝
  • ISBN: 7115639426
  • ISBN-13: 9787115639424
  • 相關分類: LangChain
  • 立即出貨

  • LangChain編程:從入門到實踐-preview-1
  • LangChain編程:從入門到實踐-preview-2
LangChain編程:從入門到實踐-preview-1

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

相關主題

商品描述

LangChain為開發者提供了一套強大而靈活的工具,使其能夠輕松構建和優化大模型應用。本書以簡潔而實用的方式引導讀者入門大模型應用開發,涵蓋LangChain的核心概念、原理和高級特性,並為讀者提供了在實際項目中應用LangChain的指導。

本書從實際的例子出發,細致解讀LangChain框架的核心模塊和源碼,使抽象的概念變得具體。無論你是初學者還是有經驗的開發者,都能從中受益,能夠將LangChain的獨特之處融入自己的編程實踐中。閱讀本書,一起探索LangChain編程的奇妙世界吧!

作者簡介

李多多(@莫尔索)

在大模型应用落地方面有丰富的经验,为知名项目AutoGPT、LangChain框架等贡献过代码。撰有开源电子书《LLM应用开发实践》。“莫尔索随笔”公众号主理人,致力于大模型技术普及。

目錄大綱

前言

第 1章 LangChain簡介 1

1.1 LangChain的產生背景 1

1.1.1 大模型技術浪潮 1

1.1.2 大模型時代的開發範式 5

1.1.3 LangChain框架的爆火 6

1.2 LangChain核心概念和模塊 8

1.2.1 模型I/O模塊 9

1.2.2 檢索模塊 9

1.2.3 鏈模塊 10

1.2.4 記憶模塊 10

1.2.5 代理模塊 11

1.2.6 回調模塊 13

1.3 LangChain與其他框架的比較 13

1.3.1 框架介紹 14

1.3.2 框架比較 16

1.3.3 小結 17

第 2章 LangChain初體驗 18

2.1 開發環境準備 18

2.1.1 管理工具安裝 18

2.1.2 源碼安裝 19

2.1.3 其他庫安裝 19

2.2 快速開始 19

2.2.1 語言模型 20

2.2.2 提示模板 21

2.2.3 輸出解析器 22

2.2.4 使用LCEL進行組合 23

2.2.5 使用LangSmith進行觀測 26

2.2.6 使用LangServe提供服務 26

2.3 最佳安全實踐 29

第3章 模型輸入與輸出 30

3.1 大模型原理解釋 30

3.1.1 為什麽模型輸出不可控 30

3.1.2 輸入對輸出的影響 31

3.2 提示模板組件 34

3.2.1 基礎提示模板 34

3.2.2 自定義提示模板 36

3.2.3 使用FewShotPromptTemplate 37

3.2.4 示例選擇器 39

3.3 大模型接口 42

3.3.1 聊天模型 43

3.3.2 聊天模型提示詞的構建 43

3.3.3 定製大模型接口 46

3.3.4 擴展模型接口 51

3.4 輸出解析器 51

第4章 鏈的構建 56

4.1 鏈的基本概念 56

4.2 Runnable對象接口探究 56

4.2.1 schema 60

4.2.2 invoke 61

4.2.3 stream 62

4.2.4 batch 63

4.2.5 astream_log 65

4.3 LCEL高級特性 66

4.3.1 ConfigurableField 66

4.3.2 RunnableLambda 67

4.3.3 RunnableBranch 67

4.3.4 RunnablePassthrough 68

4.3.5 RunnableParallel 68

4.3.6 容錯機制 69

4.4 Chain接口 70

4.4.1 Chain接口調用 70

4.4.2 自定義Chain實現 71

4.4.3 工具Chain 73

4.5 專用Chain 74

4.5.1 對話場景 74

4.5.2 基於文檔問答場景 75

4.5.3 數據庫問答場景 75

4.5.4 API 查詢場景 76

4.5.5 文本總結場景 76

第5章 RAG 77

5.1 RAG技術概述 77

5.2 LangChain中的RAG組件 80

5.2.1 加載器 80

5.2.2 分割器 81

5.2.3 文本嵌入 86

5.2.4 向量存儲 91

5.2.5 檢索器 95

5.2.6 多文檔聯合檢索 103

5.2.7 RAG技術的關鍵挑戰 106

5.3 檢索增強生成實踐 106

5.3.1 文檔預處理過程 106

5.3.2 文檔檢索過程 111

5.3.3 方案優勢 116

第6章 智能代理設計 117

6.1 智能代理的概念 117

6.2 LangChain中的代理 117

6.2.1 LLM 驅動的智能代理 118

6.2.2 LangChain中的代理 121

6.2.3 代理的類型 125

6.2.4 自定義代理工具 133

6.3 設計並實現一個多模態代理 136

第7章 記憶組件 139

7.1 構建記憶系統 140

7.2 記憶組件類型 141

7.2.1 ConversationBufferMemory 141

7.2.2 ConversationBufferWindowMemory 142

7.2.3 ConversationEntityMemory 142

7.2.4 ConversationKGMemory 143

7.2.5 VectorStoreRetrieverMemory 144

7.2.6 ConversationSummaryMemory 145

7.2.7 ConversationSummaryBufferMemory 145

7.2.8 VectorStoreRetrieverMemory 146

7.3 記憶組件的應用 147

7.3.1 將記憶組件接入代理 148

7.3.2 自定義記憶組件 149

7.3.3 不同記憶組件結合 151

7.4 記憶組件實戰 152

7.4.1 方案說明 153

7.4.2 代碼實踐 153

第8章 回調機制 159

8.1 回調處理器 159

8.2 使用回調的兩種方式 161

8.2.1 構造器回調 161

8.2.2 請求回調 161

8.3 實現可觀測性插件 162

第9章 構建多模態機器人 165

9.1 需求思考與設計 165

9.1.1 需求分析 165

9.1.2 應用設計 165

9.1.3 Slack應用配置 167

9.2 利用LangChain開發應用 170

9.2.1 構建Slack事件接口 171

9.2.2 消息處理框架 172

9.2.3 實現多模態代理 174

9.3 應用監控和調優 177

9.3.1 應用監控 177

9.3.2 模型效果評估 178

9.3.3 模型備選服務 178

9.3.4 模型內容安全 179

9.3.5 應用部署 179

第 10章 社區和資源 180

10.1 LangChain社區介紹 180

10.1.1 官方博客 180

10.1.2 項目代碼與文檔 180

10.1.3 社區貢獻 181

10.1.4 參與社區活動 182

10.2 資源和工具推薦 182

10.2.1 模板 183

10.2.2 LangServe 184

10.2.3 LangSmith 186

10.2.4 教程用例 189

10.3 LangChain的未來展望 189

10.3.1 生態系統概覽 191

10.3.2 變化與重構 191

10.3.3 發展計劃 191