本文說明如何使用 Open Responses API 查詢基礎模型,並說明在查詢時需考慮的提供者特定行為。
開放回應 API 是一個開放、多提供者實作的回應式請求格式。 它使用 input 欄位代替 messages ,並回傳結構化 output 陣列。 將請求傳送至 /serving-endpoints/open-responses 路徑,並在請求本體的 model 欄位中填入模型服務端點名稱。
備註
對於 OpenAI 模型,請直接使用 OpenAI 回應 API 。 該路徑是原生通過式,支援完整的 OpenAI 回應參數與工具。 本文介紹了Open Responses API,該API跨供應商運作,但支援專注的功能集。
查詢範例
以下範例查詢一個基礎模型端點,使用開放回應 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),回應為 a text/event-stream ,每個事件為回應區塊。
特定提供者行為
Databricks 會將開放回應請求轉換成每個提供者的原生格式。 大多數請求的行為都一致,但以下為各供應商特有的差異。
所有提供者
- 對話是無狀態的。
previous_response_id而且不支援伺服器端的對話儲存。 請在每一輪於input欄位中傳送完整對話。 -
部分 OpenAI 專屬欄位被接受,但在非 OpenAI 提供者中則被忽略 。
user、safety_identifier、metadata和truncation等欄位會在回應中傳回,以提高可攜性,但不會改變提供者的行為。
由 Databricks 託管的(開源)模型
- 功能支援依型號而定。 每個模型都啟用函式呼叫、推理、結構化輸出及影像輸入。 使用模型不支援功能的請求會回傳錯誤。 例如,一個支持推理的模型可能不支援影像輸入。
- 影像輸入必須是 URL 或資料 URI。 透過
image_url提供圖片,形式可為httpsURL 或data:URI。 不支援檔案參考(file_id)和文件輸入(input_file)。
人類克勞德模型
- 溫度使用0至2的等級。 Claude 使用原生的 0–1 範圍,因此 Databricks 會將數值減半來重新縮放——
temperature: 1.0行為類似0.5。 - 推理穿越彎道的往返行程。 為了讓模型在多輪對話中根據先前的思考內容進行推理,請將傳回的
reasoning項目(其encrypted_content保持不變)放回下一個請求的input中。 請參閱 查詢推理模型。 - 影像與文件輸入必須為 base64 資料 URI。 透過
image_url以 base64data:URI 提供圖片,並透過file_data以 base64data:URI 提供文件。 不支援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中。
Important
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 上的函式呼叫。 關於內建的網頁搜尋工具,請參見 Azure Databricks 上的網頁搜尋。
其他內建且自訂的工具類型(例如 custom、 apply_patch、 image_generation、 mcp和 )僅能透過 OpenAI 回應 API 使用。
支援的模型
Open Responses API 適用於 Databricks 的基礎模型,包括 Anthropic Claude、Google Gemini 以及 Databricks 託管的開放模型,未來也將擴展至新模型。 有關目前可用模型的清單,請參見 基金會模型類型。
功能支援,如函式呼叫、推理、結構化輸出與影像輸入,取決於底層模型。 詳見 提供者特定行為。
支援的輸入類型
輸入支援依型號與供應商而異。 所有型號都支援文字輸入。 關於影像輸入,請參閱提供者 特定行為 中的各提供者備註,以及 查詢視覺模型中的格式與大小要求。 關於每個模型的輸入類型,請參閱 Foundation Model API 中提供的 Databricks 託管基礎模型。