Skip to main content
OpenAI 最近提供了一個建立模型回應的介面。提供文字或圖像輸入以產生文字或圖像輸出。讓模型呼叫您自己的自訂程式碼或使用內建工具,如 web 搜尋或檔案搜尋,以使用您自己的資料作為模型回應的輸入。 本文檔主要介紹 OpenAI Responses API 操作的使用流程,利用它我們可以輕鬆使用官方 OpenAI 的建立模型回應功能。

申請流程

要使用 OpenAI Responses API,首先到 Ace Data Cloud 控制台 取得您的 API Token,留作備用。 如果你尚未登入或註冊,會自動跳轉到登入頁面邀請你註冊和登入,完成後會自動返回目前頁面。 一個 API Token 即可呼叫平台所有服務,無需為每個服務個別申請。 首次申請會贈送免費額度,可免費體驗;額度不足時可在 控制台 儲值通用餘額。
📘 完整文件:OpenAI Responses API →

基本使用

接下來就可以在介面上填寫對應的內容,如圖所示:

在第一次使用該介面時,我們至少需要填寫三個內容,一個是 authorization,直接在下拉式清單裡面選擇即可。另一個參數是 modelmodel 就是我們選擇使用 OpenAI ChatGPT 官網模型類別,這裡我們主要有 20 種模型,詳情可以看我們提供的模型。最後一個參數是inputinput是我們輸入的提問詞陣列,它是一個陣列,表示可以同時上傳多個提問詞,每個提問詞包含了 rolecontent,其中 role 表示提問者的角色,我們提供了三種身分,分別為 userassistantsystem 。另一個 content 就是我們提問的具體內容。 同時您可以注意到右側有對應的呼叫程式碼產生,您可以複製程式碼直接執行,也可以直接點擊「Try」按鈕進行測試。 常用可選參數:
  • max_tokens:限制單次回覆的最大 token 數。
  • temperature:產生隨機性,0-2 之間,值越大越發散。
  • n:一次產生多少條候選回覆。
  • response_format:回傳格式設定。
  • tools:函式/工具呼叫定義。
  • background:是否背景非同步執行。

呼叫之後,我們發現回傳結果如下:
回傳結果一共有多個欄位,介紹如下:
  • id,產生此次對話任務的 ID,用於唯一識別此次對話任務。
  • model ,選擇的 OpenAI ChatGPT 官網模型。
  • output,ChatGPT 針對提問詞給予的回答資訊。
  • usage :針對本次問答對 token 的統計資訊。
其中 output 是包含了 ChatGPT 的回答資訊,它裡面的 output 是 ChatGPT,可以發現如圖所示。

可以看到,output 裡面的 content 欄位包含了 ChatGPT 回覆的具體內容。

串流回應

該介面也支援串流回應,這對網頁串接十分有用,可以讓網頁實現逐字顯示效果。 如果想串流回傳回應,可以更改請求標頭裡面的 stream 參數,修改為 true 修改如圖所示,不過呼叫程式碼需要有對應的更改才能支援串流回應。

stream 修改為 true 之後,API 將逐行回傳對應的 JSON 資料,在程式碼層面我們需要做相應的修改來取得逐行的結果。 Python 範例呼叫程式碼:
輸出效果如下:
可以看到,回應裡面有許多 datadata 裡面的 delta 即為最新的回答內容,與上文介紹的內容一致。delta 是新增的回答內容,您可以根據結果來串接到您的系統中。串流回應以 response.completedresponse.incomplete 作為終態;終態中的 usage 是本次請求的最終 token 用量,也是計費依據。 如果用戶端在終態到達前中斷連線,本次請求記錄為用戶端已關閉(499),不會使用本機預估 token 計費;如果連線正常結束但沒有收到終態及最終 usage,本次請求記錄為回應不完整(502),同樣不會使用預估 token 計費。遇到這兩種情況時,請重新發起請求。 回傳的 data 結果一共有多個欄位,介紹如下:
  • item_id,產生此次對話任務的 ID,用於唯一識別此次對話任務。
  • type,產生此次對話 Responses 任務的類型。
  • model ,選擇的 OpenAI ChatGPT 官網模型。
  • delta,ChatGPT 針對提問詞給予的回答資訊。
JavaScript 也是支援的,例如 Node.js 的串流呼叫程式碼如下:
Java 範例程式碼:
其他語言可以另外自行改寫,原理都是一樣的。

多輪對話

如果您想要串接多輪對話功能,需要對 input 欄位上傳多個提問詞,多個提問詞的具體範例如下圖所示:

Python 範例呼叫程式碼:
透過上傳多個提問詞,就可以輕鬆實現多輪對話,可以得到如下回答:
可以看到,output 包含的資訊與基本使用的內容是一致的,這個包含了 ChatGPT 針對多個對話進行回覆的具體內容,這樣就可以根據多個對話內容來回答對應的問題了。

視覺模型

gpt-4o 是 OpenAI 開發的多模態大型語言模型,它在 GPT-4 的基礎上增加了視覺理解能力。這個模型可以同時處理文字和圖像輸入,實現了跨模態的理解和生成。 使用 gpt-4o 模型的文字處理與上文的基本使用內容一致,下面將簡要介紹一下如何使用模型的圖像處理能力。 使用 gpt-4o 模型的圖像處理能力,主要是透過在原有的 content 內容基礎上新增一個 type 欄位,透過該欄位可以知道上傳的是文字還是圖片,從而使用 gpt-4o 模型的圖像處理能力,下面主要講述採用 Curl 和 Python 兩種方式來呼叫該功能。
  • Curl 指令稿方式
  • Python 指令稿方式
然後可以得到下面的結果,結果裡面的欄位資訊與上文一致,具體如下:
可以看到回答的內容是基於圖片進行回答的,因此透過上述兩種方式可以輕鬆使用 gpt-4.1 模型的文字和圖像處理能力。 除了 gpt-4.1,還有一個成本更低的模型,叫做 gpt-4o-mini。gpt-4o-mini 是 OpenAI 開發的最新一代大型語言模型,它不僅回應速度快,同時價格也更便宜,也支援多模態。vision 功能的使用可參考上文 gpt-4.1 模型的使用內容。

檔案處理模型的建立

請求範例:
範例結果:
可以看到,我們也對輸入的檔案進行了檔案處理,結果與上文類似。

錯誤處理

在呼叫 API 時,如果遇到錯誤,API 會回傳相應的錯誤代碼和資訊。例如:
  • 400 token_mismatched:錯誤的請求,可能是由於缺少或無效的參數。
  • 400 api_not_implemented:錯誤的請求,可能是由於缺少或無效的參數。
  • 401 invalid_token:未授權,授權權杖無效或缺失。
  • 429 too_many_requests:請求過多,您已超過速率限制。
  • 500 api_error:內部伺服器錯誤,伺服器上發生了某些問題。

錯誤回應範例

結論

透過本文檔,您已經瞭解如何使用 OpenAI Responses API 輕鬆實現官方 OpenAI 的建立 Responses 功能。希望本文檔能幫助您更好地串接和使用該 API。如有任何問題,請隨時聯絡我們的技術支援團隊。