LangChain大模型AI應用開發實踐
陳鵬
買這商品的人也買了...
-
$820$640 -
$539$512 -
$714$678 -
$401矽基物語.AI大爆炸
-
$650$507 -
$454從零開始大模型開發與微調:基於 PyTorch 與 ChatGLM
-
$534$507 -
$750$593 -
$505內容理解:技術、演算法與實踐
-
$331LangChain編程:從入門到實踐
-
$650$507 -
$352大語言模型通識
-
$305大語言模型基礎(微課視頻版)
-
$301自然語言處理——基於深度學習的理論和實踐(微課視頻版)
-
$407生成式AI實戰基於Transformer、Stable Diffusion、LangChain和AI Agent
相關主題
商品描述
"《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