書名:ChatGPT 開發手冊 Turbo×Vision 進化版:用 OpenAI Chat/Assistants API•Function calling 設計 GPTs action•LINE/Discord bot•股市分析/自動助理
原文書名:
產品代碼:
9789863127772系列編號:
F4762定價:
820元作者:
施威銘研究室頁數:
496頁開數:
17x23x3.1裝訂:
平裝上市日:
20240111出版日:
20240111出版社:
旗標科技股份有限公司CIP:
312市場分類:
電腦資訊產品分類:
書籍免稅聯合分類:
電腦資訊類- ※在庫量小
商品簡介
在 ChatGPT 帶起生成式 AI 百家齊放的新世紀, 整合語言模型已勢不可擋。隨著 OpenAI 釋出更厲害的新模型與整合度更高的 API, 善用語言模型理解文意與能言善道的超強特性, 邁入『自然語言就是程式語言』的願景已經不再是夢想。終端用戶將使用自然語言操控應用程式, 由語言模型自主理解規劃邏輯流程, 我們的程式則是語言模型背後的軍火庫, 串接外部各式各樣的功能。
| 用真實上線的 GPTs 學 action 開發 |
即使 GPTs 已經提供搜尋網路、上傳檔案的功能, 仍然無法隨意取用外部功能, 因此 GPTs 最關鍵的環節就是 action 外掛系統, 讓語言模型與外界接軌。本書會帶大家用真實上線的台鐵時刻表查詢專家當範例, 手把手教你設計 GPTs action, 補強客製 GPTs 欠缺的功能。
| 串接 Google OAuth2 API 管控 action 使用者 |
客製的 GPTs 要能針對不同使用者提供客製服務才是真客製, 本書會說明如何串接 Google OAuth2 API, 幫 GPTs action 加上登入 Google 帳號機制, 以便後端程式可以根據登入的使用者提供不同的服務, 設計出真正客製的 ChatGPT。
| Chat/Assistants API 全解析 |
Assistants API 是 OpenAI API 家族的大禮, 以往我們必須自己處理的對話記錄、網路搜尋、向量資料庫、程式執行工具、文字生圖等等功能, 現在全部整合在 Assistants API 中, 成為實作 AI 助理的基石。本書會帶大家深度瞭解 Chat API 與 Assistants API 的差異, 讓你針對問題挑選適當的 API。
| 深入 function calling 機制 |
即使是最新的 gpt-4 模型, 訓練資料也僅止於 2023 年 4 月, 模型本身也不能連網取得新知, 更無法介接外部 API。透過 function calling 機制, 就可以撰寫各式各樣的函式作為延伸語言模型能力的外掛, 任由模型取用。新版模型更強化功能, 提供 parallel function calling, 即使複雜問題也能自動分解由多個函式完成。
| 整合 gpt-4-vision 模型 |
gpt-4-vision 讓模型長眼睛, 本書就利用這項功能結合 code interpreter 工具, 帶大家製作一個給它網頁截圖就能模仿生出近似網頁檔的助理, 甚至還可以幫你從其他語言的 API 串接程式碼生成 JavaScript 程式碼, 以後看到欣賞的網頁, 就可以透過這種方式快速學習設計方法。
| 透過 Assistants API 讓語言模型幫你生 SQL |
SQL 語法博大精深, 有的時候我們很明確知道想要從資料庫裡找出什麼結果, 但就是沒辦法把 SQL 語句寫對, 本書特別展示了一個簡單的小助理, 讓你用說的就能操作資料庫。
| 利用 Retrieval 工具設計 RAG 助理 |
Assistants API 除了能夠記錄對話, 還提供額外的工具, 其中 Retrieval 工具免除我們自己將文件分段作 embedding 以及管理/存取向量資料庫的麻煩, 只要把檔案丟給它, 就可以快速開發檢索增強式生成 (RAG, Retrieval Augmented Generation) 助理。
| 善用 Assistants API 開發 LINE/Discord bot |
用語言模型幫即時通訊軟體長大腦, 變成隨身客製版的 ChatGPT, 不但能理解文字, 還能創意生圖改圖, 也能分析股市, 更能看圖說故事。
| 設計字幕與旁白自動生成助理 |
加字幕是拍片後最繁瑣的工作, 透過 Whisper 模型, 就可以自動從語音轉出加上時間點的字幕檔, 或者也可以反向從字幕檔利用 TTS 模型生成旁白音檔, 有效提升自媒體工作效率。
| 微軟 Azure OpenAI API 差異說明 |
除了 OpenAI 自己, 微軟的 Azure 平台也提供有 OpenAI API, 這兩個看似系出同門的 API 在使用上卻存在一些差異, 如果沒有注意, 就可能落入陷阱, 本書已經幫你測試過, 協助你無縫接軌轉移應用程式到 Azure 平台。
| 設計串流即時輸出的聊天架構 |
想要像是 ChatGPT 可以即時顯示生成內容, 避免讓使用者痴痴等待全部內容生成, 沒問題, OpenAI 也提供有串流模式, 本書也將串流功能與 function calling 整合進聊天框架, 讓你可以快速實作出具備即時顯示、又可彈性增減外部功能的對答程式。
| 詳解 OpenAI API 個別參數 |
不想被語言模型弄瘋, 就要瞭解 OpenAI API 的各項參數, 才能掌握語言模型生成的各種變數, 怎樣可以讓語言模型生成內容避開不想要出現的字詞?怎樣可以讓語言模型選用偏好的字詞?為什麼生出內容有怪怪的東西?這些都可以透過 API 的參數控制, 如果不瞭解參數, 就只能任由語言模型恣意亂為了。
本書特色:
‣ 解析實際上線的 GPTs 學會 action 開發
‣ 串接 Google 帳號認證 GPTs action 使用者身分
‣ 善用 Assistants API 設計 Discord 股票分析助理
‣ 結合 gpt-4-vision/code interpreter 設計看圖生成網頁的自動助理
‣ 使用 Assistants API 用說的就能操控 SQL 資料庫
‣ 利用 function calling 幫 LINE AI 機器人突破限制開外掛
‣ 整合 OpenAI Image API 設計 AI 文字生圖/改圖/修圖工具
‣ 詳解 OpenAI API 參數/掌握語言模型輸出變化
‣ 實作自動字幕/旁白產生器
‣ 微軟 Azure OpenAI API 差異說明, 無縫接軌轉移應用程式到 Azure 平台
在 ChatGPT 帶起生成式 AI 百家齊放的新世紀, 整合語言模型已勢不可擋。隨著 OpenAI 釋出更厲害的新模型與整合度更高的 API, 善用語言模型理解文意與能言善道的超強特性, 邁入『自然語言就是程式語言』的願景已經不再是夢想。終端用戶將使用自然語言操控應用程式, 由語言模型自主理解規劃邏輯流程, 我們的程式則是語言模型背後的軍火庫, 串接外部各式各樣的功能。
| 用真實上線的 GPTs 學 action 開發 |
即使 GPTs 已經提供搜尋網路、上傳檔案的功能, 仍然無法隨意取用外部功能, 因此 GPTs 最關鍵的環節就是 action 外掛系統, 讓語言模型與外界接軌。本書會帶大家用真實上線的台鐵時刻表查詢專家當範例, 手把手教你設計 GPTs action, 補強客製 GPTs 欠缺的功能。
| 串接 Google OAuth2 API 管控 action 使用者 |
客製的 GPTs 要能針對不同使用者提供客製服務才是真客製, 本書會說明如何串接 Google OAuth2 API, 幫 GPTs action 加上登入 Google 帳號機制, 以便後端程式可以根據登入的使用者提供不同的服務, 設計出真正客製的 ChatGPT。
| Chat/Assistants API 全解析 |
Assistants API 是 OpenAI API 家族的大禮, 以往我們必須自己處理的對話記錄、網路搜尋、向量資料庫、程式執行工具、文字生圖等等功能, 現在全部整合在 Assistants API 中, 成為實作 AI 助理的基石。本書會帶大家深度瞭解 Chat API 與 Assistants API 的差異, 讓你針對問題挑選適當的 API。
| 深入 function calling 機制 |
即使是最新的 gpt-4 模型, 訓練資料也僅止於 2023 年 4 月, 模型本身也不能連網取得新知, 更無法介接外部 API。透過 function calling 機制, 就可以撰寫各式各樣的函式作為延伸語言模型能力的外掛, 任由模型取用。新版模型更強化功能, 提供 parallel function calling, 即使複雜問題也能自動分解由多個函式完成。
| 整合 gpt-4-vision 模型 |
gpt-4-vision 讓模型長眼睛, 本書就利用這項功能結合 code interpreter 工具, 帶大家製作一個給它網頁截圖就能模仿生出近似網頁檔的助理, 甚至還可以幫你從其他語言的 API 串接程式碼生成 JavaScript 程式碼, 以後看到欣賞的網頁, 就可以透過這種方式快速學習設計方法。
| 透過 Assistants API 讓語言模型幫你生 SQL |
SQL 語法博大精深, 有的時候我們很明確知道想要從資料庫裡找出什麼結果, 但就是沒辦法把 SQL 語句寫對, 本書特別展示了一個簡單的小助理, 讓你用說的就能操作資料庫。
| 利用 Retrieval 工具設計 RAG 助理 |
Assistants API 除了能夠記錄對話, 還提供額外的工具, 其中 Retrieval 工具免除我們自己將文件分段作 embedding 以及管理/存取向量資料庫的麻煩, 只要把檔案丟給它, 就可以快速開發檢索增強式生成 (RAG, Retrieval Augmented Generation) 助理。
| 善用 Assistants API 開發 LINE/Discord bot |
用語言模型幫即時通訊軟體長大腦, 變成隨身客製版的 ChatGPT, 不但能理解文字, 還能創意生圖改圖, 也能分析股市, 更能看圖說故事。
| 設計字幕與旁白自動生成助理 |
加字幕是拍片後最繁瑣的工作, 透過 Whisper 模型, 就可以自動從語音轉出加上時間點的字幕檔, 或者也可以反向從字幕檔利用 TTS 模型生成旁白音檔, 有效提升自媒體工作效率。
| 微軟 Azure OpenAI API 差異說明 |
除了 OpenAI 自己, 微軟的 Azure 平台也提供有 OpenAI API, 這兩個看似系出同門的 API 在使用上卻存在一些差異, 如果沒有注意, 就可能落入陷阱, 本書已經幫你測試過, 協助你無縫接軌轉移應用程式到 Azure 平台。
| 設計串流即時輸出的聊天架構 |
想要像是 ChatGPT 可以即時顯示生成內容, 避免讓使用者痴痴等待全部內容生成, 沒問題, OpenAI 也提供有串流模式, 本書也將串流功能與 function calling 整合進聊天框架, 讓你可以快速實作出具備即時顯示、又可彈性增減外部功能的對答程式。
| 詳解 OpenAI API 個別參數 |
不想被語言模型弄瘋, 就要瞭解 OpenAI API 的各項參數, 才能掌握語言模型生成的各種變數, 怎樣可以讓語言模型生成內容避開不想要出現的字詞?怎樣可以讓語言模型選用偏好的字詞?為什麼生出內容有怪怪的東西?這些都可以透過 API 的參數控制, 如果不瞭解參數, 就只能任由語言模型恣意亂為了。
本書特色:
‣ 解析實際上線的 GPTs 學會 action 開發
‣ 串接 Google 帳號認證 GPTs action 使用者身分
‣ 善用 Assistants API 設計 Discord 股票分析助理
‣ 結合 gpt-4-vision/code interpreter 設計看圖生成網頁的自動助理
‣ 使用 Assistants API 用說的就能操控 SQL 資料庫
‣ 利用 function calling 幫 LINE AI 機器人突破限制開外掛
‣ 整合 OpenAI Image API 設計 AI 文字生圖/改圖/修圖工具
‣ 詳解 OpenAI API 參數/掌握語言模型輸出變化
‣ 實作自動字幕/旁白產生器
‣ 微軟 Azure OpenAI API 差異說明, 無縫接軌轉移應用程式到 Azure 平台
作者簡介
書籍目錄
目錄:
第 1 章 OpenAI API 入門
1-1 有了 ChatGPT / GPTs 為什麼還要寫程式?
• 流程自動化
• 客製化聊天內容
• 延伸聊天範圍
• 整合 AI 功能
1-2 註冊 OpenAI API 帳戶
• 檢查目前用量
• 成為付費會員
• 限制使用額度
1-3 利用 Playground 熟悉 API
• 可用的 API 模式與模型
• 認識 Chat API 的三種角色
• 保持對答脈絡
第 2 章 使用 Python 呼叫 API
2-1 使用官方 openai 套件
• 安裝與使用 openai 套件
• 直接透過模組使用 API
• 傳遞多筆訊息
• 設定與隱藏金鑰的方法
2-2 認識 token
• 使用 tokenizer 頁面檢視 token
• 使用 tiktoken 套件計算精確 token 數
• ChatML 標記語言
2-3 使用 Python requests 模組呼叫 API
• OpenAI API 的 HTTP 規格
• 使用 Python requests 模組
• 利用 curl 工具快速測試 API
2-4 加入組織成員
• 使用 API 時指定扣款組織
• 在 HTTP 表頭中指定組織
第 3 章 API 參數解析與錯誤處理
3-1 事前準備
3-2 控制生成訊息與 token 數量
• 指定生成的訊息數量 - n
• 設定詞彙黑名單 - stop
• 設定回覆語句的 tokens 數量上限 - max_tokens
3-3 控制回覆內容的變化性
• 讓回覆更具彈性 - temperature
• 控制詞彙的豐富度 - top_p
• 控制詞彙的重複性 - presence_penalty 與 frequency_penalty
• 調整特定 token 的分數 - logi-bias
• 固定可預測的輸出 - seed
3-4 串流輸出
• 可循序傳回結果的迭代器 (iterator) - stream
• 串流多個語句
3-5 進階控制
• 控制輸出格式 - response_format
• 取得底層 HTTP 回應內容
• 有眼睛的模型 - gpt-4-vision (GPT-4V)
3-6 錯誤處理與使用限制
• 使用例外機制處理錯誤
• API 存取限制
第 4 章 打造自己的 ChatGPT
4-1 文字模式簡易聊天程式
4-2 加入聊天記錄維持聊天脈絡
4-3 串流版本的聊天程式
4-4 儲存歷史紀錄下次繼續聊
• 掛接 Google 雲端硬碟
• 製作復原/儲存歷史紀錄的函式
第 5 章 突破時空限制–整合搜尋功能
5-1 用搜尋網頁幫 AI 補充知識
• 使用 Google 搜尋
5-2 整合搜尋結果讓 AI 跟上時代
5-3 使用 Google Search JSON API
• 建立搜尋引擎 ID
• 取得 API 金鑰
• 使用 HTTP API 取得搜尋結果
• 使用客製模組
第 6 章 讓 AI 幫 AI –自動串接流程
6-1 從 ChatGPT 外掛得到的啟示
• 準備工作
• 搭配串流/非串流模式的工具函式
6-2 由 AI 自動判斷要額外進行的工作
• 讓 AI 自行決定是否需要搜尋
• 撰寫判斷是否需要搜尋的工具函式
• 可自行判斷是否進行網路搜尋的聊天程式
6-3 可建構外掛系統的 Function Calling 機制
• 告知語言模型可用的外部工具函式
• 取得語言模型的建議
• 執行函式並傳回結果
• 同時叫用多個函式 (parallel function calling)
• 以串流方式使用 function calling
6-4 建立 API 外掛系統
• 建立外部工具函式參考表
• 建立協助 function calling 的工具函式
• 建立 function_calling 版的 get_reply_f() 函式
• 建立 function calling 版本的 chat_f() 函式
• 循序叫用函式
第 7 章 網頁版聊天程式與文字生圖 Image API
7-1 準備工作
7-2 使用 gradio 套件快速建立網頁程式
• 安裝與使用 gradio
• 使用串流方式顯示輸出
• 客製使用者介面
7-3 使用 DALL•E 的 Image API
• Image API 用法
• 建立文字生圖像網址的函式
• 包裝成生成 markdown 語法的函式
第 8 章 Assistants API —快速開發助理應用程式
8-1 什麼是 Assistants API
• Assistants API 的定價
• Assistants API 的基本元件
• 建立 Assistant
• 建立 Thread 與 Message
• 建立 Run 執行任務
• 顯示討論串內的所有訊息
8-2 Assistants API 物件用法
• 建立新討論串直接執行
• 建立對話函式
• 取消執行
• 檢視執行記錄
• 刪除討論串
• 上傳文件增添知識庫
• 修改助理的檔案清單設定
• 刪除文件
• 列出所有助理
8-3 使用內建工具
• Code interpreter
• Retrieval 檢索器 - RAG
• Function calling
第 9 章 AI 助理開發實戰
9-1 看截圖就能生出類似網頁的小助理
• 使用 GPT-4-Vision 建立網頁模板
• 建立 function calling
9-2 自動串接 API - 取得真正資料
• 串接 API 程式碼
• 製作天氣預報網頁
9-3 SQL 資料庫查詢助理
• 下載資料
• 建立 SQL 資料庫
• 建立相關函式
• 建立 SQL 助理
第 10 章 設計 LINE AI 聊天機器人
10-1 設計簡易的 LINE 聊天機器人
• Messaging API
• Replit 線上開發環境
• 實作 LINE 聊天機器人
• 設定環境變數
• 執行程式
• 串接程式與通道
• 測試聊天機器人
10-2 升級為 AI 聊天機器人
• 設定環境變數
• 修改程式碼
• 執行與測試
10-3 OpenAI 變化圖像的功能
10-4 可控制變化內容的 create_edit 函式
• ChatGPT code interpreter 工具來幫忙
• 讓 LINE 也能變化圖像背景
10-5 圖片解讀機器人
• 讓 LINE 也能解讀圖像
第 11 章 把 AI 帶到 Discord
11-1 建立第一個 Discord 機器人
• 前置作業
• 建立 Discord 開發者應用程式
• 取得 TOKEN
• 將 Discord 機器人加入伺服器
11-2 建立回聲機器人
• 複製 Replit 專案:回聲機器人
• 程式碼詳解:回聲機器人
11-3 讓 Discord 機器人只處理指名給自己的訊息
• 複製 Replit 專案:指名道姓機器人
• 程式碼詳解:指名道姓機器人
11-4 加入 AI 的 Discord 機器人
• 複製 Replit 專案:加入 AI 大腦的機器人
第 12 章 AI 客製化投資理財應用實戰
12-1 能抓取證交所資料的 Discord 機器人
• 複製 Replit 專案:能抓取證交所資料的 Discord 機器人
• 抓取大盤資料
• 抓取個股股價資料
• 抓取個股本益比、殖利率及淨值比資料
• 斜線指令:main.py
12-2 StockGPT:專業的證券分析機器人
• 複製 Replit 專案:StockGPT
• 抓取新聞資料
• AI 幫你來分析
12-3 加入按鈕指令來優化使用者體驗
• 複製 Replit 專案:按鈕版的 StockGPT
• 按鈕指令:main.py
第 13 章 自媒體業者必看!使用 AI 自動生成高品質字幕與旁白
13-1 使用 PyTube 套件輕鬆下載 YouTube 檔案
• 複製 Replit 專案:輕鬆下載 YouTube 檔案
• 程式碼詳解:輕鬆下載 YouTube 檔案
13-2 使用 Whisper 模型從語音轉出字幕檔
• 複製 Replit 專案:從音訊檔轉出字幕檔
• 程式碼詳解:從音訊檔轉出字幕檔
13-3 影片不是中文的?讓 AI 變出中文字幕!
• 複製 Replit 專案:讓 AI 變出中文字幕
• 程式碼詳解:讓 AI 變出中文字幕
13-4 利用 TTS 模型生成旁白配音
• 複製 Replit 專案:TTS 文字轉語音
• 程式碼詳解:TTS 文字轉語音
第 14 章 GPTs Action 開發
14-1 客製的 ChatGPT - 台鐵時刻表專家簡介
14-2 使用 TDX 平台查詢台鐵資訊
• 查詢所有車站基本資料
• 指定起迄站代號查詢時刻表
• 取得驗證資訊
• 以驗證身分方式使用 API
14-3 GPTs action 實作入門 - 以查詢台鐵車站代號為例
• 建立客製版本的 ChatGPT
• Action 基本架構
• API 規格檔
• 後端程式
• 測試 action
14-4 加入時刻表查詢功能
• 修改 API 規格檔
• 修改後端程式
• 測試 Action
• 儲存客製的 ChatGPT
14-5 身分驗證 - 使用 API 金鑰
• 設定金鑰
• 啟用金鑰
• 修改後端程式
• 測試 Action
14-6 身分驗證 - 串接 Google 帳號
• OAuth 認證基本流程
• 執行後端程式
• 設定串接 Google 帳號
• 設定 action 認證方式
• 實際測試
• 後端程式解說
• 登出帳戶
附錄 A 微軟 Azure OpenAI API 的差異與注意事項
A-1 部署模型
• 建立資源
• 部署模型
• 使用遊樂場測試部署的模型
A-2 建立用戶端物件測試 API
• 建立用戶端物件
• 預設啟用內容篩選機制
• 調整內容篩選層級
• 串流輸出時的注意事項