《LangChain編程:從入門到實踐》是2024年人民郵電出版社出版的圖書。
基本介紹
- 中文名:LangChain編程:從入門到實踐
- 作者:李多多(@莫爾索)
- 出版時間:2024年4月1日
- 出版社:人民郵電出版社
- ISBN:9787115639424
內容簡介,圖書目錄,
內容簡介
LangChain為開發者提供了一套強大而靈活的工具,使其能夠輕鬆構建和最佳化大模型套用。本書以簡潔而實用的方式引導讀者入門大模型套用開發,涵蓋LangChain的核心概念、原理和高級特性,並為讀者提供了在實際項目中套用LangChain的指導。
本書從實際的例子出發,細緻解讀LangChain框架的核心模組和源碼,使抽象的概念變得具體。無論你是初學者還是有經驗的開發者,都能從中受益,能夠將LangChain的獨特之處融入自己的編程實踐中。閱讀本書,一起探索LangChain編程的奇妙世界吧!
圖書目錄
前言
第 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