TOP
0
0
購書領優惠,滿額享折扣!
LangChain實戰:從原型到生產,動手打造 LLM 應用(簡體書)
滿額折

LangChain實戰:從原型到生產,動手打造 LLM 應用(簡體書)

商品資訊

人民幣定價:89 元
定價
:NT$ 534 元
優惠價
87465
庫存:2
下單可得紅利積點:13 點
商品簡介
作者簡介
名人/編輯推薦
目次
相關商品

商品簡介

本書是專為初學者和對LangChain應用及大語言模型(LLM)應用感興趣的開發者而編寫的。本書以LangChain團隊於2024年1月發布的長期維護版本0.1為基礎,重點介紹了多個核心應用場景,並且深入探討了LCEL的應用方式。同時,本書圍繞LangChain生態系統的概念,詳細探討LangChain、LangServe和LangSmith,幫助讀者全面了解LangChain團隊在生成式人工智能領域的布局。此外,本書還介紹了開源模型運行工具,為讀者引入本地免費的實驗環境,讓讀者能夠親自動手進行實際操作。

通過本書,讀者可以真正體驗到LangChain在從原型到生產的LLM應用開發和上線閉環體驗方面的優勢,全面了解LangChain的概念、原理和應用,並且獲得實際開發LangChain應用的經驗。本書示例豐富,內容通俗易懂,既可作入門教程,也可供相關技術人員參考。

作者簡介

張海立(網絡暱稱:滄海九粟) 馭勢科技云平臺研發總監,中國信息通信研究院“汽車云工作組”首批專家,目前專注的領域是無人駕駛運維平臺的標準化和智能化研究。同時作為開源愛好者和布道師,長期關注和致力於云原生與前沿互聯網技術的推廣,現擔任KubeSphere用戶委員會上海站站長,也是CNCF OpenFunction項目管委會成員。曾就職於英特爾亞太研發有限公司,擔任高級研發經理和架構師。

曹士圯(網絡暱稱:萬千十一) 前全棧數據科學家,關注大數據分析、建模及架構等;現為獨立AI工程師,聚焦於大語言模型智能體的發展及行業應用,同時關注各類大語言模型的端側部署推理應用。數據玩家、工具狂魔,開源愛好者,樂於寫作和分享。

郭祖龍 馭勢科技云平臺研發經理。關注云原生可觀測性、IoT相關技術、流式計算等。i人丈夫,新晉奶爸,熱愛運動,喜歡旅行。

名人/編輯推薦

★基於Langchain 0.1長期維護版本

★完整的LangChain生態介紹(Langsmith、Langserve)

★附送近20張親筆手繪清晰架構圖

★附送600分鐘詳解視頻

★深入解析 RAG、LCEL等核心能力

★講解清晰、案例實用和代碼易上手

★馭勢科技聯合創始人兼CEO吳甘沙等8位產學研界專家贊譽力薦

在過去的十五年裡,我從HTML5的初探者成長為云原生(Cloud Native)的實踐者,最終步入通用人工智能(Artificial General Intelligence,AGI)的時代進行探索。每個時代都有其獨特的技術特點和發展趨勢,而我始終堅信,無論時代如何變遷,將理論知識和技術應用緊密結合都是非常重要的。

在HTML5時代,我見證了Web技術的飛速發展,它不僅改變了人們使用互聯網的習慣,也為後來的技術發展奠定了基礎。進入云原生時代後,我的研究領域擴展到了容器云、微服務、Serverless等技術,這些技術極大地提高了軟件開發的效率和靈活性。如今,隨著通用人工智能時代的到來,我見證了大語言模型的崛起,它們在語言處理、圖像識別等領域展現出驚人的潛力。但與此同時,我也認識到,充分發揮這些大語言模型的能力需要有效的應用開發框架來支持。LangChain正是在這樣的背景下嶄露頭角的。

