モデルサービスをクエリする
ベータ版
この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。
このページでは、Unity Catalog でモデル サービスをクエリする方法について説明します。
要件
- お客様のアカウントでUnity AI Gatewayのプレビュー版が有効になりました。Databricksのプレビューを管理するを参照してください。
- Unity AI Gateway サポート対象リージョンにある Databricks ワークスペース。
EXECUTEモデルサービスで、そしてそのカタログとスキーマでUSE CATALOGおよびUSE SCHEMAを。システムが提供するモデルサービスは、system.ai内のすべてのアカウントユーザーにEXECUTEをデフォルトで付与します。
モデルサービスを特定する
モデルスラッグとしてのモデルサービスを、完全修飾名で識別します。たとえば、system.ai.databricks-claude-opus-4-6。同じメタストアにアタッチされている任意のワークスペースから、ワークスペースの境界を越えても、モデルサービスをクエリーできます。
各リクエストはワークスペースを識別する必要があります。Databricks はこのワークスペースをトークン単位の従量課金に使用します。ワークスペースを次のいずれかの方法で提供します:
- ワークスペース URL :リクエストは、ワークスペースを識別するワークスペース URL に送信してください。例えば、
https://<workspace-url>/ai-gateway/mlflow/v1。 - **ワークスペースヘッダー**:リクエストを単一のアカウントレベル URL
x-databricks-workspace-idに送信する場合、ワークスペースを識別するために ヘッダーを追加します。
OpenAI クライアントでクエリする
OpenAIクライアントとMLflow Chat Completions APIを使用してモデルサービスをクエリする例を次に示します。
- Python
- REST API
from openai import OpenAI
import os
# To get a Databricks token, see https://docs.databricks.com/dev-tools/auth/pat
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.databricks-claude-opus-4-6",
max_tokens=256
)
print(chat_completion.choices[0].message.content)
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.databricks-claude-opus-4-6",
"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> を Databricks ワークスペースの URL に置き換えます。
モデルサービスは、MLflow Chat Completions API や Anthropic Messages API など、Unity AI Gateway エンドポイントと同じ統合されたネイティブな APIs をサポートしています。サポートされている APIs の完全なリストとその他の例については、「Unity AI Gateway エンドポイント (レガシー) のクエリ」を参照してください。
クエリを使用する ai_query
ai_query 関数を使用して、SQLまたはPythonからsystem.aiのDatabricks提供モデルサービスをバッチ推論のためにクエリします。
SELECT ai_query(
'system.ai.databricks-claude-opus-4-6',
'Summarize the following text: ' || text_column
) AS summary
FROM my_table
LIMIT 10
完全なai_query構文については、ai_query関数を参照してください。
ワークスペースエンドポイント名との下位互換性
下位互換性のため、Databricks は、完全に修飾された名前を使用しない Databricks がホストするモデル名を使用するリクエストを、system.ai のシステム提供モデルサービスとして解釈します。たとえば、Databricks は databricks-claude-opus-4-6 を system.ai.databricks-claude-opus-4-6 として解釈します。この動作により、既存のワークロードはコード変更なしで実行を継続できます。