生成式AI應用開發:基於OpenAI API實現

陳禎民

  • 出版商: 清華大學
  • 出版日期: 2025-03-01
  • 定價: $708
  • 售價: 8.5$602
  • 語言: 簡體中文
  • ISBN: 7302679355
  • ISBN-13: 9787302679356
  • 下單後立即進貨 (約4週~6週)

  • 生成式AI應用開發:基於OpenAI API實現-preview-1
  • 生成式AI應用開發:基於OpenAI API實現-preview-2
  • 生成式AI應用開發:基於OpenAI API實現-preview-3
生成式AI應用開發:基於OpenAI API實現-preview-1

買這商品的人也買了...

商品描述

"這是一本面向AI開發人員以及對生成式人工智能技術感興趣的讀者的專業圖書。《生成式AI應用開發:基於OpenAI API實現》深入探討生成式AI技術的原理與實現,以及如何利用OpenAI API進行高效開發。《生成式AI應用開發:基於OpenAI API實現》內容包括ChatGPT的原理解析、OpenAI API請求庫的使用、飛書AI機器人的構建、AI編程輔助插件的開發、Hugging Face模型的私有化部署與微調,以及檢索增強技術RAG和Prompt Engineering的優化策略。 書中不僅系統地梳理了生成式AI應用開發的關鍵知識點,還通過豐富的實際代碼案例指導讀者在不同垂直領域實現AI應用的開發。此外,《生成式AI應用開發:基於OpenAI API實現》還擴展介紹了AI應用的社區生態,幫助讀者將理論知識應用到實踐中,培養獨立開發和優化生成式AI應用的能力。 《生成式AI應用開發:基於OpenAI API實現》適合希望深入瞭解並實踐生成式AI技術的人員,無論是初學者還是有經驗的開發者,都能從中獲得寶貴的知識和啟發。通過閱讀《生成式AI應用開發:基於OpenAI API實現》,讀者將能夠掌握從理論到實踐的全方位知識,為未來的AI應用開發打下堅實的基礎。"

目錄大綱

目    錄

 

第1章  緒論 1

1.1  AGI的新時代已經到來 1

1.2  ChatGPT全景介紹:歷史、原理與API 2

1.2.1  GPT模型的基本概念和發展歷程 2

1.2.2  GPT為什麽能做到跨領域與人交互 3

1.2.3  OpenAI API簡介 7

1.3  生成式AI應用的市場前景 10

1.4  本書的內容安排 11

第2章  OpenAI API請求庫 14

2.1  OpenAI API 14

2.1.1  OpenAI API提供的模型類別 14

2.1.2  在瀏覽器端實現文本轉音頻 16

2.1.3  在Node.js運行時實現文本轉音頻 18

2.1.4  音頻轉文本的實現 21

2.2  Chat系列OpenAI API端點 23

2.2.1  Chat系列API端點參數及使用 23

2.2.2  Chat API的流響應 26

2.3  API請求庫 31

2.3.1  使用OpenAI請求庫 31

2.3.2  實戰:封裝並發布一個大語言模型API的請求庫 33

2.3.3  ChatGPT國內可用免費API轉發開源倉庫:GPT-API-free 71

2.4  本章小結 72

第3章  基礎應用:ChatGPT的實現 74

3.1  項目初始化和產品功能拆解 74

3.1.1  項目初始化 74

3.1.2  產品功能拆解 77

3.2  ChatGPT靜態交互的實現 78

3.2.1  右側ChatGPT對話區域 78

3.2.2  左側邊欄區域(Chat信息和API_KEY填寫) 81

3.3  ChatGPT可交互功能的補充 90

3.3.1  使用llm-request接入OpenAI API 91

3.3.2  New Chat事件的綁定 96

3.3.3  聊天記錄的緩存 97

3.3.4  響應內容的富文本處理(換行、代碼高亮、代碼復制) 101

3.3.5  思考題:如何避免在請求中暴露API_KEY 112

3.4  創建不同角色類別的聊天 114

3.4.1  什麽是System Prompt 114

3.4.2  為ChatGPT項目放開System Prompt的填寫 115

3.4.3  示例:創建布布熊的虛擬女友一二熊 118

3.5  社區功能:跨平臺ChatGPT應用—ChatGPT Next Web 119

3.5.1  初識ChatGPT Next Web 119

3.5.2  使用Vercel把ChatGPT Next Web部署到公網 121

3.6  本章小結 121

第4章  交互應用:集成AI模型功能到飛書機器人 123

4.1  創建飛書機器人 123

4.1.1  飛書開放平臺 123

4.1.2  創建一個飛書機器人一二熊 124

4.2  飛書機器人的API服務 125

4.2.1  飛書機器人API服務的事件訂閱 125

4.2.2  開發階段:使用反向代理工具Ngrok對本地服務進行內網穿透 127

4.2.3  訂閱message接收事件並響應 130

4.2.4  部署上線:使用Vercel Serverless Functions輕服務部署 132

4.3  支持一二熊的消息回復 137

4.3.1  支持一二熊的單聊回復消息 137

4.3.2  支持一二熊在群聊中回復消息 144

4.3.3  使用自定義消息卡片配置幫助文檔 148

4.4  結合AI實現一二熊的辦公輔助功能 150

4.4.1  支持對飛書文檔內容進行總結 151

4.4.2  支持向指定人員發送消息通知 156

