この記事では、 Open Responses API を使用して基礎モデルにクエリを実行する方法について説明し、その際に考慮するプロバイダー固有の動作について説明します。
Open Responses API は、応答スタイルの要求形式のオープンなマルチプロバイダー実装です。
inputではなくmessagesフィールドを使用し、構造化されたoutput配列を返します。 要求本文の /serving-endpoints/open-responses フィールドにモデル サービス エンドポイント名を指定して、model パスに要求を送信します。
Note
OpenAI モデルの場合は、 OpenAI Responses API を 直接使用します。 このパスはネイティブ パススルーであり、OpenAI 応答パラメーターとツールの完全なセットをサポートします。 この記事では、Open Responses API について説明します。これはプロバイダー間で機能しますが、フォーカスされた機能セットをサポートします。
クエリの例
次の例では、Open Responses API を使用して基礎モデル エンドポイントにクエリを実行します。
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "databricks-claude-sonnet-4-5",
"input": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_output_tokens": 256
}' \
https://<workspace_host>.databricks.com/serving-endpoints/open-responses
応答は、response配列を持つoutput オブジェクトです。 ストリーミング要求 (stream: true) の場合、応答は各イベントが応答チャンクである text/event-stream です。
プロバイダー固有の動作
Databricks は、Open Responses 要求を各プロバイダーのネイティブ形式に変換します。 ほとんどの要求の動作は一貫していますが、次のプロバイダー固有の違いが適用されます。
すべてのプロバイダー
- 会話はステートレスです。
previous_response_idとサーバー側の会話ストレージはサポートされていません。 各ターンの [input] フィールドに完全な会話を送信します。 -
OpenAI 固有の一部のフィールドは受け入れられますが、 OpenAI 以外のプロバイダーでは無視されます。 移植性のために、
user、safety_identifier、metadata、truncationなどのフィールドが応答で返されますが、プロバイダーの動作は変更されません。
Databricks でホストされる (オープンソース) モデル
- 機能のサポートはモデルごとに行われます。 関数呼び出し、推論、構造化出力、およびイメージ入力は、モデルごとに有効になります。 モデルがサポートしていない機能を使用する要求は、エラーを返します。 たとえば、推論をサポートするモデルでは、イメージ入力がサポートされない場合があります。
- 画像入力は URL またはデータ URI である必要があります。
image_urlURL またはhttpsURI として、data:を介して画像を提供します。 ファイル参照 (file_id) とドキュメント入力 (input_file) はサポートされていません。
アントロピック クロード モデル
- 温度は 0 から 2 のスケールを使用します。 Claude はネイティブの 0 から 1 の範囲を使用するため、Databricks は値を半分にすることで値を再スケーリングします。
temperature: 1.0は0.5のように動作します。 - 推論は複数のターンにまたがって往復します。 モデルが複数ターンの会話の中でそれまでの思考内容を踏まえて推論できるようにするには、返された
reasoning項目を、encrypted_contentを変更せずに、次回のリクエストのinputに送り返してください。 クエリ推論モデルを参照してください。 - 画像とドキュメントの入力は base64 データ URI である必要があります。 base64
image_urlURI としてdata:を介して画像を提供し、base64file_dataURI としてdata:を介してドキュメントを提供します。httpsURL とfile_id参照はサポートされていません。 - 構造化された出力には制約があります。
text.format型json_schemaはサポートされていますが、json_objectはサポートされておらず、エラーを返します。 構造化された出力をストリーミングや推論と組み合わせることはできません。また、使用するときに特定のツールにtool_choiceをピン留めすることはできません。 Azure Databricks の 構造化出力を参照してください。 -
推論トークン は、個別に報告されるのではなく、
usage.output_tokensに含まれます。
Google Gemini モデル
- 温度は 0 から 2 のスケールを使用します。 Gemini はネイティブの 0 から 1 の範囲を使用するため、Databricks は値を半分にして再スケーリングします。
temperature: 1.0は0.5のように動作します。 - 推論は複数のターンにまたがって往復します。 モデルが複数ターンの会話の中でそれまでの思考内容を踏まえて推論できるようにするには、返された
reasoning項目を、encrypted_contentを変更せずに、次回のリクエストのinputに送り返してください。 クエリ推論モデルを参照してください。 -
画像入力は、
httpsURL と base64 データ URI の両方を受け入れます。 -
推論トークン は、
usage.output_tokens_details.reasoning_tokensで報告されます。
重要
Gemini でのマルチターン ツール呼び出しでは、 encrypted_contentを保持する必要があります。 Gemini は、生成する各encrypted_content項目に対して function_call 値を返します。 ツールの結果を次のターンに送り返す場合は、元の function_call 項目を encrypted_content フィールドに変更せずに含める必要があります。
name、arguments、call_idからのみツール呼び出しを再構築するエージェント フレームワークは、このフィールドを削除します。これにより、フォローアップ要求が拒否されます。
次の例では、ツールの結果を返すときに function_call 項目 ( encrypted_content) を保持します。
{
"model": "databricks-gemini-2-5-pro",
"input": [
{ "role": "user", "content": "What's the weather in San Francisco?" },
{
"type": "function_call",
"call_id": "call_abc123",
"name": "get_weather",
"arguments": "{\"city\": \"San Francisco\"}",
"encrypted_content": "<opaque-provider-signature>"
},
{
"type": "function_call_output",
"call_id": "call_abc123",
"output": "{\"temp_f\": 64}"
}
]
}
Tools
Open Responses API では、プロバイダー間で functionタイプのツールがサポートされています。 詳細とサポートされているモデルについては、「Azure Databricksでの関数呼び出し」を参照してください。 Web 検索の組み込みツールについては、Azure Databricksの Web 検索を参照してください。
その他の組み込みツールとカスタム ツールの種類 ( custom、 apply_patch、 image_generation、 mcpなど) は、 OpenAI Responses API でのみ使用できます。
サポートされているモデル
Open Responses API は、Anthropic Claude、Google Gemini、Databricks でホストされるオープン モデルなど、Databricks の基礎モデル全体で使用でき、サポートは今後も新しいモデルまで拡張されます。 使用可能なモデルの現在の一覧については、「 基盤モデルの種類」を参照してください。
関数呼び出し、推論、構造化出力、画像入力などの機能のサポートは、基になるモデルによって異なります。 プロバイダー固有の動作を参照してください。
サポートされている入力の種類
入力のサポートは、モデルとプロバイダーによって異なります。 テキスト入力はすべてのモデルでサポートされています。 画像入力については、プロバイダー 固有の動作 のプロバイダーごとの注意事項と、 Query Vision モデルの形式とサイズの要件を参照してください。 モデルごとの入力の種類については、 Foundation Model API で使用できる Databricks でホストされる基盤モデルに関するページを参照してください。