OpenAI Responses API によるクエリ
Responses API 、 OpenAI無償単位の従量課金基盤モデルおよび外部モデルとのみ互換性があります。 すべてのプロバイダーで機能する統合 API については、 Chat Completions API を使用してください。
OpenAI Responses API は Chat Completions API の代替であり、カスタム ツールやマルチステップ ワークフローなど、OpenAI モデルに追加機能を提供します。
要件
- 要件を参照してください。
- 選択したクエリ クライアント オプションに基づいて、適切なパッケージをクラスターにインストールします。
クエリの例
このセクションの例では、 OpenAI Responses APIを使用して基盤モデルAPI名義単位の従量課金エンドポイントをクエリする方法を示します。
- Python (DatabricksOpenAI)
- Python (OpenAI)
- REST API
OpenAI Responses APIを使用するには、モデルサービング エンドポイント名をmodel入力として指定します。
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
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
)
ワークスペース外部の基盤モデルをクエリするには、OpenAI クライアントを直接使用する必要があります。OpenAI クライアントを Databricks に接続するには、Databricks ワークスペース インスタンスも必要です。次の例では、 Databricks APIとopenaiがコンピュートにインストールされていることを前提としています。
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
)
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-5 、 databricks-gpt-5-1 、 databricks-gpt-5-2 ) でのみサポートされます。
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)
サポートされているモデル
Databricks がホストする基盤モデル
databricks-gpt-5-2databricks-gpt-5-1databricks-gpt-5-1-codex-maxdatabricks-gpt-5-1-codex-minidatabricks-gpt-5databricks-gpt-5-minidatabricks-gpt-5-nano
外部モデル
- OpenAIモデルプロバイダー
- Azure OpenAI モデルプロバイダー
制限事項
以下の制限は、人権単位の従量課金基盤モデルにのみ適用されます。 外部モデルは、すべての Responses APIおよびツールをサポートします。
次の事項はサポートされておらず、指定した場合は 400 エラーが返されます。
background— バックグラウンド処理はサポートされていません。store— 保存された応答はサポートされていません。previous_response_id— 保存された応答はサポートされていません。service_tier— サービス レベルの選択は Databricks によって管理されます。
次のツール タイプは、中野単位の従量課金基盤モデルでサポートされています。
function— 従来の構造化関数呼び出しcustom— カスタムユーザー定義ツールapply_patch— コードパッチ操作shell— シェルコマンドの実行image_generation— 画像生成mcp— モデルコンテキストプロトコルツール