OpenAI API 開發手冊 施威銘研究室
網路價
NT${{ commaFormat(product.price_actu) }}
NT${{commaFormat(product.price_sugg)}}
專屬特惠價 NT${{ commaFormat(product.group_price) }}
優惠價
NT${{ commaFormat(product.member_price) }}
NT${{ commaFormat(product.group_price) }}
商品組合
贈品 (買就送)
{{ pItem.title }}
付款方式
轉帳/匯款/無摺存款 / LinePay付款 / 超商代碼付款(綠界金流) / 信用卡一次付清(綠界金流) / AFTEE 先享後付 / [圖書專用] 7-11取貨付款
配送方式
7-11超商取貨 / 全家超商取貨 / 宅配到家 / 校園門市店到店取貨(需7~10個工作天,急用勿選)
超值加購
{{ pItem.title }}
型號:{{ pItem.model }}
加購價 NT${{pItem.extra_price}}
(原價NT${{pItem.price_orig}})
作者:施威銘研究室
書號:F5762
ISBN:9789863128298
建議售價:790 元
色彩:黑白
【內容】
不要再問『為什麼 ChatGPT 可以?』,你寫的程式也可以!
開發生成式 AI 應用程式時總是在想『為什麼 ChatGPT 有這個功能?』,現在你也可以。本書帶你學會 OpenAI API 關鍵元素,達到跟 ChatGPT 類似的功能。
|用 Realtime API 提供進階語音模式|
開發直接語音交談,隨時插話的應用,再加上其他章節介紹的 function calling 與 MCP 等,實現真正出一張嘴、連打字都不用就可以操控的應用程式。書中會帶你實踐桌面版與網頁版的語音交談程式,各種情境都能派上用場。
|透過 MCP 介接全世界|
MCP 雖然不是 OpenAI API 的一部分,但卻可以接上各式各樣的輸入與控制功能,本書會教你設計可分享功能給他人使用的 MCP 伺服器,也會實作具備 MCP 用戶端的主控程式,介接你自己或別人提供的 MCP 伺服器幫模型長出感官與手腳。
|用 Responses API+內建工具快速實作 RAG 應用|
Responses API 可以使用多種內建工具,搜尋網路、文字生圖、撰寫並執行 Python 程式碼都難不倒它,還可以檢索檔案,提供檢索片段內容幫模型增長知識,快速設計 RAG 應用。
|可運作多 agent 的 Agnets SDK|
實現讓程式自主決策並執行任務、達成代理人(agent)的理想,Agents SDK 還可以協調多個 agent 彼此合作,把任務交棒給最合適的 agent 處理。
|運用推理模型解決複雜數理問題|
透過 API 使用推理模型,還可以像是 ChatGPT 那樣呈現推理過程,不再需要撰寫複雜的提示內容或是指示,就可以解決數理或是邏輯問題。
|深度瞭解 function calling 機制|
不論是 Agents SDK 還是 MCP,底層的運作關鍵就是 function calling,你不一定會直接使用它,但瞭解它卻是延伸模型能力的必備基礎。
|直指核心設計的範例|
學習 API 當然可以直接看官方文件與範例,不過官方範例有時候因為想要有漂亮的 UI 呈現等原因,採用了你不一定熟悉的框架,使得範例本身摻雜太多非必要的元素,混淆了真正的關鍵主題,在設計範例時我們就特意保留最精簡的架構,高度聚焦提升成效。
|能踩的雷我們都先幫你踩過一遍|
使用 API 光看文件是一回事,實際測試又是一回事,尤其像是 MCP 要介接其他人提供的服務,更容易遇到不相容的問題;還有文件上寫了但可能使用上有問題,或是文件上可能沒寫,但其實可以這樣用的,我們都先盡量測過一遍,節省你的時間。
【特色】
ChatGPT 做得到、你也能做到
Do what ChatGPT can do
□ 使用 Realtime API 提供即時交談、隨時插話的進階語音模式
□ 串接各種 MCP 伺服器,幫 AI 生出五官手腳與真實世界接軌
□ 自己設計 MCP 伺服器補完 AI 欠缺的功能,還可以分享給別人使用
□ 用 Responses API 快速設計 RAG 系統
□ 使用 Agents SDK 設計自主決策完成任務的 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 伺服器
【關於教科書訂購說明】
☆ 單本即有折扣,將商品放入購物車就可以看見優惠價唷!五本以上團購更便宜!加入會員訂購,還可累積購物金!
★ 若有急需用書,可先LINE私訊詢問庫存呦~
☆ 出貨時間:有現貨的,2個工作日內出貨;無現貨,約3~5個工作日 出貨
【寄送方式說明】
❶ 實體門市取貨
全台麗文校園書局皆可取貨,貨到書局將會以簡訊通知。
❷ 超商取貨
提供7-11及全家超商取貨(需先付款,無貨到付款)。
❸ 一般宅配
本公司主要與黑貓宅急便配合,送達到您指定的地址。
※當您於本網站消費交易完成後,電子發票將會以電子郵件寄給您;如需紙本發票請於下訂時於備註欄位說明。
【付款方式說明】
❶ ATM轉帳、匯款
銀行│第一銀行-三民分行
代號│007
戶名│麗文文化事業股份有限公司
帳號│704-10-051861
※實體ATM每日轉帳最高限額為3萬,若訂購金額超過3萬元,請分兩天或是使用不同的銀行帳戶轉帳。
❷ 信用卡(可分期,需負擔手續費)
凡各家銀行的VISA、MASTER、Union Pay、JCB信用卡皆可使用。
❺ 超商代碼
系統會發送繳費代碼至您的電子信箱,需自行至「超商機器ex:iBon」輸入代碼,產生繳費單後前往櫃檯繳費。
❼ 免卡分期
麗文校園購與「zingala銀角零卡」「第一資融」以及「皮路後支付」合作,讓您免用信用卡就可以購物。
如有使用上的問題,可以先與揪小編聯絡唷!。
※請注意:超過7天未付款之訂單則訂單自動失效;免卡分期訂單成立起7天內未主動聯繫亦同。
【其他說明】
❶關於出貨
1.商品為不缺貨前提下,訂單完成付款後2-4個工作天將會出貨(不含例假日及國定假日);若商品缺貨則須等待1-2週。
2.麗文校園揪來玩保留訂單接受與否權利,若因交易條件有誤或有其他情形導致我們無法接受您的訂單,將以E-mail發送取消訂單通知給您,造成不便敬請見諒。
❷關於退貨
1.非門市現場消費享有七天猶豫期,收到商品當天往後算七天內若是決定不買,則協助不要拆封,一拆封視同願意購買。
2.若真的決定不購買商品要退貨,請聯繫我們LINE線上客服,我們會盡速為您處理。
❸關於新品瑕疵與維修保固
1.全新商品享有購買七日內,新品瑕疵的換新保障;但新品瑕疵與否,是由商品代理商或原廠所判定,麗文校園揪來玩僅能依據判定的結果給予協助。若是原廠判定非新品瑕疵則無法換新,需改為維修的方式處理。
2.新品瑕疵換新的作業時間,將依各廠商的流程而定,最快2個工作天,慢的話也可能需要到15個工作天。
3.購買超過七日後,維修服務由原廠提供。如有需要維修,麗文校園揪來玩可以代為送修,但送修如需運費時(EX:原廠沒有提供免費收件服務),則需由您負擔送修的運費(運費約為100元起,因商品大小而異)。
【華碩的維修服務】