查詢基礎與嵌入模型

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

具備統一 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 格式的模型服務:

要查詢模型服務,不論其底層模型為何,請改用 統一的 API 。

下一步