Databricks 提供多種查詢基礎模型的方法。 選擇介面時,請根據您需要的是提供者無關的 API、提供者專屬功能,或是批次推論來選擇。
查詢模型的方法
| Approach | 何時使用它 |
|---|---|
| 統一 API | 使用與 OpenResponses 及 OpenAI Chat Completions 相容的介面。 Databricks 會將每個請求轉換成下游模型的原生格式,因此你可以在不更改用戶端程式碼的情況下切換不同供應商的模型。 |
| 提供者原生 API | 使用提供者專屬功能或現有的 OpenAI、Anthropic 或 Google SDK 程式碼。 |
ai_query |
用 SQL 或 Python 執行批次推論。 |
快速入門
查詢模型服務分為兩個步驟:
步驟一:選擇模型
Azure Databricks 提供開箱即用的模型,例如 claude-sonnet-4-5 或 gpt-5-6-sol。 Azure Databricks 提供的模型已在 Unity 目錄中註冊。system.ai
步驟 2:使用統一的 OpenAI 相容 API 發送請求
使用 MLflow 聊天完成 API,搭配 OpenAI Python SDK:
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN, # your personal access token
base_url="https://<workspace-url>/ai-gateway/mlflow/v1" # your Databricks workspace instance
)
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": "What is Databricks?"},
],
model="system.ai.claude-sonnet-4-5",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
Requirements
- 一個位於 Unity Gateway 支援區域的 Azure Databricks workspace。
- 已為您的工作區啟用了 Unity Catalog。 請參閱 為 Unity Catalog 啟用工作區。
- 查詢所需的 Workspace 權限:Workspace access,或 Consumer access,且您的帳戶已啟用 Consumer access to Unity Gateway 預覽(公開預覽)。 請參閱 管理權利 和 管理 Azure Databricks 預覽功能。
具備統一 API 的查詢模型服務
統一 API 提供 OpenAI 相容介面,用於查詢 Azure Databricks 上的模型。 使用統一的 API 無縫切換不同供應商的模型,且不更改程式碼。
統一回應 API
統一回應 API
統一回應 API(/mlflow/v1/responses)是一個相容 OpenResponses、與提供者無關的 API,用於查詢 Azure Databricks 上的模型。 Databricks 建議使用它,而不是 MLflow Chat Completions API。 在不同供應商間選擇最適合你使用情境的模型,且不更改程式碼。
Python
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
response = client.responses.create(
model="<model-service>",
input=[{"role": "user", "content": "What is Databricks?"}]
)
print(response.output_text)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<model-service>",
"input": [
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/responses
將 <workspace-url> 替換為您的 Azure Databricks 工作區 URL,並將 <model-service> 替換為模型服務的完整限定名稱。
MLflow 聊天完成 API
MLflow 聊天完成 API
Python
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
chat_completion = client.chat.completions.create(
messages=[
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hello! How can I assist you today?"},
{"role": "user", "content": "What is Databricks?"},
],
model="system.ai.gpt-5-6-sol",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.gpt-5-6-sol",
"max_tokens": 256,
"messages": [
{"role": "user", "content": "Hello!"},
{"role": "assistant", "content": "Hello! How can I assist you today?"},
{"role": "user", "content": "What is Databricks?"}
]
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/chat/completions
將 <workspace-url> 替換成你的 Azure Databricks 工作區網址。
MLflow Embeddings API
MLflow Embeddings API
Python
from openai import OpenAI
import os
DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)
embeddings = client.embeddings.create(
input="What is Databricks?",
model="<model-service>"
)
print(embeddings.data[0].embedding)
REST API
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "<model-service>",
"input": "What is Databricks?"
}' \
https://<workspace-url>/ai-gateway/mlflow/v1/embeddings
將 <workspace-url> 替換為您的 Azure Databricks 工作區 URL,並將 <model-service> 替換為模型服務的完整限定名稱。
使用 ai_query 查詢模型服務
你可以用這個ai_query函式直接從 SQL 或 Python 查詢模型服務。 這讓你能捕捉批次推論工作負載的 使用追蹤 資訊。
若要使用 ai_query 查詢模型服務,請對模型服務執行 ai_query:
SELECT ai_query(
'system.ai.claude-sonnet-4-5',
'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10
使用追蹤系統表(system.ai_gateway.usage)會擷取透過ai_query模型服務提出的請求。 這些請求也會顯示在 內建的使用儀表板中。
完整 ai_query 語法與參數參考,請參見 ai_query 函式。 關於最佳實務與支援模型,請參見 使用 ai_query。
Limitations
-
ai_queryUnity Gateway 的支援僅適用於 Azure Databricks 提供的模型。 傳遞system.ai模型服務名稱(例如,system.ai.claude-sonnet-4-5或system.ai.gpt-5-6-sol)。 你在 Unity Gateway 建立的模型服務尚未被支援。 - 只有用量追蹤適用於
ai_query批次推論工作負載。 Unity Gateway 的其他功能,如速率限制、服務 政策實作的護欄、推論表及備援則不適用。
使用原生 API 查詢模型服務
原生 API 提供針對 Azure Databricks 上查詢模型的提供者專用介面。 使用原生 API 存取最新的提供者專屬功能。
每個原生 API 僅適用於其底層模型採用相同 API 格式的模型服務:
- 使用 OpenAI 回應 API 查詢由 OpenAI(GPT)模型支援的模型服務。
- 使用 Anthropic Messages API 查詢由 Claude 模型支援的模型服務。
- 使用 Google Gemini API 查詢由 Gemini 模型支援的模型服務。
要查詢模型服務,不論其底層模型為何,請改用 統一的 API 。