クエリ基礎と埋め込みモデル

Databricksは基礎モデルにクエリを送る複数の方法を提供しています。 プロバイダーに依存しないAPIが必要か、プロバイダー固有の機能、またはバッチ推論が必要かに基づいてインターフェースを選択してください。

モデルをクエリする方法

Approach いつ使用するか
統一API OpenResponsesやOpenAIチャットコンプリートに対応したインターフェースを使用してください。 Databricksは各リクエストをダウンストリームモデルのネイティブ形式に変換するため、クライアントコードを変えずにプロバイダー間でモデルを切り替えることができます。
プロバイダーネイティブAPI プロバイダー固有の機能や既存のOpenAI、Anthropic、Google SDKコードを使用してください。
ai_query SQLやPythonからバッチ推論を実行してください。

クイック スタート

モデルサービスを2段階でクエリします:

ステップ1:モデルを選ぶ

Azure Databricksはclaude-sonnet-4-5やgpt-5-6-solなどの標準モデルを提供しています。 Azure Databricks提供されたモデルはUnity Catalogのsystem.aiに登録されています。

ステップ2:統一されたOpenAI互換APIを使ってリクエストを送信する

OpenAI Python SDKと共にMLflowチャット完了APIを活用してください:

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 は、Azure Databricks 上のモデルに対してクエリを実行するための OpenAI 互換インターフェイスを提供します。 統合 API を使用すると、コードを変更することなく、異なるプロバイダーのモデルをシームレスに切り替えることができます。

統一応答API

統合レスポンスAPI

Unified Responses API(/mlflow/v1/responses)は、Azure Databricks上のモデルをクエリするための、OpenResponses互換かつプロバイダーに依存しないAPIです。 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ワークスペースの URL に置き換えます。

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 を 使用します。

次のステップ