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 — サービス レベルの選択は、Azure Databricksによって管理されます。

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

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

その他のリソース