OpenAI Responses API を使用したクエリ

Important

この記事で説明する OpenAI Responses API は、トークン基盤モデルと外部モデルごとの OpenAI Pay のネイティブ パススルーであり、OpenAI 応答パラメーターとツールの完全なセットをサポートします。 Anthropic Claude、Google Gemini、Databricks でホストされるオープン モデル全体の統合応答 API については、「Open Responses API を使用してモデルにクエリを実行する」を参照してください。 Chat Completions API は、すべてのプロバイダーでも使用できます。

OpenAI Responses API は、カスタム ツールやマルチステップ ワークフローなど、OpenAI モデルの追加機能を提供するチャット補完 API の代替手段です。

Requirements

クエリのサンプル

このセクションの例では、OpenAI Responses API を使用して Foundation Model API のトークンごとの支払いエンドポイントに対してクエリを実行する方法を示します。

Python

OpenAI Responses API を使用するには、 model 入力としてエンドポイント名を提供するモデルを指定します。 次の例ではAzure Databricks API トークンopenai がコンピューティングにインストールされていることを前提としています。 OpenAI クライアントをAzure Databricksに接続するには、Azure Databricks ワークスペース インスタンスも必要です。

import os
import openai
from openai import OpenAI

client = OpenAI(
    api_key="dapi-your-databricks-token",
    base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)

response = client.responses.create(
    model="databricks-gpt-5",
    input=[
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "What is a mixture of experts model?",
      }
    ],
    max_output_tokens=256
)

REST API

curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "model": "databricks-gpt-5",
  "input": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": "What is a mixture of experts model?"
    }
  ],
  "max_output_tokens": 256
}' \
https://<workspace_host>.databricks.com/serving-endpoints/responses

カスタム ツール

カスタム ツールを使用すると、モデルは JSON 形式の関数引数ではなく任意の文字列出力を返すことができます。 これは、コードの生成、パッチの適用、または構造化された JSON が不要なその他のユース ケースに役立ちます。

カスタム ツールは、Responses API を介して GPT-5 シリーズ モデル (databricks-gpt-5databricks-gpt-5-1databricks-gpt-5-2databricks-gpt-5-4databricks-gpt-5-5databricks-gpt-5-5-pro) でのみサポートされます。

from databricks_openai import DatabricksOpenAI

client = DatabricksOpenAI()

response = client.responses.create(
    model="databricks-gpt-5",
    input=[{"role": "user", "content": "Write a Python function to calculate factorial"}],
    tools=[
        {
            "type": "custom",
            "name": "code_exec",
            "description": "Executes arbitrary Python code. Return only valid Python code."
        }
    ],
    max_output_tokens=1024
)

組み込みツール

組み込みのツールを使用すると、モデルはツール バックエンドを自分で実装しなくても、プラットフォームで提供される機能を呼び出すことができます。 これらのツールは構造化された出力を返し、プラットフォームによって完全に管理されます。

from databricks_openai import DatabricksOpenAI

client = DatabricksOpenAI()

response = client.responses.create(
    model="databricks-gpt-5",
    input=[{
        "role": "user",
        "content": "Add input validation to the factorial function in main.py."
    }],
    tools=[
        {
            "type": "apply_patch"
        }
    ],
    max_output_tokens=1024
)

print(response.output_text)

サポートされているモデル

外部モデル

  • OpenAI モデル プロバイダー
  • Azure OpenAI モデル プロバイダー

サポートされている入力の種類

Azure Databricksの OpenAI GPT モデルは、テキストと画像の入力を受け入れます。 画像の形式とサイズの要件については、 クエリ ビジョン モデル を参照してください。 モデルごとの入力の種類については、 Foundation Model API で使用できる Databricks でホストされる基盤モデルに関するページを参照してください。

制限事項

次の制限は、 トークンごとの支払い基盤モデル にのみ適用されます。 外部モデルでは、すべての Responses API パラメーターとツールがサポートされます。

次のパラメーターはサポートされておらず、指定した場合は 400 エラーが返されます。

  • background — バックグラウンド処理はサポートされていません。
  • store — 保存された応答はサポートされていません。
  • previous_response_id — 保存された応答はサポートされていません。

service_tier パラメーターは、優先度モードで要求をオプトインする"priority"を受け入れます。 サポートされているモデルとリージョンについては、 Foundation Model API のトークンごとの優先順位の支払い を参照してください。 既定のトークンごとの支払い製品を明示的に使用するには、 service_tier"default" に設定します。 service_tierを省略することは、"default"を渡すことと同じです。 service_tierまたは"default"以外の"priority"値を指定すると、エラーが返されます。

トークンごとの支払い基盤モデルでは、次の種類のツールがサポートされています。

  • function — 従来の構造化関数呼び出し
  • custom — カスタム ユーザー定義ツール
  • apply_patch — コード修正操作
  • shell — シェル コマンドの実行
  • image_generation — 画像の生成
  • mcp — モデル コンテキスト プロトコル ツール
  • web_search — Web 検索

その他のリソース