LangChain編程(從入門到實踐第2版)/圖靈原創
內容大鋼
LangChain為開發人員提供了一套強大而靈活的工具,使其能夠輕鬆構建和優化大模型應用。本書以簡潔而實用的方式引導讀者入門大模型應用開發,涵蓋LangChain的核心概念、原理和高級特性,通過實例細緻解讀了LangChain框架的核心模塊和源碼,並結合DeepSeek等,為讀者提供了在實際項目中應用LangChain的逐步指導。這一版在第1版的基礎上進行了全面更新,並新增了對LangGraph庫的詳細講解等內容。無論是初學者還是有經驗的開發者,都能從中受益,能夠將LangChain的獨特之處融入編程實踐。
本書適合大模型應用開發初學者閱讀。
作者介紹
李多多|責編:王軍花
李多多(@莫爾索),在大模型應用落地方面有豐富的經驗,為知名項目AutoGPT、LangChain框架等貢獻過代碼,撰有開源電子書《LLM應用開發實踐》。「莫爾索隨筆」公眾號主理人,致力於大模型技術普及。
目錄
第1章 LangChain簡介
1.1 LangChain的產生背景
1.1.1 大模型技術浪潮
1.1.2 大模型時代的開發範式
1.1.3 LangChain框架的爆火
1.2 LangChain核心概念和模塊
1.2.1 模型IO模塊
1.2.2 RAG模塊
1.2.3 存儲模塊
1.2.4 工具模塊
1.2.5 回調組件
1.2.6 LCEL語法
1.2.7 LangGraph庫
1.2.8 小結
1.3 LangChain與其他框架的比較
1.3.1 框架介紹
1.3.2 框架比較
1.3.3 小結
第2章 LangChain初體驗
2.1 開發環境準備
2.1.1 管理工具安裝
2.1.2 源碼安裝
2.1.3 其他庫安裝
2.2 快速開始
2.2.1 模型組件
2.2.2 提示詞模板組件
2.2.3 輸出解析器組件
2.2.4 使用LCEL進行組合
2.2.5 使用LangSmith進行觀測
2.2.6 使用LangServe提供服務
2.3 最佳安全實踐
第3章 模型輸入與輸出
3.1 大模型原理解釋
3.1.1 為什麼模型輸出不可控
3.1.2 輸入對輸出的影響
3.2 提示詞模板組件
3.2.1 基礎提示詞模板
3.2.2 自定義提示詞模板
3.2.3 使用FewShotPromptTemplate
3.2.4 示例選擇器
3.3 大模型介面
3.3.1 聊天模型
3.3.2 聊天模型提示詞的構建
3.3.3 定製大模型介面
3.3.4 擴展模型介面
3.4 輸出解析器
第4章 鏈的構建
4.1 鏈的基本概念
4.2 LCEL語法探究
4.3 Runnable對象介面
4.3.1 schema屬性
4.3.2 invoke方法
4.3.3 stream方法
4.3.4 batch方法
4.3.5 astream_log方法
4.3.6 astream_events方法
4.4 LCEL高級特性
4.4.1 ConfigurableField
4.4.2 RunnableLambda
4.4.3 RunnableBranch
4.4.4 RunnablePassthrough
4.4.5 RunnableParallel
4.4.6 容錯機制
第5章 RAG介紹
5.1 RAG技術概述
5.2 LangChain中的RAG組件
5.2.1 文檔載入組件
5.2.2 文檔分割組件
5.2.3 文檔嵌入
5.2.4 向量存儲
5.2.5 檢索器
5.2.6 多文檔聯合檢索
5.2.7 RAG技術的關鍵挑戰
5.3 RAG實踐
5.3.1 文檔預處理過程
5.3.2 文檔檢索過程
5.3.3 方案優勢
第6章 智能代理設計
6.1 智能代理的概念
6.2 LangChain中的代理
6.2.1 LLM驅動的智能代理
6.2.2 代理組件
6.3 LangGraph庫
6.3.1 LangGraph核心概念
6.3.2 LangGraph代理能力
6.3.3 使用LangGraph構建代理
應用
第7章 記憶系統
7.1 記憶系統介紹
7.2 短期記憶管理
7.2.1 保留全部對話
7.2.2 記憶窗口機制
7.2.3 按條件篩選對話
7.2.4 創建對話摘要
7.3 長期記憶管理
7.3.1 基於向量的記憶存儲
7.3.2 基於知識圖譜構建結構化
記憶
7.4 自定義記憶組件
7.4.1 方案說明
7.4.2 代碼實踐
第8章 回調機制
8.1 回調處理器
8.2 使用回調的兩種方式
8.2.1 構造器回調
8.2.2 請求回調
8.3 實現可觀測性插件
第9章 構建多模態智能機器人
9.1 需求思考與設計
9.1.1 需求分析
9.1.2 應用設計
9.1.3 Slack應用配置
9.2 利用LangChain開發應用
9.2.1 構建Slack事件介面
9.2.2 消息處理框架
9.2.3 實現多模態代理
9.3 應用監控和調優
9.3.1 應用監控
9.3.2 模型效果評估
9.3.3 模型備選服務
9.3.4 模型內容安全
9.3.5 應用部署
第10章 社區和資源
10.1 LangChain社區介紹
10.1.1 官方博客
10.1.2 項目代碼與文檔
10.1.3 社區貢獻
10.1.4 參與社區活動
10.2 資源和工具推薦
10.2.1 模板
10.2.2 LangServe
10.2.3 LangSmith
10.2.4 教程用例
10.3 LangChain的未來展望
10.3.1 生態系統概覽
10.3.2 變化與重構
10.3.3 發展計劃