Description
OpenAI API 開發手冊 – 用 Responses API、Realtime API、MCP、Agents SDK、Function calling 打造即時語音、RAG、Agent 應用
目錄 | CHAPTER 1 OpenAI API 入門
1-1 為什麼要使用 API
– 學習 OpenAI API 的好處
1-2 從零開始使用 OpenAI API
– 認識 Open AI API 家族
– 牛刀小試
1-3 認識 token
– 使用 OpenAI 的視覺化網頁觀察 token 轉換結果
– 使用程式取得 token 轉換結果
– 計算實際傳送的 token 數
1-4 認識訊息角色
– 訊息與角色
– 幫模型制訂規則
1-5 錯誤處理
1-6 非同步方式使用 API
– 幫 API 的使用加上等待動畫
1-7 在沒有 openai 套件的環境中使用 API
– 透過 requests 套件以 HTTP POST 使用 API
– 透過 HTTPX 套件以非同步方式使用 API
– 連 Python 都沒有的環境下使用 API
| CHAPTER 2 AI 聊天功能的基礎–Responses API
2-1 更換模型–使用推理模型
– 調整推理強度
– 觀察推理過程
2-2 控制生成結果
– 限制生成的 token 數量
– 控制回覆內容的變化性–temperature
– 控制生成內容的可能性–top_p
2-3 控制回覆格式–生成 JSON
– 生成 JSON 格式
– 使用 Pydantic 標準化 JSON 格式生成步驟
2-4 輸入圖片/檔案當提示
– 輸入圖片
– 輸入 PDF 檔案
| CHAPTER 3 有記憶的簡易聊天程式–串接記錄與串流回應
3-1 文字形式的簡易聊天程式
– 建立輔助函式與聊天程式雛形
3-2 串接對話記錄
– 使用回應識別碼提供對談內容
– 幫聊天輔助函式串接對話過程
3-3 使用串流功能即時顯示回覆內容
– 啟用串流功能
– 加入串流選項的聊天類別
3-4 具有記憶的聊天程式
– 將回應識別碼儲存到檔案以及從檔案讀回的方法
– 可延續討論串交談的應用程式
– 透過網頁檢視儲存的回應
– 利用程式碼管理對談記錄
3-5 手動建立對話記錄
– 自行建立對話記錄
– 儲存對話紀錄
| CHAPTER 4 RAG 的基礎–用搜尋與檢索幫 AI 長知識
4-1 使用內建搜尋工具幫 AI 走遍全世界
– 啟用內建的搜尋功能
– 設定搜尋地區
– 設定提供給模型的搜尋資料量
– 串流方式使用工具
– 搜尋工具的計價方式
4-2 幫簡易聊天程式加上搜尋功能
– 設計處理指令的類別
– 修改 Chat 類別
– 建立處理內建搜尋工具指令的類別
4-3 使用內建檔案檢索 RAG 工具
– RAG 簡介
– 上傳檔案進行 RAG
– 使用內建的檔案檢索工具
– 查看檢索結果
– 限制檢索筆數
– 限制相似度
– 檔案檢索工具的計費方式
4-4 利用程式碼動態管理要檢索的檔案
– 動態上傳檔案
– 建立向量儲存區同時加入檔案
– 動態加入檔案到向量儲存區
– 顯示向量儲存區內的檔案
– 移除向量儲存區
4-5 幫簡易聊天程式加上檔案檢索功能
– 設計處理檔案檢索指令的類別
– 測試具備網頁搜尋與檔案檢索功能的聊天程式
– 加上可以檢視工具執行結果的功能
| CHAPTER 5 Agent 的基礎 – 用 Function Calling 幫 AI 長手腳
5-1 認識 function calling 機制
5-2 提供客製搜尋功能
– 提供 Google 搜尋的函式
– 使用 JSON Schema 描述函式
– 使用 function calling
– 依據模型指示叫用函式
– 建立方便進行 function calling 的輔助函式
– 同時叫用多個函式(parallel function calling)
– 串流模式下的 function calling
5-3 幫簡易聊天應用程式加入 function calling 功能
– 設計處理自訂函式工具的類別
– 修改 Chat 類別搭配 function calling 運作
– 測試使用自訂函式工具聊天
– 檢視函式叫用的指示
– 強制使用內建工具
– 不允許單回叫用多個函式
5-4 讓 AI 長出手腳打造智慧 CLI 指令介面
– 執行 shell 指令的自訂函式工具
– 提供模型自訂的 shell 指令執行函式
– 測試用說的就可以操控電腦的樂趣
– 處理 IPython 特有的問題
– 設立防護機制
| CHAPTER 6 會寫程式與生圖的內建工具
6-1 使用內建工具執行 shell 指令
6-2 Code Interpreter 內建工具
– 取得程式碼輸出結果
– 使用串流方式
– 由 Code Interpreter 處理檔案
– 手動建立容器
6-3 文字生圖內建工具
– 串接回應持續修改
– 以串流模式取得生成過程的變化圖
– 在背景執行 Responses API
6-4 幫聊天程式加入寫程式與生圖功能
– 修改 Chat 類別
– 處理 Code Interpreter 指令的類別
– 處理生圖指令的類別
– 測試全功能的聊天程式
| CHAPTER 7 Agent 的橋樑–用 MCP 介接外部工具
7-1 MCP 協定簡介
– MCP 的組成要素
7-2 MCP 伺服器開發
– 安裝 uv 工具並建置 Python 環境
– 可在本機執行指令的 MCP 伺服器
– 測試 MCP 伺服器
– 多個 MCP 伺服器共同運作
7-3 MCP 用戶端
– 使用單一 MCP 伺服器的應用程式
– 同時使用多個 MCP 伺服器
– 使用其他人設計的 MCP 伺服器
| CHAPTER 8 遠端 MCP 與遙控應用程式
8-1 使用 SSE 將 MCP 伺服器部署在網路上
– 使用 SSE 的 MCP 伺服器
– 測試採用 SSE 傳輸的 MCP 伺服器
– 使用 SSE 傳輸的 MCP 用戶端
– 使用 Streamable HTTP 在網路上部署 MCP 伺服器
8-2 使用公開在網路上的 MCP 伺服器
– GitMCP 使用方法
– 手動修正 MCP 伺服器提供的 JSON Schema
– 使用 OpenAI 內建工具連接部署在公開網路上的 MCP 伺服器
– 先讓使用者同意才執行 MCP 工具
– 讓用戶端程式使用內建 MCP 工具
8-3 使用環境變數傳遞機密資訊給 MCP 伺服器
– 預設揭露給 MCP 伺服器的環境變數
– 使用 env 項目傳遞環境變數給 MCP 伺服器
8-4 操控其他應用程式的 MCP 伺服器
– 建立 Spotify App
– 撰寫 MCP 伺服器
– 測試控制 Spotify 的 MCP 伺服器
| CHAPTER 9 即時語音 Realtime API – 進階語音模式體驗
9-1 Realtime API 多模態輸入輸出
– Realtime API 的運作方式
– 準備工作
9-2 Realtime API 基本架構
– 修改交談階段的參數
– 傳送文字並取得回應
– 在 Realtime API 中使用 function calling
9-3 進入 Realtime API 的語音世界
– 準備工作
– 從聲音檔傳送語音
– 進入即時語音交談的世界
– 顯示輸入語音的文字轉換結果
– 加入 function calling 功能
– 用語音控制 MCP 伺服器
9-4 手動控制語音段落
– 關閉 VAD 功能
– 取消正在進行中的回覆
9-5 網頁版的 Realtime API 應用程式
– 派發臨時金鑰
– 網站主頁面
– 建立 WebRTC 連線
– 計價方式
| CHAPTER 10 Agents SDK – 邁向代理人最後一哩路
10-1 Agents SDK 簡介
10-2 建立基本的 agent 架構
– 以同步方式執行
– 以串流方式執行
– 串接結果建立討論串
10-3 在 agent 中使用工具
– 使用內建工具
– 使用 MCP 伺服器
– 使用自訂函式工具
10-4 Guardrail(防護欄)
– 自訂 agent 的輸出格式
– 建立 guardrail
– 使用 traces 頁面觀察 agent 執行結果
10-5 agent 的交棒(handoff)機制
– 建立可以抓取網頁文字的 agent
– 把 agent 當工具使用
– 使用 handoff 交棒機制
– 顯示交棒的理由
10-6 使用語音交談的 agent
– 前置工作
– 撰寫第一個語音版的 agent 程式
– 顯示輸入內容
– 同時顯示輸入內容與回覆內容
– 啟動 VAD 自動偵測講話機制
– 使用 MCP 伺服器
书名简译:OpenAI API 开发手册 – 用 Responses API、Realtime API、MCP、Agents SDK、Function calling 打造实时语音、RAG、Agent 应用
There are no reviews yet.