OpenAI推出結構化輸出功能:讓AI生成的JSON更加可靠

OpenAI在其API中新增了結構化輸出功能,大幅提升了AI模型生成有效JSON的可靠性。這項功能不僅讓開發者能更輕鬆地建立穩定的應用程式,還為AI在非結構化輸入中生成結構化資料開闢了新的可能性。

結構化輸出:AI生成JSON的革命性進展

在人工智慧領域,從非結構化輸入中生成結構化資料一直是一個核心應用場景。無論是透過函數呼叫獲取資料、提取結構化資訊進行資料輸入,還是建立多步驟的代理工作流程,開發者們都在不斷探索如何讓AI更好地完成這些任務。

然而,在此之前,開發者們常常需要依賴開源工具、精心設計的提示,甚至反覆嘗試請求,來確保AI模型的輸出能夠符合他們系統所需的格式。這不僅耗時耗力,還可能影響應用程式的穩定性和可靠性。

結構化輸出的突破

OpenAI推出的結構化輸出功能,通過兩種方式解決了這個問題:

  1. 限制模型輸出: 確保AI模型的輸出嚴格遵循開發者提供的JSON模式。
  2. 模型優化: 訓練模型更好地理解和處理複雜的JSON模式。

這項功能的效果令人驚嘆。在複雜JSON模式的評估中,配備結構化輸出功能的新模型gpt-4o-2024-08-06取得了100%的得分,遠超前代模型gpt-4-0613不到40%的成績。

如何使用結構化輸出

OpenAI在API中提供了兩種使用結構化輸出的方式:

1. 函數呼叫

開發者可以在函數定義中設置strict: true來啟用結構化輸出。這適用於所有支援工具的模型,包括gpt-4-0613和gpt-3.5-turbo-0613及更高版本。

2. 回應格式的新選項

開發者可以使用response_format參數的新選項json_schema來提供JSON Schema。這特別適用於模型需要以結構化方式直接回應用戶,而不是呼叫工具時的情況。

結構化輸出的技術原理

OpenAI採用了一種稱為”約束取樣”或”約束解碼”的技術來實現結構化輸出。這種方法將模型的輸出限制在符合提供的JSON模式的有效標記範圍內,從而確保輸出的有效性。

具體實現步驟如下:

  1. 將JSON模式轉換為上下文無關語法(CFG)。
  2. 在取樣過程中,根據之前生成的標記和語法規則,動態確定下一個有效的標記。
  3. 使用這個有效標記列表來遮罩下一個取樣步驟,有效地將無效標記的概率降為零。

這種方法不僅能處理簡單的JSON結構,還能處理涉及嵌套或遞歸資料結構的複雜模式,這是基於有限狀態機(FSM)的方法難以實現的。

結構化輸出的應用場景

結構化輸出功能為開發者開啟了許多新的可能性,以下是一些潛在的應用場景:

  1. 動態生成用戶界面: 根據用戶意圖生成符合特定結構的UI元素描述。
  2. 資料提取與分析: 從非結構化文本中提取結構化資訊,如會議記錄中的待辦事項、截止日期等。
  3. 自動化報告生成: 將原始資料轉換為結構化的報告格式。
  4. 對話系統優化: 確保聊天機器人的回應符合預定義的結構,便於後續處理。

結構化輸出的限制與注意事項

雖然結構化輸出功能強大,但開發者在使用時仍需注意以下幾點:

  • 僅支援JSON模式的子集,詳情請參閱官方文檔。
  • 首次使用新模式可能會有額外延遲,但後續請求將快速響應。
  • 如果模型選擇拒絕不安全的請求,可能無法遵循模式。
  • 達到max_tokens限制或其他停止條件時,可能無法完全遵循模式。
  • 結構化輸出不能防止所有類型的模型錯誤,如數學計算錯誤。
  • 與並行函數呼叫不相容,需設置parallel_tool_calls: false
  • 不符合零資料保留(ZDR)標準。

結構化輸出的可用性

結構化輸出功能現已在OpenAI API中全面可用:

  • 支援函數呼叫的結構化輸出適用於所有支援API中函數呼叫的模型。
  • 支援響應格式的結構化輸出適用於gpt-4o-mini和gpt-4o-2024-08-06及其微調模型。
  • 兼容聊天完成API、助理API和批次API。
  • 支援視覺輸入。

開發者可以通過查閱OpenAI的官方文檔來開始使用結構化輸出功能。

常見問題

  1. Q: 結構化輸出功能如何提高JSON生成的可靠性? A: 結構化輸出通過限制模型輸出和優化模型理解複雜JSON模式的能力,將JSON生成的可靠性提高到了100%。

  2. Q: 結構化輸出功能適用於哪些OpenAI模型? A: 結構化輸出適用於支援函數呼叫的所有模型,包括最新的gpt-4o系列和gpt-3.5-turbo系列。

  3. Q: 使用結構化輸出功能會影響API的響應速度嗎? A: 首次使用新的JSON模式可能會有些許延遲,但後續請求不會受到影響,響應速度很快。

  4. Q: 結構化輸出功能有哪些局限性? A: 主要局限包括只支援JSON模式的子集、無法防止所有類型的模型錯誤,以及與並行函數呼叫不相容等。

  5. Q: 如何開始使用結構化輸出功能? A: 開發者可以查閱OpenAI的官方文檔,了解如何在API調用中啟用和配置結構化輸出功能。

