OpenAIが構造化出力機能をAPIに導入

Web developer

はじめに

OpenAIは、開発者が指定したJSONスキーマに確実に適合するモデル出力を実現する「Structured Outputs」(構造化出力)機能をAPIに導入しました。

以前からJSONで回答する機能は実装されていましたが、必ずしも指定した構造通りのデータが出力されるわけではなく私も例外処理に苦労していました。

今回のStructured Outputs機能は100%指定したスキーマで回答させることができるということで、OpenAIのモデルを使ったアプリケーション開発の信頼性と効率が大幅に向上すると思います。

Just a moment...

構造化出力の主な特徴

上記のURLにWebAPIやSDKでの使用例の記載があるので、参考にしてみてください。

  • 開発者が指定したJSONスキーマに100%適合するモデル出力を保証
  • 新モデル「gpt-4o-2024-08-06」は複雑なスキーマの理解が飛躍的に向上
  • 関数呼び出しやレスポンス形式の指定など、柔軟な活用が可能
  • PythonとNode.jsのSDKがネイティブでサポート

WebAPIでの呼び出し方法

WebAPIでStructured Outputs機能を使用する方法は2つです。1つはFuncion callingを使う方法。もう一つは新設されたresponse_formatオプションを使う方法です。

Function calling(該当部分抜粋)

…
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "query",
        "description": "Execute a query.",
        "strict": true,
        "parameters": {
          "type": "object",
          "properties": {
            "table_name": {
              "type": "string",
              "enum": ["orders"]
            },
…

response_format(該当部分抜粋)

…
  "response_format": {
    "type": "json_schema",
    "json_schema": {
      "name": "math_response",
      "strict": true,
      "schema": {
…

おわりに

OpenAIによる構造化出力機能の提供開始は、大規模言語モデルを活用したアプリケーション開発の効率化と信頼性向上に大きく貢献します。

ぜひ、APIドキュメントをチェックして、構造化出力機能を活用してみてください。

コメント