大模型應用開發極簡入門:基於GPT-4和ChatGPT(第2版)
奧利維耶·卡埃朗(Olivier Caelen)
相關主題
商品描述
本書為廣受讀者喜愛的暢銷書升級版,旨在讓讀者快速、簡單地上手大模型應用開發。
本書為初學者提供了一份清晰、全面的“最小可用知識”,帶領你快速瞭解 GPT-4 和 ChatGPT 的工作原理及優勢,並在此基礎上使用流行的 Python 編程語言構建大模型應用。升級版在舊版的基礎上進行了全面更新,融入了大模型應用開發的最新進展,比如 RAG、GPT-4 新特性的應用解析等。本書提供了大量簡單易學的示例,幫你理解相關概念並將其應用在自己的項目中。
準備好了嗎?只需瞭解 Python,你即可將本書作為進入大模型時代的啟動手冊,開發出自己的大模型應用。
作者簡介
奧利維耶·卡埃朗(Olivier Caelen)
國際支付服務先驅Worldline公司機器學習研究員、布魯塞爾自由大學機器學習博士,業餘時間在布魯塞爾自由大學教授機器學習課程。
瑪麗–艾麗斯·布萊特(Marie-Alice Blete)
AI工程師,曾在Worldline公司研發部門擔任軟件架構師。熱衷於分享AI知識,並經常在技術活動中擔任演講嘉賓。
何文斯(譯者)
知名大模型創業公司 Dify 產品經理、公眾號“何文斯”作者,致力於研究大模型中間件技術和AI應用工程化的實際落地。業餘時間撰寫大模型相關技術的科普文章,期待共同見證通用人工智能的實現。
目錄大綱
目錄
推薦序一 學習成為善用AI的人 | 寶玉 xi
推薦序二 開啟一段有趣、有啟發、有收獲的冒險旅程 | 張路宇 xv
推薦序三 人人都要學會和AI相處 | 孫志崗 xvii
推薦序四 AI工程師:從智能革命的探索者到智能體時代的
締造者 | 鄧範鑫 xix
推薦序五 未來正在生成中 | 梁宇鵬 xxi
推薦序六 AGI:不要旁觀,要真正參與 | 羅雲 xxiii
推薦序七 AI是人類能力的指數級放大器 | 宜博 xxv
譯者序 沒有誰天生就是AI工程師 | 何文斯 xxvii
前言 xxxi
排版約定 xxviii
使用代碼示例 xxix
O’Reilly在線學習平臺(O’Reilly Online Learning) xxix
聯系我們 xxix
致謝 xxx
電子書 xxxi
第 1章 初識GPT-4和ChatGPT 1
1.1 LLM概述 1
1.1.1 探索語言模型和NLP的基礎 2
1.1.2 理解Transformer架構及其在LLM中的作用 5
1.1.3 解密GPT模型的詞元化和預測步驟 7
1.1.4 將視覺整合到LLM中 9
1.2 GPT模型簡史:從GPT-1到GPT-4 11
1.2.1 GPT-1 11
1.2.2 GPT-2 12
1.2.3 GPT-3 12
1.2.4 從GPT-3到InstructGPT 13
1.2.5 GPT-3.5、ChatGPT和Codex 16
1.2.6 GPT-4 17
1.2.7 人工智能向多模態演進 20
1.3 LLM用例和示例產品 22
1.3.1 Be My Eyes 22
1.3.2 摩根士丹利 22
1.3.3 可汗學院 23
1.3.4 多鄰國 23
1.3.5 Yabble 24
1.3.6 Waymark 24
1.3.7 Inworld AI 25
1.4 警惕AI幻覺:限制與註意事項 25
1.5 借助高級功能釋放GPT潛力 28
1.6 小結 31
第 2章 深入瞭解OpenAI API 33
2.1 基本概念 34
2.2 OpenAI API中可用的模型 35
2.2.1 GPT Base 35
2.2.2 InstructGPT(遺留版) 35
2.2.3 GPT-3.5 36
2.2.4 GPT-4 37
2.3 在OpenAI Playground中使用GPT模型 37
2.4 入門:OpenAI Python庫 41
2.4.1 OpenAI服務訪問與API密鑰 42
2.4.2 Hello World 44
2.5 使用聊天補全模型 46
2.5.1 聊天補全端點的輸入選項 47
2.5.2 調整temperature和top_p 50
2.5.3 聊天補全端點的輸出結果格式 53
2.5.4 視覺能力 54
2.5.5 請求JSON輸出 58
2.6 使用其他文本補全模型 62
2.6.1 文本補全端點的輸入選項 63
2.6.2 文本補全端點的輸出結果格式 64
2.7 註意事項 64
2.7.1 定價和詞元限制 64
2.7.2 安全與隱私:小心! 65
2.8 其他OpenAI API和功能 65
2.8.1 嵌入 66
2.8.2 審核 69
2.8.3 文本轉語音 72
2.8.4 語音轉文本 74
2.8.5 圖像 API 78
2.9 小結(含速查清單) 88
第3章 構建基於LLM的應用程序:功能與挑戰 91
3.1 應用程序開發概述 91
3.1.1 API密鑰管理 92
3.1.2 安全與數據隱私 94
3.2 軟件架構設計原則 94
3.3 將LLM能力集成到你的項目中 95
3.3.1 對話能力 95
3.3.2 語言處理能力 96
3.3.3 人機交互能力 98
3.3.4 結合能力 99
3.4 示例項目 99
3.4.1 項目1:構建新聞生成器解決方案——語言處理 100
3.4.2 項目2:總結YouTube視頻——語言處理 102
3.4.3 項目3:打造《塞爾達傳說:曠野之息》專家——
語言處理與對話 107
3.4.4 項目4:創建個人助理——人機界面 114
3.4.5 項目5:組織文檔——語言處理 121
3.4.6 項目6:情感分析——語言處理 122
3.5 成本管理 129
3.6 基於LLM的應用程序的漏洞 131
3.6.1 分析輸入和輸出 132
3.6.2 提示詞註入的不可避免性 133
3.7 合理使用外部API 133
3.7.1 處理錯誤和意外延遲問題 134
3.7.2 速率限制 135
3.7.3 提高響應能力,改善用戶體驗 135
3.8 小結 139
第4章 OpenAI高級LLM集成策略 141
4.1 提示工程 141
4.1.1 利用角色、上下文和任務設計有效的提示詞 142
4.1.2 逐步思考 148
4.1.3 實現少樣本學習 150
4.1.4 基於用戶反饋的迭代優化 152
4.1.5 改善提示效果 158
4.2 微調 161
4.2.1 入門 161
4.2.2 使用OpenAI API進行微調 164
4.2.3 使用OpenAI的Web界面進行微調 168
4.2.4 微調應用程序 170
4.2.5 為電子郵件營銷活動生成和微調合成數據 172
4.2.6 微調的成本 180
4.3 RAG 180
4.3.1 基礎RAG 180
4.3.2 高級RAG 181
4.3.3 RAG的局限 187
4.4 策略選擇 187
4.4.1 策略比較 188
4.4.2 評估 190
4.5 從普通應用程序到基於LLM的解決方案 191
4.5.1 提示詞敏感性 191
4.5.2 非確定性 192
4.5.3 幻覺 193
4.6 小結 194
第5章 通過框架、插件等提升LLM的能力 197
5.1 LangChain框架 197
5.1.1 LangChain庫 199
5.1.2 動態提示詞 200
5.1.3 智能體和工具 201
5.1.4 記憶 205
5.1.5 嵌入 206
5.2 LlamaIndex框架 210
5.2.1 演示:10行代碼實現RAG 210
5.2.2 LlamaIndex原則 211
5.2.3 定製化 212
5.3 GPT-4 插件 214
5.3.1 概述 216
5.3.2 API 216
5.3.3 插件清單 218
5.3.4 OpenAPI規範 219
5.3.5 描述 220
5.4 GPTs 221
5.5 Assistants API 227
5.5.1 創建Assistants API 228
5.5.2 利用你的Assistants API管理對話 230
5.5.3 函數調用 234
5.5.4 OpenAI Web平臺上的助手 238
5.6 小結 241
第6章 綜合運用 243
6.1 關鍵要點 243
6.2 綜合運用:助手用例 245
6.2.1 第 一步:構思 245
6.2.2 第二步:定義需求 246
6.2.3 第三步:構建原型 247
6.2.4 第四步:改進、迭代 247
6.2.5 第五步:使解決方案更健壯 248
6.3 經驗教訓 250
關鍵術語表 251
工具、庫和框架 259
作者簡介 263
封面簡介 264