Share on:
Previous: 在 Wix 上善用 Google Workspace 的 Gemini AI:提升小型企業效率的革命性工具
Next: ChatGPT進階語音模式:AI對話革命,你準備好了嗎?
DMflow.chat

DMflow.chat

廣告

DMflow.chat:智慧客服新時代,輕鬆切換真人與 AI!持久記憶、客製欄位、即接資料庫表單,多平台溝通,讓服務與行銷更上一層樓。

不只是 ChatGPT:揭秘 OpenAI 秘密武器!手把手教你打造專屬 AI 代理人 (Agent)
23 April 2025

不只是 ChatGPT:揭秘 OpenAI 秘密武器!手把手教你打造專屬 AI 代理人 (Agent)

不只是 ChatGPT:揭秘 OpenAI 秘密武器!手把手教你打造專屬 AI 代理人 (Agent) OpenAI 悄悄釋出的「代理人實戰指南」你看懂了嗎?這不只是聊天機器人,更是能為...

跟 ChatGPT 說「請、謝謝」太浪費電?OpenAI 老闆 Sam Altman 語出驚人,你怎麼看?
23 April 2025

跟 ChatGPT 說「請、謝謝」太浪費電?OpenAI 老闆 Sam Altman 語出驚人,你怎麼看?

跟 ChatGPT 說「請、謝謝」太浪費電?OpenAI 老闆 Sam Altman 語出驚人,你怎麼看? 你跟 AI 聊天會用禮貌用語嗎?OpenAI CEO Sam Altman 最...

OpenAI 再出招!全新 o3、o4-mini 模型登場,讓 AI 不只會答,更會「想」!
17 April 2025

OpenAI 再出招!全新 o3、o4-mini 模型登場,讓 AI 不只會答,更會「想」!

OpenAI 再出招!全新 o3、o4-mini 模型登場,讓 AI 不只會答,更會「想」! OpenAI 推出了最新的 o 系列 AI 模型:o3 和 o4-mini。它們不僅更聰明、...

精通 GPT-4.1 提示詞:釋放下一代 AI 潛能的實戰指南
16 April 2025

精通 GPT-4.1 提示詞:釋放下一代 AI 潛能的實戰指南

精通 GPT-4.1 提示詞:釋放下一代 AI 潛能的實戰指南 探索 OpenAI 最新的 GPT-4.1 模型,學習如何透過優化提示詞 (Prompt) 來駕馭其強大的程式編寫、指令遵...

告別金魚腦!ChatGPT 推出記憶功能,讓你的 AI 對話體驗大升級
11 April 2025

告別金魚腦!ChatGPT 推出記憶功能,讓你的 AI 對話體驗大升級

告別金魚腦!ChatGPT 推出記憶功能,讓你的 AI 對話體驗大升級 OpenAI 為 ChatGPT Plus/Pro 用戶悄悄推出「記憶」功能,讓 AI 不再健忘,能記住你的偏好,...

OpenAI Academy:解鎖 AI 新時代,與全球專家、社群一同學習成長
2 April 2025

OpenAI Academy:解鎖 AI 新時代,與全球專家、社群一同學習成長

OpenAI Academy:解鎖 AI 新時代,與全球專家、社群一同學習成長 踏入 AI 領域不再遙不可及!OpenAI Academy 提供一個充滿活力的學習環境,讓你與頂尖專家和創...

OpenAI 推出 GPT-4o 圖像生成功能,支援多輪對話編輯
26 March 2025

OpenAI 推出 GPT-4o 圖像生成功能,支援多輪對話編輯

OpenAI 推出 GPT-4o 圖像生成功能,支援多輪對話編輯 OpenAI 於 2025 年 3 月 25 日宣布,最新的 GPT-4o 模型現已支援圖像生成與多輪對話編輯,帶來更強大的 ...

DeepSeek R1T Chimera 登陸 OpenRouter!AI 界新寵兒,智慧與效率的完美融合?
29 April 2025

DeepSeek R1T Chimera 登陸 OpenRouter!AI 界新寵兒,智慧與效率的完美融合?

DeepSeek R1T Chimera 登陸 OpenRouter!AI 界新寵兒,智慧與效率的完美融合? 最新開源 AI 模型 DeepSeek R1T Chimera 震撼登場 O...

Canva 價格暴漲300%!AI設計功能值得付出高昂費用嗎?
4 September 2024

Canva 價格暴漲300%!AI設計功能值得付出高昂費用嗎?

Canva 價格暴漲300%!AI設計功能值得付出高昂費用嗎? Canva,這個廣受歡迎的設計軟體公司,將於明年開始大幅提高其訂閱服務「Canva Teams」的價格。這次的價格調漲在某些情況...