"《LangChain與企業(yè)級LLM服務:從設計到部署》系統(tǒng)講解如何基于LangChain構建企業(yè)級大語言模型應用。以LangChain 0.2為核心,結合OpenAI與開源模型,涵蓋Prompt設計、Agent開發(fā)、LangServe部署及LangSmith調(diào)優(yōu)等全流程,深入解析LangChain技術生態(tài)。 《LangChain與企業(yè)級LLM服務:從設計到部署》共13章。第1~3章介紹LLM基礎、LangChain入門及核心模塊(如Prompt模板、LCEL等);第4~7章通過企業(yè)文檔平臺、旅游客服、AI編程助手等案例,整合Agent、LangGraph等技術;第8章和第9章詳解LangSmith監(jiān)控調(diào)優(yōu)與LangServe部署實戰(zhàn)(含阿里云案例);第10~13章拓展生態(tài)展望(如AutoGen)、剖析商業(yè)案例,并專題解析國產(chǎn)DeepSeek模型及其與LangChain結合的開發(fā)實踐。 《LangChain與企業(yè)級LLM服務:從設計到部署》適合高等院校計算機、人工智能等相關專業(yè)的學生閱讀,以及對大語言模型應用、HuggingFace、LangChain技術感興趣的研究人員和互聯(lián)網(wǎng)研發(fā)工程師閱讀參考。"
《LangChain與企業(yè)級LLM服務:從設計到部署》是一本引領讀者深入人工智能前沿領域的學習參考書!禠angChain與企業(yè)級LLM服務:從設計到部署》不僅系統(tǒng)闡述了大型語言模型的基礎理論,更通過豐富的企業(yè)級實戰(zhàn)案例,展現(xiàn)了LangChain在實際應用中的強大威力。無論你是AI領域的初學者,還是尋求技術突破的資深開發(fā)者,這本書都將為你提供寶貴的知識和實踐經(jīng)驗。它將成為你探索智能科技、驅動創(chuàng)新發(fā)展的得力助手。不要錯過,讓我們一起邁向智慧的明天!
前 言
隨著OpenAI等AI技術的迅猛發(fā)展和全球普及,AI技術已成為各行各業(yè)關注的焦點。眾多企業(yè)開始著手開發(fā)自己的大語言模型(LLM)應用,以保持競爭力。鑒于使用OpenAI等AI服務可能帶來的數(shù)據(jù)隱私和安全風險,大型科技公司對于本地化部署大型模型的需求日益增長。LangChain作為開發(fā)LLM應用的首選框架,已被國內(nèi)外眾多公司廣泛采用。
作為一名擁有超過十年行業(yè)經(jīng)驗的技術老兵,我始終保持對新興技術的敏銳洞察力。早在2023年年初,我就注意到了LangChain框架和大型語言模型等前沿技術,并開始了系統(tǒng)的學習。在獲得技術領導層的支持后,我在公司內(nèi)部推動了LangChain技術的運用,成功孵化了多個基于大型語言模型的企業(yè)產(chǎn)品應用。這些項目中包括一些極具挑戰(zhàn)性的復雜大型協(xié)作項目。在這個過程中,我不知不覺積累了大量關于基于LangChain的大型模型應用開發(fā)的經(jīng)驗,取得了一系列成果。這些成果不僅得到了公司內(nèi)部用戶的認可,也贏得了客戶的喜愛和支持。
在深入學習LangChain的過程中,我注意到市面上關于基于LangChain的企業(yè)級開發(fā)資源相當稀缺。大多數(shù)教程僅僅停留在LangChain的基礎知識和簡單應用層面,缺乏對真實場景下應用落地和實際操作的深入探討。這使得LangChain技術似乎一直停留在理論層面,難以在實際工作中發(fā)揮其應有的價值。
因此,我萌生了一個想法:撰寫一本專注于企業(yè)實戰(zhàn)的圖書,希望能幫助那些渴望通過AI技術實現(xiàn)賦能的公司,順利邁入大模型時代。這本書將填補市場上的空白,提供從理論到實踐的全面指導,讓LangChain技術真正落地,助力企業(yè)變革。
本書以實戰(zhàn)為核心,通過逐步深入的方式,讓讀者全面掌握LangChain技術和大型語言模型的開發(fā)精髓。通過本書的學習,讀者將能夠靈活運用所學知識,開發(fā)出多樣化的AI應用,并根據(jù)企業(yè)的業(yè)務特點,為企業(yè)服務注入新的活力和增長點。
考慮到本書以實戰(zhàn)為主,筆者假設讀者已具備一定的Python編程基礎,并熟悉一些AI服務的使用(如OpenAI等)。如果讀者之前從未接觸過編程或者完全不熟悉Python,在閱讀過程中,如果遇到難以理解的概念或技術點,可以利用這些AI服務作為輔助工具,幫助自己更好地學習和理解。這樣的設計不僅能夠提高學習效率,還能讓讀者在實踐中加深對LangChain技術的理解,真正做到學以致用。
針對不同知識背景的讀者,我有以下幾條閱讀建議:
(1)對于初次接觸LangChain框架的讀者,建議按照章節(jié)順序閱讀本書,系統(tǒng)地學習LangChain技術及其生態(tài),并編寫案例代碼,這樣才能真正理解如何開發(fā)LLM應用。
(2)對于已有一定LangChain使用經(jīng)驗的讀者,可以根據(jù)自己感興趣的實戰(zhàn)章節(jié),從第4章開始閱讀,結合自己的業(yè)務構思新的解決方案。也可以將本書當作一本實踐指南,邊學習邊實踐,逐步領悟LangChain技術在實際應用中的精妙之處。
配套資源下載
本書配套源代碼,請讀者用微信掃描下面的二維碼下載。如果學習本書的過程中發(fā)現(xiàn)問題或疑問,可發(fā)送郵件至booksaga@126.com,郵件主題為LangChain與企業(yè)級LLM服務:從設計到部署。
感謝在寫作過程中家人的支持,特別是我的妻子,感謝她在周末陪伴我在家寫作,在我沮喪困頓時給予我鼓勵和包容。我記得,最后兩個章節(jié)是在山中完成的,遠山隱入如夢似幻的云海,霞光照亮了我來時的路。
在此,我還要感謝清華大學出版社的編輯老師們。他們的嚴謹與專業(yè)精神對我影響深遠,他們的指導不僅讓我受益匪淺,也極大地提升了本書的質量。在他們的幫助下,我得以細致打磨每一個章節(jié),優(yōu)化內(nèi)容的每一個細節(jié),使得本書的表述更加明晰、易于理解。這份成就離不開他們的悉心指導和無私幫助。
我衷心希望讀者們在閱讀本書后能夠獲得豐富的知識與技能,并讓這本書成為你們身邊的得力助手。LangChain以及其他大型語言模型技術正在不斷地發(fā)展和迭代。讓我們攜手共進,在人工智能時代乘風破浪,共同探索技術的無限可能!
編 者
2025年6月25日
唐文,網(wǎng)絡工程專業(yè),個人研究方向為AI大模型和機器學習。畢業(yè)后先后就職于聚美優(yōu)品、邊鋒領沃等國內(nèi)外上市公司,目前供職于美國Global Payment集團的子公司活躍網(wǎng)絡的技術部,擔任高級軟件工程師、后端Tech Leader。對Python、Golang、LangChain、LLM技術有著深入研究和實戰(zhàn)經(jīng)驗。
目 錄
第1章 擁抱大語言模型 1
1.1 大語言模型簡介 1
1.1.1 大語言模型的定義 2
1.1.2 大語言模型的發(fā)展和應用場景 3
1.2 主流的大語言模型 5
1.2.1 OpenAI的大語言模型 5
1.2.2 Meta的Llama模型 7
1.2.3 Claude大語言模型 10
1.2.4 國內(nèi)自研大語言模型:ChatGLM、MOSS和文心一言 12
1.3 大語言模型的開發(fā)工具LangChain 14
第2章 LangChain初體驗 15
2.1 LangChain介紹和安裝 15
2.1.1 什么是LangChain 15
2.1.2 環(huán)境搭建 16
2.1.3 LangChain的應用場景 20
2.2 小試牛刀:開發(fā)一個AI文章生成工具 21
2.2.1 初始化項目和配置 21
2.2.2 編寫標題生成服務 23
2.2.3 編寫文章生成服務 28
2.2.4 多鏈合并 30
2.3 LLM開發(fā)的工作原理和標準流程 33
第3章 LangChain基礎模塊 36
3.1 LangChain的核心概念 36
3.2 輸入和輸出組件 38
3.2.1 Prompt模板能力 39
3.2.2 ChatModel模塊 46
3.2.3 自定義Chat Model 49
3.2.4 LLM模塊的選擇 50
3.2.5 輸出解析器和自定義輸出解析器 58
3.3 LCEL 61
3.3.1 管道操作 62
3.3.2 綁定參數(shù)的使用 64
3.3.3 invoke函數(shù) 66
3.3.4 stream函數(shù) 67
3.3.5 batch函數(shù) 67
3.4 Memory模塊 68
3.5 基于輸入的動態(tài)邏輯路由 71
3.5.1 RunnableLambda 72
3.5.2 RunnableBranch 73
3.6 檢索 74
3.6.1 文檔加載器 74
3.6.2 文本分割器 77
3.6.3 詞嵌入模型 79
3.6.4 向量數(shù)據(jù)庫 83
3.6.5 檢索器 96
3.6.6 索引 100
第4章 企業(yè)文檔智能平臺實戰(zhàn) 103
4.1 智能文檔的架構設計和功能規(guī)劃 103
4.2 文檔加載和預處理 105
4.3 Embedding過程 108
4.4 vectorstore的選擇 110
4.5 問答式檢索器:QARetriever 113
4.6 自查詢檢索器:SelfQueryRetriever 116
4.7 多向量檢索器:MultiVectorRetriever 120
4.8 多輪對話能力 126
4.9 優(yōu)化會話內(nèi)存管理 130
4.10 優(yōu)化上下文和檢索 132
第5章 旅游業(yè)AI客服實戰(zhàn) 140
5.1 旅游服務的痛點 140
5.2 AI客服架構設計 141
5.3 Agent模塊 144
5.3.1 Agent的基本概念 144
5.3.2 Agent的常用類型和實際使用場景 147
5.3.3 Agent Tools的使用 150
5.3.4 Agent和OpenAI整合 153
5.4 接入第三方天氣API 156
5.5 第三方酒店預訂API整合 161
5.6 LangGraph的使用 164
5.7 UI整合 168
5.8 本章小結 170
第6章 開發(fā)者AI Assistant實戰(zhàn) 171
6.1 開發(fā)者的開發(fā)流程和新需求 171
6.1.1 瀑布流開發(fā) 171
6.1.2 Scrum開發(fā) 172
6.2 技術選型和架構設計 172
6.2.1 插件開發(fā)初體驗 174
6.2.2 調(diào)試、編譯和安裝插件 176
6.3 常用Git操作的封裝 177
6.3.1 自動生成注釋 178
6.3.2 提交信息智能生成 181
6.3.3 智能rebase多次提交 184
6.4 基于代碼倉庫的智能問答和檢索 188
6.4.1 加載文檔 188
6.4.2 切分代碼塊 189
6.4.3 詞嵌入和向量存儲 189
6.4.4 問答功能 190
6.5 AI生成代碼注釋 191
6.6 文檔生成 192
6.7 基于業(yè)務代碼生成單元測試 193
6.8 代碼漏洞檢測和性能優(yōu)化 195
第7章 AI代碼審核實戰(zhàn) 197
7.1 代碼審核的重要性 197
7.2 AI如何進行代碼審核和接入工作流 199
7.3 架構設計和場景設計 200
7.4 最佳實踐預學習 201
7.5 介入合并沖突 207
7.6 客戶端側實現(xiàn)AI審核 208
7.7 Webhook實現(xiàn)AI代碼審核 210
7.8 Pull Request駁回和通過的處理 213
7.9 生成代碼質量報告 215
7.10 集成SonarQube 218
第8章 LangSmith實戰(zhàn) 230
8.1 什么是LangSmith 230
8.1.1 LangSmith的基本概念 230
8.1.2 LangSmith的核心功能模塊 231
8.1.3 自定義追蹤設置 237
8.1.4 性能調(diào)優(yōu) 240
8.2 離線方式評估LLM應用性能 242
8.3 CI交互式評估LLM應用性能 246
8.4 線上方式評估LLM應用性能 249
第9章 LangChain應用的部署實戰(zhàn) 251
9.1 Docker方式部署 251
9.2 LangServe部署LLM應用 254
9.3 LangChain CLI 255
9.4 LangChain Templates的應用 257
9.5 案例:LangChain-Chatchat部署LLM應用 260
第10章 LangChain的生態(tài)和未來 265
10.1 LangChain生態(tài)現(xiàn)狀 265
10.2 LangChain Hub 266
10.3 其他LLM開發(fā)框架:AutoGen 268
10.4 對LangChain的展望 273
第11章 AI商業(yè)創(chuàng)新 275
11.1 OpenAI的商業(yè)之路和創(chuàng)新 275
11.2 案例分析:Devv.ai 277
11.3 案例分析:MarsCode 280
第12章 國產(chǎn)之光:DeepSeek模型 283
12.1 后起之秀DeepSeek 283
12.2 DeepSeek模型系列 289
12.3 DeepSeek-R1模型 289
12.4 DeepSeek本地部署 290
12.4.1 Ollama方式部署 292
12.4.2 UI方案一:Open WebUI 293
12.4.3 UI方案二:ChatBox 296
12.5 DeepSeek云上部署 297
第13章 DeepSeek實戰(zhàn)之編程助手 300
13.1 AI輔助編程的重要性 300
13.2 需求分析和技術架構設計 301
13.3 預學習 302
13.4 代碼補全功能開發(fā) 314