《大模型Agent應用開發(fā)》深入探討了LLM的核心概念、前沿技術和實際應用,最終為擴展AI能力邊界的大型基礎模型(Large Foundation Models,LFM)的崛起鋪平道路。
本書開篇詳細介紹了LLM的基本原理,隨后探討了多種主流架構(gòu)框架,既涵蓋專有模型(如GPT-3.5/4),也分析開源模型(如Falcon LLM)的獨特優(yōu)勢與差異。接下來,我們以基于Python的輕量級框架LangChain為核心,引導讀者逐步構(gòu)建智能體。這些智能體能夠從非結(jié)構(gòu)化數(shù)據(jù)中提取信息,并利用LLM和強大工具包與結(jié)構(gòu)化數(shù)據(jù)交互。此外,本書還將深入探索LFM領域該類模型融合了視覺、音頻等多態(tài)能力,可以覆蓋更廣泛的AI任務。
無論你是經(jīng)驗豐富的AI專家,還是初入該領域的新人,本書都將為你提供解鎖LLM全部潛力的路線圖,助力開創(chuàng)智能機器的新紀元。
你將學到:
探索LLM架構(gòu)的核心組件,包括編碼器-解碼器模塊與嵌入模塊
理解GPT-3.5/4、Llama 2和Falcon LLM等大模型的獨特功能
使用LangChain等AI編排器,結(jié)合Streamlit構(gòu)建前端
熟悉LLM組件(如記憶模塊、提示工程與工具鏈)
掌握非參數(shù)化知識與向量數(shù)據(jù)庫的應用
洞察LFM對AI研究與行業(yè)應用的深遠影響
通過微調(diào)定制專屬LLM
了解LLM應用背后的倫理挑戰(zhàn)
本書開啟了探索大規(guī)模語言模型(Large Language Model,LLM)及其在人工智能(Artificial Intelligence,AI)領域所代表的變革性范式之旅。這本全面的指南可以幫助你深入了解基本概念,從這些前沿技術的堅實理論基礎到大規(guī)模語言模型的實際應用,最終匯聚到使用生成式人工智能解決方案時的倫理和責任考量。本書旨在幫助你深入了解市場上新興的大規(guī)模語言模型如何影響個人、大型企業(yè)乃至整個社會。本書重點介紹如何利用LangChain等新型人工智能編排器構(gòu)建由大規(guī)模語言模型驅(qū)動的強大應用,并揭示現(xiàn)代應用開發(fā)的新趨勢。
閱讀完本書后,相信你定能更輕松駕馭快速發(fā)展的生成式人工智能解決方案生態(tài)系統(tǒng),并掌握在日常任務和業(yè)務中充分利用大規(guī)模語言模型的工具。讓我們開始吧!
本書讀者對象
本書主要面向有一定Python代碼基礎的技術讀者。但理論章節(jié)和實踐練習基于生成式人工智能基礎知識和行業(yè)用例,非技術讀者可能也會感興趣。
總之,本書適合有興趣全面了解大規(guī)模語言模型的讀者,可輔助其充滿信心和前瞻性地駕馭快速發(fā)展的人工智能領域。本書所呈現(xiàn)的內(nèi)容適合但不僅限于以下讀者。
●軟件開發(fā)人員和工程師:本書為希望利用大規(guī)模語言模型構(gòu)建應用的開發(fā)人員提供了實用指導。內(nèi)容包括將大規(guī)模語言模型集成到應用后端、API、架構(gòu)等。
●數(shù)據(jù)科學家:本書為有興趣將大規(guī)模語言模型部署到實際應用中的數(shù)據(jù)科學家介紹了如何將模型從研究階段應用到生產(chǎn)階段。內(nèi)容包括模型服務、監(jiān)控和優(yōu)化等方面。
●人工智能/機器學習工程師:專注于人工智能/機器學習應用的工程師可以利用本書了解如何構(gòu)建和部署大規(guī)模語言模型,并將其作為智能系統(tǒng)和智能體的一部分。
●技術創(chuàng)始人/CTO:初創(chuàng)公司的創(chuàng)始人和CTO可以利用本書評估是否以及如何在其應用和產(chǎn)品中使用大規(guī)模語言模型。本書在提供技術概述的同時,還考慮了業(yè)務因素。
●在校學生:學習人工智能、機器學習、自然語言處理(Natural Language Processing,NLP)或計算機科學的研究生和高年級本科生可以從本書中了解大規(guī)模語言模型在實踐中的應用。
●大規(guī)模語言模型研究人員:研究新型大規(guī)模語言模型架構(gòu)、訓練技術等的研究人員將深入了解真實世界中模型的用法和相關挑戰(zhàn)。
本書內(nèi)容
第1章介紹并深入探討大規(guī)模語言模型,這是生成式人工智能領域中一套強大的深度學習神經(jīng)網(wǎng)絡。本章不僅介紹了大規(guī)模語言模型概念,其與經(jīng)典機器學習模型的區(qū)別,以及相關術語,還討論了最流行的大規(guī)模語言模型采用的架構(gòu),如何訓練和使用大規(guī)模語言模型,并比較了基礎大規(guī)模語言模型與經(jīng)過微調(diào)的大規(guī)模語言模型。完成第1章的學習后,讀者便可了解什么是大規(guī)模語言模型及其在人工智能領域的定位,從而為后續(xù)章節(jié)的學習奠定基礎。
第2章探討大規(guī)模語言模型如何徹底改變軟件開發(fā)世界,從而引領人工智能驅(qū)動的應用進入新時代。本章可幫助讀者更清楚地了解如何借助目前人工智能開發(fā)市場上的新型人工智能編排器框架,將大規(guī)模語言模型嵌入不同的應用場景中。
第3章重點介紹不同的大規(guī)模語言模型可能具有不同的架構(gòu)、規(guī)模、訓練數(shù)據(jù)、功能和限制。為自己的應用場景選擇合適的大規(guī)模語言模型并不是一件簡單的事情,畢竟它會對解決方案的性能、質(zhì)量和成本產(chǎn)生重大影響。這一章將介紹如何為應用場景選擇合適的大規(guī)模語言模型,并討論市場上最有前景的大規(guī)模語言模型、比較大規(guī)模語言模型時使用的主要標準和工具,以及規(guī)模和性能之間進行的各種權衡。閱讀完本章后,讀者便可清楚地了解如何為自己的應用場景選擇合適的大規(guī)模語言模型,以及如何有效、負責任地使用它。
第4章介紹了在設計由大規(guī)模語言模型驅(qū)動的應用時,提示工程是一項至關重要的活動,原因是提示對大規(guī)模語言模型的性能有很大影響。事實上,有幾種技術不僅可以重新微調(diào)大規(guī)模語言模型的響應,還可以降低與幻覺和偏差相關的風險。這一章中介紹的提示工程領域采用的新興技術,更是涉及從基本方法到高級框架的描述。完成本章的學習后,讀者將具備為大規(guī)模語言模型驅(qū)動的應用構(gòu)建功能強大的提示的能力,并為接下來的章節(jié)學習打下堅實的基礎。
第5章討論隨著使用大規(guī)模語言模型開發(fā)的應用的出現(xiàn),軟件開發(fā)領域所引入的一系列新組件。為了更方便地在應用流程中編排大規(guī)模語言模型及其相關組件,出現(xiàn)了幾個人工智能框架,其中LangChain是應用最廣泛的框架之一。這一章將深入了解LangChain及其使用方法,學習如何通過Hugging Face Hub將開源大規(guī)模語言模型API調(diào)用到代碼中,并管理提示工程。完成本章的學習后,讀者將具備開始使用LangChain和開源Hugging Face模型開發(fā)由大規(guī)模語言模型驅(qū)動的應用的技術基礎。
第6章開始介紹實踐部分,首次具體實現(xiàn)由大規(guī)模語言模型驅(qū)動的應用。使用LangChain及其組件逐步實現(xiàn)會話應用程序。配置一個簡單聊天機器人對應的模式,添加記憶組件、非參數(shù)知識和工具,使聊天機器人智能體化。最后,用幾行代碼幫助讀者建立自己的會話應用程序項目。
第7章探討了大規(guī)模語言模型如何利用嵌入和生成模型來增強推薦系統(tǒng)。將討論推薦系統(tǒng)的定義和演變,了解生成式人工智能如何影響這一研究領域,并講解如何使用LangChain來構(gòu)建推薦系統(tǒng)。最后,讀者將能夠創(chuàng)建自己的推薦應用程序,并使用LangChain作為框架以利用最先進的大規(guī)模語言模型。
第8章介紹大規(guī)模語言模型具有的一項強大功能:處理結(jié)構(gòu)化表格數(shù)據(jù)的能力。講解如何利用插件和智能體方法,將大規(guī)模語言模型用作與結(jié)構(gòu)化數(shù)據(jù)之間的自然語言接口,從而縮小業(yè)務用戶與結(jié)構(gòu)化信息之間的差距。為了演示這一點,將使用LangChain建立一個數(shù)據(jù)庫Copilot編程工具。最后,讀者將能夠為自己的數(shù)據(jù)資產(chǎn)構(gòu)建一個自然語言接口,并將非結(jié)構(gòu)化數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)結(jié)合起來。
第9章涉及大規(guī)模語言模型具有的另一項強大功能:生成編程語言。在第8章中,當要求大規(guī)模語言模型針對SQL數(shù)據(jù)庫生成SQL查詢時,這一能力的雛形就已漸顯。這一章將探討使用大規(guī)模語言模型生成代碼的其他方式,涵蓋從簡單的代碼理解和生成到使用算法來構(gòu)建應用程序行為。最后,讀者將能夠為自己的編碼項目構(gòu)建由大規(guī)模語言模型驅(qū)動的應用,以及構(gòu)建帶有自然語言接口的大規(guī)模語言模型驅(qū)動的應用,以便與代碼配合使用。
第10章超越了大規(guī)模語言模型的范疇,在構(gòu)建智能體時引入了多模態(tài)的概念。它涉及將不同人工智能領域(語言、圖像、音頻)的基礎模型組合成一個能勝任各種任務的單一智能體時背后所蘊含的邏輯。其中還講解了如何使用LangChain,以便用單模態(tài)大規(guī)模語言模型來構(gòu)建多模態(tài)智能體。最后,讀者將能夠構(gòu)建自己的多模態(tài)智能體,并為其提供執(zhí)行各種人工智能任務時所需用到的工具和大規(guī)模語言模型。
第11章介紹了微調(diào)大規(guī)模語言模型的技術細節(jié),涵蓋從其理論基礎到使用Python和Hugging Face的實際操作。將深入探討如何準備數(shù)據(jù),在數(shù)據(jù)上微調(diào)基礎模型,并討論微調(diào)模型的托管策略。最后,讀者將能夠在自己的數(shù)據(jù)上微調(diào)大規(guī)模語言模型,從而構(gòu)建由該大規(guī)模語言模型驅(qū)動的特定領域應用。
第12章介紹了用于減輕大規(guī)模語言模型(以及一般人工智能模型)潛在危害所需具備的學科基礎知識,即負責任的人工智能。這一點非常重要,因為在開發(fā)由大規(guī)模語言模型驅(qū)動的應用時,大規(guī)模語言模型會帶來一系列新的風險和偏見。
接下來,將討論與大規(guī)模語言模型相關的風險,以及如何使用合適的技術來防止或至少降低這些風險。最后,你將對如何防止大規(guī)模語言模型使所構(gòu)建的應用程序具有潛在危害性有更深入的了解。
第13章探討了生成式人工智能領域的最新進展和未來發(fā)展趨勢。
充分利用本書
本書旨在提供一個堅實的理論基礎,幫助讀者了解什么是大規(guī)模語言模型、大規(guī)模語言模型的架構(gòu)以及大規(guī)模語言模型會給人工智能領域帶來革命性變化的原因。本書主要以動手實踐為主題,逐步指導讀者針對特定任務實現(xiàn)由大規(guī)模語言模型驅(qū)動的應用,并使用LangChain等功能強大的框架。此外,每個示例都會展示各種大規(guī)模語言模型的用法,以幫助讀者了解其不同之處,以及何時為特定任務使用合適的模型。
總之,本書將理論概念與實際應用緊密結(jié)合,希望在大規(guī)模語言模型及其在NLP中的應用方面為讀者打下堅實基礎,并提供理想資源。以下是從本書中獲得最大收益的前提條件:
●對神經(jīng)網(wǎng)絡背后蘊含的數(shù)學機理(線性代數(shù)、神經(jīng)元和參數(shù)以及損失函數(shù))有基本了解
●對機器學習概念(如訓練集和測試集、評估指標和NLP)有基本了解
●對Python有基本了解
下載示例代碼與彩色圖片
本書相關的所有示例代碼文件均可從本書配套的GitHub倉庫下載,網(wǎng)址為https://github.com/PacktPublishing/Building-LLM-Powered-Applications。本書還提供了一個PDF,其中包含書中使用的彩色圖片,可以通過網(wǎng)址https://pack.link/gbp/9781835462317下載。另外,讀者也可通過掃描本書封底的二維碼下載這些示例代碼與彩色圖片。
Valentina Alto是一名人工智能愛好者、技術文獻作者和跑步健將。在拿到數(shù)據(jù)科學碩士學位后,她于2020年加入微軟,目前擔任人工智能專家。Valentina從求學之初就對機器學習和人工智能充滿熱情,她不斷加深對這一領域的了解,并在科技博客上發(fā)表了數(shù)百篇文章。她與Packt合作撰寫了第一本書,名為Modern Generative AI with ChatGPT and OpenAI Models。在目前的工作中,她與大型企業(yè)合作,旨在將人工智能整合到企業(yè)業(yè)務中,并利用大型基礎模型開發(fā)創(chuàng)新解決方案。
除了職業(yè)追求,Valentina還熱愛徒步于意大利美麗的山川之間,喜歡跑步、旅行,并樂于手捧好書,品一杯香濃的咖啡。
第1章 大規(guī)模語言模型簡介 1
1.1 大型基礎模型和大規(guī)模語言模型定義 2
1.1.1 人工智能范式轉(zhuǎn)變基礎模型簡介 2
1.1.2 大規(guī)模語言模型簡介 5
1.2 最流行的基于transformer架構(gòu)的大規(guī)模語言模型 10
1.2.1 早期實驗 11
1.2.2 transformer架構(gòu) 11
1.3 訓練和評估大規(guī)模語言模型 16
1.3.1 訓練大規(guī)模語言模型 16
1.3.2 模型評估 19
1.4 基礎模型與定制模型 21
1.5 小結(jié) 23
1.6 參考文獻 23
第2章 面向人工智能應用的大規(guī)模語言模型 25
2.1 大規(guī)模語言模型如何改變軟件開發(fā) 25
2.2 Copilot系統(tǒng) 26
2.3 引入人工智能編排器,將大規(guī)模語言模型嵌入應用程序 30
2.3.1 人工智能編排器的主要組成部分 31
2.3.2 LangChain 33
2.3.3 Haystack 35
2.3.4 語義內(nèi)核 36
2.3.5 如何選擇框架 38
2.4 小結(jié) 39
2.5 參考文獻 40
第3章 為應用選擇大規(guī)模語言模型 41
3.1 市場上最有前途的大規(guī)模語言模型 41
3.1.1 專有模型 42
3.1.2 開源模型 51
3.2 語言模型之外 56
3.3 選擇正確大規(guī)模語言模型的決策框架 60
3.3.1 考慮因素 60
3.3.2 案例研究 62
3.4 小結(jié) 63
3.5 參考文獻 63
第4章 提示工程 65
4.1 技術要求 65
4.2 提示工程的定義 66
4.3 提示工程原則 66
4.3.1 明確的指令 66
4.3.2 將復雜任務劃分為子任務 69
4.3.3 詢問理由 71
4.3.4 生成多個輸出,然后使用模型挑選最佳輸出 73
4.3.5 結(jié)尾處的重復指令 74
4.3.6 使用分隔符 76
4.4 高級技術 78
4.4.1 少樣本方法 78
4.4.2 思維鏈 81
4.4.3 ReAct 83
4.5 小結(jié) 86
4.6 參考文獻 87
第5章 在應用程序中嵌入大規(guī)模語言模型 88
5.1 技術要求 88
5.2 LangChain的簡要說明 89
5.3 開始使用LangChain 90
5.3.1 模型和提示 91
5.3.2 數(shù)據(jù)連接 93
5.3.3 記憶 99
5.3.4 鏈 101
5.3.5 智能體 105
5.4 通過Hugging Face Hub使用大規(guī)模語言模型 107
5.4.1 創(chuàng)建Hugging Face用戶訪問令牌 107
5.4.2 在.env文件中存儲密鑰 110
5.4.3 啟用開源大規(guī)模語言模型 110
5.5 小結(jié) 112
5.6 參考文獻 112
第6章 構(gòu)建會話應用程序 113
6.1 技術要求 113
6.2 會話應用程序入門 114
6.2.1 創(chuàng)建普通機器人 114
6.2.2 添加記憶 116
6.2.3 添加非參數(shù)知識 119
6.2.4 添加外部工具 122
6.3 使用Streamlit開發(fā)前端 125
6.4 小結(jié) 129
6.5 參考文獻 129
第7章 使用大規(guī)模語言模型的搜索引擎和推薦引擎 130
7.1 技術要求 130
7.2 推薦系統(tǒng)簡介 131
7.3 現(xiàn)有推薦系統(tǒng) 132
7.3.1 K最近鄰 132
7.3.2 矩陣因式分解 133
7.3.3 神經(jīng)網(wǎng)絡 136
7.4 大規(guī)模語言模型如何改變推薦系統(tǒng) 138
7.5 實現(xiàn)由大規(guī)模語言模型驅(qū)動的推薦系統(tǒng) 139
7.5.1 數(shù)據(jù)預處理 140
7.5.2 在冷啟動場景中構(gòu)建QA推薦聊天機器人 143
7.5.3 構(gòu)建基于內(nèi)容的推薦系統(tǒng) 149
7.6 使用Streamlit開發(fā)前端 153
7.7 小結(jié) 156
7.8 參考文獻 156
第8章 使用結(jié)構(gòu)化數(shù)據(jù)的大規(guī)模語言模型 157
8.1 技術要求 157
8.2 結(jié)構(gòu)化數(shù)據(jù)的定義 158
8.3 關系數(shù)據(jù)庫入門 159
8.3.1 關系數(shù)據(jù)庫簡介 160
8.3.2 Chinook數(shù)據(jù)庫概述 161
8.3.3 如何在Python中使用關系數(shù)據(jù)庫 162
8.4 使用LangChain實現(xiàn)DBCopilot 166
8.4.1 LangChain智能體和SQL智能體 167
8.4.2 提示工程 170
8.4.3 添加更多工具 173
8.5 使用Streamlit開發(fā)前端 176
8.6 小結(jié) 179
8.7 參考文獻 180
第9章 使用大規(guī)模語言模型生成代碼 181
9.1 技術要求 181
9.2 為代碼選擇合適的大規(guī)模語言模型 182
9.3 代碼理解和生成 183
9.3.1 Falcon LLM 184
9.3.2 CodeLlama 187
9.3.3 StarCoder 190
9.4 像算法一樣行動 194
9.5 利用代碼解釋器 200
9.6 小結(jié) 206
9.7 參考文獻 206
第10章 使用大規(guī)模語言模型構(gòu)建多模態(tài)應用 208
10.1 技術要求 208
10.2 為什么是多模態(tài) 209
10.3 使用LangChain構(gòu)建多模態(tài)智能體 211
10.4 方案1:使用Azure AI服務的開箱即用工具包 211
10.5 方案2:將單一工具整合到一個智能體中 225
10.5.1 YouTube工具和Whisper 225
10.5.2 DALL-E和文本生成 227
10.5.3 將所有工具整合在一起 229
10.6 方案3:使用序列鏈的硬編碼方法 233
10.7 三種方案的比較 236
10.8 使用Streamlit開發(fā)前端 237
10.9 小結(jié) 239
10.10 參考文獻 239
第11章 微調(diào)大規(guī)模語言模型 240
11.1 技術要求 241
11.2 微調(diào)定義 241
11.3 何時微調(diào) 244
11.4 開始微調(diào) 245
11.4.1 獲取數(shù)據(jù)集 245
11.4.2 詞元化數(shù)據(jù) 246
11.4.3 微調(diào)模型 249
11.4.4 使用評估指標 250
11.4.5 訓練和保存 253
11.5 小結(jié) 256
11.6 參考文獻 257
第12章 負責任的人工智能 258
12.1 什么是負責任的人工智能,為什么需要它 258
12.2 負責任的人工智能架構(gòu) 260
12.2.1 模型層 260
12.2.2 元提示層 263
12.2.3 用戶界面層 264
12.3 有關負責任的人工智能的法規(guī) 267
12.4 小結(jié) 268
12.5 參考文獻 269
第13章 新興趨勢和創(chuàng)新 270
13.1 語言模型和生成式人工智能的最新發(fā)展趨勢 270
13.1.1 GPT-4V 271
13.1.2 DALL-E 3 272
13.1.3 AutoGen 273
13.1.4 小型語言模型 274
13.2 擁抱生成式人工智能技術的公司 275
13.2.1 Coca-Cola 275
13.2.2 Notion 275
13.2.3 Malbek 276
13.2.4 微軟 277
13.3 小結(jié) 278
13.4 參考文獻 279