4.4.3  支持向指定群發送消息通知 159

4.4.4  支持自動拉群並說明拉群用意 169

4.4.5  支持創建任務並自動生成任務摘要 174

4.5  本章小結 180

第5章  VSCode自定義插件 181

5.1  AI在代碼輔助領域的實施 181

5.1.1  ChatGPT出色的代碼輔助功能 181

5.1.2  OpenAI API與IDE插件的結合 183

5.2  初識VSCode插件開發 185

5.2.1  VSCode插件初始化 185

5.2.2  VSCode插件的目錄結構及文件剖析 186

5.2.3  VSCode插件的啟動與本地調試 188

5.2.4  VSCode插件中單元測試的環境API mock 190

5.3  VSCode插件開發常用擴展功能 191

5.3.1  插件命令 191

5.3.2  菜單項 196

5.3.3  插件配置項 198

5.3.4  按鍵綁定 203

5.3.5  消息通知 203

5.3.6  收集用戶輸入 203

5.3.7  文件選擇器 205

5.3.8  創建進度條 208

5.3.9  診斷和快速修復 210

5.4  特殊判斷值when子句 213

5.4.1  when子句運算符 214

5.4.2  when子句內置環境變量 214

5.4.3  自定義when子句環境變量 215

5.5  VSCode插件支持的工作台空間 216

5.5.1  活動欄區域:視圖容器 217

5.5.2  側邊欄區域:樹視圖 219

5.5.3  狀態欄區域:狀態欄項目 221

5.5.4  編輯器組區域:網頁視圖 224

5.6  使用React開發Webview 226

5.6.1  Webview的React開發配置 226

5.6.2  Webview和Extension的相互通信 231

5.6.3  Webview的開發者調試 236

5.7  VSCode插件的聯動與發布 236

5.7.1  擴展依賴插件 237

5.7.2  VSCode插件的發布 237

5.8  本章小結 238

第6章  編程應用:AI編碼輔助插件 239

6.1  在VSCode插件中實現ChatGPT 239

6.1.1  項目初始化 239

6.1.2  插件功能剖析 240

6.1.3  插件功能配置項註冊 240

6.1.4  任務欄註冊 241

6.1.5  緩存首頁的實現 246

6.1.6  聊天頁面的實現 253

6.2  代碼語言轉換工具 263

6.2.1  插件功能剖析 263

6.2.2  插件功能配置項註冊 263

6.2.3  支持全文件語言轉換 264

6.2.4  支持對全文件語言轉換結果的追問 268

6.2.5  支持局部代碼語言轉換 277

6.3  代碼審查工具 280

6.3.1  插件功能剖析 280

6.3.2  插件功能的配置項註冊 281

6.3.3  支持單文件粒度代碼AI診斷 282

6.3.4  人工的診斷行列匹配 287

6.3.5  支持對問題代碼的AI快速修復 292

6.3.6  支持狀態欄狀態顯示 298

6.4  本章小結 300

第7章  Hugging Face開源模型的私有化部署和微調 301

7.1  模型私有化部署 301

7.1.1  什麽是模型私有化部署 301

7.1.2  使用Anaconda管理Python環境 302

7.1.3  私有化部署ChatGLM3-6B模型 304

7.1.4  ChatGLM3-6B模型的低成本部署 308

7.2  模型微調 309

7.2.1  什麽是模型微調 309

7.2.2  對ChatGLM3-6B模型進行單機單卡P-Tuning  310

7.3  開源AI社區Hugging Face 317

7.3.1  什麽是Hugging Face 317

7.3.2  機器學習庫Transformers 317

7.4  本章小結 328

第8章  檢索增強生成技術:向量化與大模型的結合 329

8.1  檢索增強生成技術介紹 329

8.1.1  訓練模型是一個高成本的過程 329

8.1.2  檢索增強生成技術:低成本信息穿透的實現 330

8.2  文本向量化 332

8.2.1  什麽是文本向量化 332

8.2.2  OpenAI提供的文本向量化功能 333

8.2.3  私有化部署Hugging Face向量化模型 335

8.3  向量數據庫Chroma 340

8.3.1  什麽是向量數據庫Chroma 340

8.3.2  文本向量化及相似度匹配的示例 341

8.3.3  集合API 342

8.3.4  相似度距離計算方法 352

8.3.5  embeddings向量化函數 353

8.4  實戰:為ChatGPT提供知識庫功能 357

8.4.1  知識庫整體功能剖析 357

8.4.2  支持文件上傳至知識庫 358

8.4.3  支持包含相似搜索的詢問模式 376

8.5  本章小結 380

第9章  提示詞工程與LLM社區生態 382

9.1  提示詞工程 382

9.1.1  英文組織提示詞 382

9.1.2  明確輸入和輸出 383

9.1.3  輔助推理鍵 384

9.1.4  特殊或生僻場景提供示例 385

9.1.5  分治法:減小模型介入問題的粒度 386

9.1.6  結構化組織提示詞 388

9.2  國內Chat大模型 389

9.2.1  文心一言 389

9.2.2  通義千問 395

9.2.3  豆包 399

9.2.4  元寶 402

9.2.5  Kimi 408

9.3  AI應用搭建平臺Coze 410

9.3.1  什麽是Coze 411

9.3.2  基礎使用 412

9.3.3  高階功能 414

9.3.4  Coze應用的API調用 435

9.4  本章小結 441