OpenAI Responses API を使用したモデルサービスへのクエリ
ベータ版
この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。
Responses APIは、OpenAI基盤モデルとのみ互換性があります。すべてのプロバイダーで機能する統合 API については、Chat Completions API を使用してください。
OpenAI Responses API は、カスタムツールや複数ステップのワークフローなど、OpenAIモデルに追加機能を提供するChat Completions APIの代替です。
要件
- 要件を参照してください。
- 選択したクエリ クライアント オプションに基づいて、適切なパッケージをクラスターにインストールします。
クエリの例
このセクションの例は、OpenAI Responses APIを使用してモデルサービスをクエリする方法を示しています。
- Python (DatabricksOpenAI)
- Python (OpenAI)
- REST API
OpenAI Responses APIを使用するには、モデルサービスの完全修飾名をmodel入力として指定します。
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
response = client.responses.create(
model="system.ai.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
)
ワークスペース外の基盤モデルにクエリを実行するには、OpenAI クライアントを直接使用する必要があります。OpenAI クライアントを Databricks に接続するには、Databricks ワークスペースインスタンスも必要です。次の例では、Databricks API トークンと、コンピュートに openai がインストールされていることを前提としています。
import os
import openai
from openai import OpenAI
client = OpenAI(
api_key=os.environ.get('DATABRICKS_TOKEN'),
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
response = client.responses.create(
model="system.ai.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
)
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.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-url>/ai-gateway/mlflow/v1/responses
カスタム ツール
カスタムツールを使用すると、モデルは JSON 形式の関数引数ではなく、任意の文字列出力を返すことができます。これは、コード生成、パッチの適用、または構造化された JSON が必要ないその他のユースケースに役立ちます。
カスタムツールは、Responses APIを介してGPT-5シリーズモデル(databricks-gpt-5、databricks-gpt-5-1、databricks-gpt-5-2、databricks-gpt-5-4、databricks-gpt-5-5、databricks-gpt-5-5-pro)でのみサポートされています。
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
response = client.responses.create(
model="system.ai.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="system.ai.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)
サポートされているモデル
Databricksがホストする基盤モデル
databricks-gpt-5-5-prodatabricks-gpt-5-5databricks-gpt-5-4databricks-gpt-5-4-minidatabricks-gpt-5-4-nanodatabricks-gpt-5-3-codexdatabricks-gpt-5-2databricks-gpt-5-2-codexdatabricks-gpt-5-1databricks-gpt-5-1-codex-maxdatabricks-gpt-5-1-codex-minidatabricks-gpt-5databricks-gpt-5-minidatabricks-gpt-5-nano
サポートされている入力タイプ
Databricks の OpenAI GPT モデルは、テキストと画像の入力を受け入れます。画像形式とサイズ要件については、タイプ別に基盤モデルをクエリするを参照してください。モデルごとの入力タイプについては、Foundation Model APIsで利用可能なDatabricksでホストされている基盤モデルを参照してください。
制限事項
Databricksでホストされている基盤モデルには、以下の制限が適用されます。
次のパラメーターはサポートされておらず、指定すると400エラーが返されます:
backgroundバックグラウンド処理はサポートされていません。store保存された応答はサポートされていません。previous_response_id保存された応答はサポートされていません。service_tier— サービスティアの選択はDatabricksによって管理されます。
トークン単位の従量課金基盤モデルでは、次のツールタイプがサポートされています。
function— 従来の構造化関数呼び出しcustomカスタムユーザー定義ツールapply_patch— コードパッチ適用操作shell— シェル コマンドの実行image_generation— 画像生成mcpモデルコンテキストプロトコルツールweb_search— ウェブ検索