openai

結構化輸出

有兩種定義數據結構的方式,一種是用類定義(Pydantic),一種是用使用 JSON Schema 字典(tool use時接觸的)

方式一:使用 Pydantic BaseModel

Pydantic 是一個數據驗證庫,通過繼承 BaseModel 來定義數據結構:

from pydantic import BaseModel
from typing import List

class QAPair(BaseModel):
    question: str
    answer: str

# 使用示例
response_format = QAPair

優(yōu)點:

  • 提供完整的數據驗證功能
  • 自動類型轉換,支持嵌套結構
  • 與 OpenAI API 完全兼容,官方給出的最佳實踐

方式二:直接使用 JSON Schema 字典

這種方式直接定義 JSON Schema:

schema = {
    "type": "object",
    "properties": {
        "question": {"type": "string"},
        "answer": {"type": "string"}
    },
    "required": ["question", "answer"],
    "additionalProperties": false
}

# 使用示例
response_format = {"type": "json_schema", "schema": schema}

優(yōu)點:

  • 直接使用 JSON Schema 規(guī)范
  • 靈活的結構定義,直白的添加更多驗證規(guī)則
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容