在 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 平台