LangChain是一個開源的大語言模型應用開發框架,它不僅功能強大,而且易於學習和使用。在探索LangChain的過程中,我深切地感受到,無論是前端開發者還是後端開發者,無論是否具備AI專業知識,都可以通過LangChain來開發自己的應用和產品。這激發了我通過架構圖繪製、視頻講解和案例分享的方式,盡可能地將LangChain的複雜概念和應用技巧簡化,從而將我學習到的知識和經驗傳播給更多的人的熱情。在這個過程中,我與社區成員們共同探討技術難題,交流心得。這種互動不僅使我能夠深入地理解LangChain,更重要的是,它讓我意識到知識傳播的價值。我希望通過我的努力,能夠幫助初學者和同行更好地理解和應用LangChain。

為了更好地向社區伙伴們傳遞LangChain的最新技術和應用方法,我與兩位LangChain愛好者——曹士圯、郭祖龍緊密合作,共同撰寫了本書。我們的目標是,基於LangChain的核心理念和功能,為讀者提供全面、深入的學習路徑。在這個過程中,我們不僅會和大家一起探索LangChain的開源穩定版本(0.1),也會著眼於整個LangChain生態系統,對其進行多維度展示。

我們在書中特別強調了LangChain的最新應用開發方式,例如LCEL。這種方式不僅代表了LangChain技術的前沿,也體現了我們對技術傳播和實用性的重視。我們致力於通過清晰的講解、實際的案例分析和易於理解的示例代碼,幫助讀者深入理解LangChain的工作原理和應用場景。

通過本書,我們希望能夠激發讀者對LangChain的興趣,為他們提供可靠的學習資源。我們相信,無論是技術新手還是有經驗的開發者,都能從中獲得寶貴的知識和靈感,進而在自己的項目和研究中使用LangChain開發出具有創新性和有效的解決方案。

在深入閱讀本書之前,這幾點建議可能會幫助您更好地理解和應用書中的內容。首先,本書假設您具備基本的Python編程能力,以及在Linux或macOS系統上進行軟件安裝的基礎知識。這些技能將幫助您更順暢地理解書中的示例代碼和操作步驟。其次,我們建議您采取兩個階段的閱讀方法來深化對LangChain的理解。

  • 初步閱讀:在首次閱讀時,建議您整體瀏覽全書,了解LangChain生態系統的基本概念和組成部分。特別是理解各個組件在LangChain生態系統中的角色和功能。此時,可以初步瀏覽示例代碼部分,無須深入。
  • 深入閱讀:在第二次閱讀時,建議您結合示例代碼深入理解LangChain的開發細節。您可以重點閱讀單獨介紹LCEL語法和Runnable Sequence中可用組件的相關小節,以此來有效地熟悉和掌握LangChain推薦的推理鏈編寫方式。書中所有的示例代碼都可以運行,您可以從GitHub代碼倉庫中獲取並進行實際操作,以加深理解。

本書共分為9章,每章圍繞LangChain的不同方面展開,旨在提供全面而深入的指導。

“第1章LangChain生態系統概覽”為讀者全面介紹LangChain生態系統的布局,並且通過解析一個官方的生產級應用Chat LangChain,幫助讀者初步認識LangChain生態系統。

“第2章 環境準備”對讀者隨閱讀進行代碼的編寫來說非常關鍵,這一章的重點是Ollama的使用和llama2-chinese模型的部署。

第3章到第6章結合具體的應用場景,深入講解LangChain的核心模塊。同時,會詳細介紹LCEL語法和Runnable Sequence中可用的Runnable組件。在實際編寫代碼前,建議重點閱讀這幾章。

“第3章 角色扮演寫作實戰”引入並講解Model I/O三元組的概念和應用。

“第4章 多媒體資源的摘要實戰”探討如何使用LangChain加載、處理多媒體資源中的文本內容。

“第5章 面向文檔的對話機器人實戰”深入講解Retriever模塊的機制和應用,同時解析檢索增強生成(Retrieval Augmented Generation,RAG)的流程及其關鍵組件。

“第6章 自然語言交流的搜索引擎實戰”詳述如何利用Agent和思考鏈構建自然語言處理的搜索引擎,並且介紹了Callback模塊的功能。

“第7章快速構建交互式LangChain應用原型”介紹如何將推理鏈快速轉化為本地和云端應用,特別介紹了如何使用Streamlit和Chainlit框架在云端快速發布原型。

