LANGCHAIN技術解密:構建大模型應用的全景指南 版權信息
- ISBN:9787121477379
- 條形碼:9787121477379 ; 978-7-121-47737-9
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>
LANGCHAIN技術解密:構建大模型應用的全景指南 本書特色
內容全面:包含Langchain的新版本、新動態及全新表達式語言。
系統深入:書中融入了LangGraph、Langsmith等核心組件,講解細致入微。
結構流暢:章節設計自然銜接,有助于讀者掌握Langchain的運行邏輯。
深度拓展:深入講解了Langchain的隱私與安全、數據評估等高級主題。
實戰性強:提供了豐富的代碼實例和結果截圖,讀者可快速上手實踐。
源碼開放:在作者的GitHub中提供了各章節源碼,讀者可獨立運行學習。
LANGCHAIN技術解密:構建大模型應用的全景指南 內容簡介
可讀性高、實戰性強附贈全書配套示例代碼深入解析7大核心功能簡化大模型開發流程不僅是LangChain的詳盡開發指南,更是以其中的諸多知識為軸心,向外擴散,深度闡述其背后的原理之美
LANGCHAIN技術解密:構建大模型應用的全景指南 目錄
第1章 大語言模型及LangChain介紹 1
1.1 大語言模型介紹 1
1.1.1 大語言模型總覽 1
1.1.2 大語言模型的發展歷史 2
1.1.3 大語言模型的優勢 5
1.1.4 大語言模型的發展趨勢 5
1.1.5 總結 6
1.2 LangChain介紹 7
1.2.1 LangChain是什么 7
1.2.2 為什么使用LangChain 7
1.2.3 LangChain的應用場景 10
1.2.4 如何使用LangChain 11
第2章 LangChain開發前的準備 14
2.1 創建OpenAI API Key 14
2.2 使用云端Colab進行交互式編程 17
2.2.1 什么是Colab 17
2.2.2 如何使用Colab 17
2.3 使用本地Anaconda JupyterLab進行交互式編程 19
2.3.1 什么是Anaconda 19
2.3.2 安裝與使用Anaconda 20
2.4 安裝LangChain庫 24
第3章 Model(模型) 27
3.1 Model簡介 27
3.2 LLM類模型 28
3.2.1 簡介 28
3.2.2 代碼講解 29
3.3 Chat類模型 31
3.3.1 簡介 31
3.3.2 代碼講解 32
3.4 OpenAI與ChatOpenAI的區別 35
3.5 OpenAI API 36
3.5.1 什么是Token 36
3.5.2 文本補全API:Completion 38
3.5.3 對話補全API:Chat Completion 40
3.5.4 常用參數講解 41
3.5.5 函數調用 45
3.6 自定義LangChain模型類 48
3.6.1 自定義大語言模型 48
3.6.2 自定義聊天模型 51
3.7 緩存 54
3.7.1 標準緩存 54
3.7.2 流式輸出 59
3.7.3 語義化緩存 59
3.7.4 GPTCache 61
3.8 其他 68
3.8.1 異步調用大語言模型 68
3.8.2 模型配置序列化 69
3.8.3 使用Hugging Face 71
第4章 大語言模型及Prompt(提示) 74
4.1 Prompt工程 74
4.1.1 組成Prompt的要素 74
4.1.2 Prompt的書寫技巧 75
4.1.3 Prompt的生命周期 81
4.2 提示詞模板 82
4.2.1 PromptTemplate 83
4.2.2 PartialPromptTemplate 84
4.2.3 PipelinePromptTemplate 86
4.2.4 FewShotPromptTemplate 88
4.2.5 自定義提示詞模板 89
4.2.6 提示詞模板的序列化和反序列化 90
4.2.7 ChatPromptTemplate 92
4.2.8 MessagesPlaceholder 94
4.2.9 FewShotChatMessagePromptTemplate 95
4.3 示例選擇器 96
4.3.1 LengthBasedExampleSelector 96
4.3.2 SemanticSimilarityExampleSelector 98
4.3.3 MaxMarginalRelevanceExampleSelector 100
4.3.4 NGramOverlapExampleSelector 101
4.3.5 自定義示例選擇器 103
4.4 輸出解析器 105
4.4.1 CommaSeparatedListOutputParser 105
4.4.2 DatetimeOutputParser 106
4.4.3 EnumOutputParser 107
4.4.4 XMLOutputParser 109
4.4.5 StructuredOutputParser 110
4.4.6 PydanticOutputParser 112
4.4.7 OutputFixingParser 115
4.4.8 RetryWithErrorOutputParser 116
4.4.9 自定義輸出解析器 117
第5章 Data Connection(數據連接) 120
5.1 檢索增強生成 120
5.1.1 什么是檢索增強生成 120
5.1.2 檢索增強生成的工作流程 120
5.1.3 什么是Embedding(嵌入) 122
5.1.4 重要的文本預處理 123
5.2 Document Loader(文檔加載器) 124
5.2.1 CSV加載器 124
5.2.2 文件目錄加載器 124
5.2.3 HTML加載器 125
5.2.4 JSON加載器 126
5.2.5 Markdown加載器 127
5.2.6 URL加載器 127
5.2.7 PDF加載器 129
5.2.8 自定義加載器 132
5.3 Document Transformer(文檔轉換器) 133
5.3.1 文本分割 134
5.3.2 文本元數據提取 141
5.3.3 文本翻譯 143
5.3.4 生成文本問答 144
5.4 Embedding與Vector Store(嵌入與向量數據庫) 146
5.4.1 Embedding 146
5.4.2 本地向量存儲 148
5.4.3 云端向量存儲 151
5.5 Retriever(檢索器) 155
5.5.1 基礎檢索器 155
5.5.2 多重提問檢索器 156
5.5.3 上下文壓縮檢索器 161
5.5.4 集成檢索器 167
5.5.5 父文檔檢索器 168
5.5.6 多向量檢索器 170
5.5.7 自查詢檢索器 176
5.5.8 檢索內容重排 179
第6章 Chain(鏈) 182
6.1 Chain簡介 182
6.2 LLM Chain(LLM鏈) 183
6.3 Sequential Chain(順序鏈) 187
6.3.1 SimpleSequentialChain 187
6.3.2 SequentialChain 189
6.4 Router Chain(路由鏈) 190
6.5 Transform Chain(轉換鏈) 193
6.6 Sumarize Chain(總結鏈) 195
6.7 API Chain與LLMRequestsChain 197
6.7.1 API Chain 197
6.7.2 LLMRequestsChain 198
6.8 SQL Chain(數據庫鏈) 198
6.8.1 SQLDatabaseChain 199
6.8.2 SQL Agent 201
6.9 QA Chain(問答鏈) 202
6.9.1 ConversationChain 202
6.9.2 RetrievalQA 202
6.9.3 ConversationalRetrievalChain 203
6.10 LangChain Expression Language(LCEL) 204
6.10.1 管道操作符 204
6.10.2 在鏈中設置參數 205
6.10.3 配置 206
6.10.4 設置備用方案 207
6.10.5 獲取輸入并運行自定義函數 208
6.10.6 路由鏈 210
第7章 Memory(記憶) 213
7.1 Memory簡介 213
7.2 將歷史對話直接保存成Memory 214
7.2.1 ConversationBufferMemory 214
7.2.2 ConversationBufferWindowMemory 216
7.2.3 ConversationTokenBufferMemory 217
7.3 將歷史對話總結后保存成Memory 219
7.3.1 ConversationSummaryMemory 219
7.3.2 ConversationSummaryBufferMemory 221
7.4 通過向量數據庫將歷史數據保存成Memory 223
7.5 多Memory組合 225
7.6 實體記憶及實體關系記憶 227
7.6.1 通過記錄實體進行記憶 227
7.6.2 通過知識圖譜進行記憶 229
7.7 在使用LCEL的鏈中添加內存組件 231
7.8 自定義Memory組件 232
第8章 Agent(代理) 234
8.1 簡介 234
8.2 ReAct和Plan and Execute(計劃與執行) 235
8.2.1 ReAct 235
8.2.2 Plan and Execute(計劃與執行) 236
8.3 Agent初探 237
8.4 Agent類型 239
8.4.1 Chat ReAct 239
8.4.2 ReAct Document Store 241
8.4.3 Conversational 242
8.4.4 OpenAI Function 244
8.4.5 Self-Ask With Search 246
8.4.6 Structured Tool Chat 247
8.4.7 OpenAI Assistant 250
8.5 自定義Tool 252
8.5.1 使用Tool對象 252
8.5.2 繼承BaseTool 254
8.5.3 使用Tool裝飾器 255
8.5.4 Structured Tool 255
8.5.5 異常處理 257
8.6 人工校驗及輸入 259
8.6.1 默認人工校驗 259
8.6.2 自定義用戶審批 260
8.6.3 人工輸入 261
8.7 Agent實際應用 263
8.7.1 結合向量存儲使用Agent 263
8.7.2 Fake Agent(虛構代理) 264
8.7.3 自定義Agent 265
8.7.4 自定義LLM Agent 267
8.7.5 自定義MRKL Agent 272
8.7.6 自定義具有工具檢索功能的Agent 276
8.7.7 Auto-GPT Agent 281
8.8 LangGraph 283
8.8.1 簡介 283
8.8.2 示例 286
第9章 LangChain的其他功能 292
9.1 回調 292
9.1.1 簡介 292
9.1.2 自定義回調處理 296
9.1.3 將日志記錄到文件中 297
9.1.4 Token使用量跟蹤 299
9.1.5 LLMonitor 300
9.2 隱私與安全 303
9.2.1 隱私 303
9.2.2 安全 307
9.3 Evaluation(評估) 309
9.3.1 簡介 309
9.3.2 字符串評估器 311
9.3.3 比較評估器 316
9.3.4 軌跡評估器 320
9.4 LangSmith 323
9.4.1 簡介 323
9.4.2 收集與追蹤 324
9.4.3 評估 327
9.4.4 LangSmith Hub 334
9.5 LangServe 337
9.5.1 簡介 337
9.5.2 構建 338
9.5.3 調用 341
9.5.4 LangChain Templates 342
9.6 LangChain v0.1 345
9.7 總結 346
第10章 案例開發與實戰 347
10.1 基于Streamlit實現聊天機器人 347
10.1.1 簡介 347
10.1.2 實現 348
10.1.3 部署 352
10.2 基于Chainlit實現PDF問答機器人 354
10.2.1 簡介 354
10.2.2 實現 354
10.3 零代碼AI應用構建平臺:Flowise 359
10.3.1 簡介 359
10.3.2 運行 359
10.3.3 使用 360
展開全部
LANGCHAIN技術解密:構建大模型應用的全景指南 作者簡介
王浩帆,從事影視及游戲相關流程開發十余年,長期關注并探索大語言模型及其他人工智能技術在影視及游戲行業的應用落地。作為開源技術愛好者和LangChain Contributer,不僅積極為LangChain等開源項目貢獻力量,也致力于開發個人的開源項目。