“第8章使用生態工具加速LangChain應用開發”深入講解3個關鍵的生態工具——LangSmith、LangServe和Templates&CLI。

  • LangSmith:詳細介紹LangSmith的功能和如何使用LangSmith監控LangChain應用。
  • LangServe:詳細介紹如何將LangChain應用部署至API,提高應用的可訪問性和性能。
  • Templates&CLI:詳細介紹如何使用應用模板和命令行界面快速啟動LangChain項目。

“第9章我們的‘大世界’”展望更廣闊的大語言模型應用開發領域。本章不僅分析和比較了LangChain、LlamaIndex、AutoGen框架,還探討了基於LangChain Hub的各種應用場景和通用人工智能的認知架構的發展。

  • 大語言模型應用開發框架的“你我他”:分析和比較三大框架的特點和應用場景。
  • 從LangChain Hub看提示詞的豐富應用場景:基於LangChain Hub,總結熱門提示詞領域及其豐富的應用場景。
  • 淺談通用人工智能的認知架構的發展:討論通用人工智能的認知架構概念,以及其在開源和閉源發展中的現狀和趨勢。

本書中所有的示例代碼及其參考資料都可以從GitHub代碼倉庫中獲取。

感謝支持和幫助我們的家人們,是他們的理解和包容,才讓本書得以完成。在我們疲憊或灰心時,是家人們的關懷支持著我們繼續前行。

同時,我們也要感謝電子工業出版社的孫學瑛老師。她專業的指導幫助我們邏輯清晰地組織了本書的內容,使本書更加易讀易用。她嚴謹的工作態度和敬業精神,也激勵著我們不斷完善作品。

LangChain是一個非常有前途和影響力的框架,它的快速發展讓所有參與者都對它充滿熱情和期待。然而,任何新事物在發展過程中都難免遇到困難。作為早期探索者,我們的能力和經驗有限,在內容創作上也會不可避免地存在一些缺陷。如果各位讀者發現內容中有任何錯誤或不足之處,請您提出寶貴意見,我們會虛心接受、認真改進。

最後,我們由衷地感謝所有的讀者,您的支持就是我們最大的動力。我們衷心希望本書能成為您的有益工具。通過本書,我們也希望能夠幫助更多的開發者和技術愛好者走在技術的前沿,探索和創造更多的可能。

張海立

2024年3月

目次

第1章 LangChain生態系統概覽 1

1.1 LangChain生態系統的布局 2

1.1.1 LangChain軟件包的組織方式 4

1.1.2 LangChain核心功能模塊概覽 5

1.2 從Chat LangChain應用看生態實踐 10

1.2.1 讀取和加載私域數據 11

1.2.2 數據預處理及存儲 13

1.2.3 基於用戶問題的數據檢索 14

1.2.4 基於檢索內容的應答生成 14

1.2.5 提供附帶中間結果的流式輸出 16

1.2.6 推理鏈的服務化和應用化 17

1.2.7 追逐生產環境的調研鏈和指標 18

第2章 環境準備 21

2.1 在VS Code中開啟並使用Jupyter Notebook 23

2.2 通過python-dotenv隱式加載環境變量 24

2.3 使用Ollama加載大語言模型 25

第3章 角色扮演寫作實戰 28

3.1 場景代碼示例 29

3.2 場景代碼解析 30

3.3 Model I/O三元組 31

3.3.1 Prompt模塊 31

3.3.2 Model模塊 35

3.3.3 Output Parser模塊 36

3.4 LCEL語法解析:基礎語法和接口 40

3.4.1 Runnable物件的標準接口 40

3.4.2 Runnable物件的輸入和輸出 41

3.4.3 Runnable物件的動態參數綁定 41

3.4.4 審查鏈路結構和提示詞 43

3.5 Runnable Sequence的基座:Model I/O三元組物件 44

第4章 多媒體資源的摘要實戰 46

4.1 場景代碼示例 47

4.2 場景代碼解析 50

4.3 Document的加載與處理 51

4.3.1 文檔加載器 51

4.3.2 文檔轉換器 51

4.3.3 文本分割器 52

4.4 3種核心文檔處理策略 56

4.4.1 Stuff策略:直接合並 56

4.4.2 MapReduce策略:分而治之 58

4.4.3 Refine策略:循序迭代 61

4.5 LCEL語法解析:RunnableLambda和RunnableMap 65

4.5.1 RunnableLambda 65

4.5.2 RunnableMap 68

第5章 面向文檔的對話機器人實戰 70

5.1 場景代碼示例 71

5.2 場景代碼解析 74

5.3 RAG簡介 75

5.3.1 什麼是RAG 75

5.3.2 RAG的工作原理 77

5.4 LangChain中的RAG實現 78

5.5 Retriever模塊的實用算法概覽 80

5.5.1 檢索器融合 82

5.5.2 上下文壓縮 83

5.5.3 自組織查詢 85

5.5.4 時間戳權重 97

5.5.5 父文檔回溯 99

5.5.6 多維度回溯 103

5.5.7 多角度查詢 110

5.6 Indexing API簡介 113

5.6.1 刪除模式 114

5.6.2 使用場景和方式 115

5.7 Chain模塊和Memory模塊 119

5.7.1 通過Retrieval QA Chain實現文檔問答 120

5.7.2 通過Conversational Retrieval QA Chain實現會話文檔問答 121

5.7.3 通過Memory模塊為對話過程保駕護航 122

5.8 長上下文記憶系統的構建 124

5.8.1 會話記憶系統 125

5.8.2 語義記憶系統 125

5.8.3 生成式Agent系統 126

5.8.4 長上下文記憶系統的構建要點 126

5.9 LCEL語法解析:RunnablePassthrough 128

5.10 Runnable Sequence的數據連接:Retriever物件 130

第6章 自然語言交流的搜索引擎實戰 134

6.1 場景代碼示例 136

6.2 場景代碼解析 137

6.3 Agent簡介 138

6.3.1 Agent和Chain的區別 139

6.3.2 Agent的思考鏈 140

6.4 Agent的工具箱 145

6.5 面向OpenAI的Agent實現 148

6.6 Callback回調系統簡介 153

6.7 Callback和verbose的關係 158

6.8 LCEL語法解析:RunnableBranch和鏈路異常回退機制 159

6.8.1 RunnableBranch 159

6.8.2 鏈路異常回退機制 162

6.9 Runnable Sequence的擴展:外部工具的接入 164

6.10 LangGraph:以圖的方式構建Agent 165

第7章 快速構建交互式LangChain應用原型 170

7.1 Streamlit及免費云服務“全家桶” 172

7.1.1 環境準備 172

7.1.2 極簡開發 172

7.1.3 實時交互 174

7.1.4 云上部署 177

7.2 使用Chainlit快速構建交互式文檔對話機器人 179

7.2.1 環境準備 179

7.2.2 簡單示例 180

7.2.3 交互式文檔對話機器人 184

第8章 使用生態工具加速LangChain應用開發 195

8.1 LangSmith:全面監控LangChain應用 197

8.1.1 追蹤LangChain應用 199

8.1.2 數據集與評估 202

8.1.3 LangChain Hub 204

8.2 LangServe:將LangChain應用部署至Web API 207

8.2.1 快速開始 208

8.2.2 原理詳解 211

8.3 Templates & CLI:從模板和腳手架快速啟動 214

8.3.1 LangChain Templates 214

8.3.2 LangChain CLI命令行工具 215

8.3.3 優化升級 218

第9章 我們的“大世界” 219

9.1 大語言模型應用開發框架的“你我他” 220

9.1.1 三大框架的簡介 221

9.1.2 三大框架的特性 222

9.1.3 三大框架的對比 223

9.2 從LangChain Hub看提示詞的豐富應用場景 224

9.2.1 場景寫作 225

9.2.2 信息總結 228

9.2.3 信息提取 230

9.2.4 代碼分析和評審 232

9.2.5 提示優化 234

9.2.6 RAG 235

9.2.7 自然語言SQL查詢 236

9.2.8 評價打分 237

9.2.9 合成數據生成 238

9.2.10 思考鏈 240

9.3 淺談通用人工智能的認知架構的發展 242

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 465
庫存:2

暢銷榜

客服中心

收藏

會員專區