Important
ベータ版では、新しい Unity AI Gateway エクスペリエンスを利用できます。 新しい Unity AI ゲートウェイは、強化された機能を備えた LLM エンドポイントとコーディング エージェントを管理するためのエンタープライズ コントロール プレーンです。 Unity AI Gateway を使用した AI ガバナンスに関する説明をご覧ください。
この記事では、ビジョン タスク用に最適化され、 Unity AI Gateway によって提供される基礎モデルのクエリ要求を記述する方法について説明します。
Tip
Genie Code (エージェント モード) でこれを行うことができます。 次のプロンプトの例を試してください。
Query the databricks-claude-sonnet-4-5 model using the OpenAI client, sending a base64-encoded image from a URL alongside a text question, and print the response.
Model Serving は、さまざまな基盤モデルを使用して画像を理解および分析するための統合 API を提供し、強力なマルチモーダル機能のロックを解除します。 この機能は、 Foundation Model API の 一部として選択された Databricks でホストされるモデルと 、外部モデルにサービスを提供するエンドポイントを提供する方法で利用できます。
要求事項
- 要件を参照してください。
- 選択したクエリ クライアント オプションに基づいて、適切なパッケージをクラスターにインストールします。
クエリのサンプル
Note
次の例は、Unity AI Gateway とモデル サービスに基づいています。 モデル サービスの代わりにモデル サービスのエンドポイントを使用する場合は、モデル サービス名をエンドポイント名に置き換えます。 使用可能な基礎モデルとそのモデル サービスとエンドポイント名の一覧については、 Foundation Model API で使用できる Databricks でホストされる 基礎モデルを参照してください。
OpenAI クライアント
OpenAI クライアントを使用するには、 model 入力としてモデル サービス名を指定します。
from openai import OpenAI
import base64
import requests
# Get the workspace API URL and token from the notebook context
API_ROOT = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiUrl().get()
API_TOKEN = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiToken().get()
client = OpenAI(
api_key=API_TOKEN,
base_url=f"{API_ROOT}/ai-gateway/mlflow/v1",
)
# Download and encode image
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
resp = requests.get(image_url)
resp.raise_for_status()
image_data = base64.b64encode(resp.content).decode("utf-8")
# OpenAI request
completion = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "what's in this image?"},
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image_data}"},
},
],
}
],
)
print(completion.choices[0].message.content)
Chat Completions API は複数の画像入力をサポートしているため、モデルは各画像を分析し、すべての入力から情報を合成してプロンプトへの応答を生成できます。
from openai import OpenAI
import base64
import requests
# Get the workspace API URL and token from the notebook context
API_ROOT = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiUrl().get()
API_TOKEN = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiToken().get()
client = OpenAI(
api_key=API_TOKEN,
base_url=f"{API_ROOT}/ai-gateway/mlflow/v1",
)
# Download and encode multiple images
image1_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
resp1 = requests.get(image1_url)
resp1.raise_for_status()
image1_data = base64.b64encode(resp1.content).decode("utf-8")
image2_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
resp2 = requests.get(image2_url)
resp2.raise_for_status()
image2_data = base64.b64encode(resp2.content).decode("utf-8")
# OpenAI request
completion = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What are in these images? Is there any difference between them?"},
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image1_data}"},
},
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image2_data}"},
},
],
}
],
)
print(completion.choices[0].message.content)
SQL
Important
次の例では、組み込みの SQL 関数である ai_query を使用します。 この関数は パブリック プレビュー 段階であり、定義が変更される可能性があります。
次のクエリでは、DATAbricks Foundation Model API でサポートされている基本モデルに対して、AI 関数 ai_query()を使用したマルチモーダル入力を照会します。
> SELECT *, ai_query(
'system.ai.llama-4-maverick',
'what is this image about?', files => content)
as output FROM READ_FILES("/Volumes/main/multimodal/unstructured/image.jpeg");
サポートされているモデル
サポートされているビジョン モデルについては、「 Foundation モデルの種類 」を参照してください。
入力イメージの要件
| モデル | サポートされるフォーマット | 要求ごとに複数のイメージ | イメージサイズの制限 | イメージのサイズ変更に関する推奨事項 | イメージの品質に関する考慮事項 |
|---|---|---|---|---|---|
databricks-gpt-5 |
|
要求ごとに最大 500 個の画像入力 | ファイル サイズの制限: 要求あたり最大 10 MB の合計ペイロード サイズ | N/A |
|
databricks-gpt-5-mini |
|
要求ごとに最大 500 個の画像入力 | ファイル サイズの制限: 要求あたり最大 10 MB の合計ペイロード サイズ | N/A |
|
databricks-gpt-5-nano |
|
要求ごとに最大 500 個の画像入力 | ファイル サイズの制限: 要求あたり最大 10 MB の合計ペイロード サイズ | N/A |
|
databricks-gemma-3-12b |
|
API 要求用に最大 5 つのイメージ
|
ファイル サイズの制限: API 要求ごとにすべてのイメージで合計 10 MB | N/A | N/A |
databricks-llama-4-maverick |
|
API 要求用に最大 5 つのイメージ
|
ファイル サイズの制限: API 要求ごとにすべてのイメージで合計 10 MB | N/A | N/A |
|
|
|
|
最適なパフォーマンスを得られるように、画像が大きすぎる場合は、アップロードする前に画像のサイズを変更します。
|
|
イメージからトークンへの変換
このセクションは、Foundation Model API にのみ適用されます。 外部モデルについては、プロバイダーのドキュメントを参照してください。
基盤モデルへの要求に含まれる各イメージは、使用されるトークン数を増加させます。 使用しているトークンの使用状況とモデルに基づいてイメージの価格を見積もる料金 計算ツール を参照してください。
イメージ理解の制限事項
このセクションは、Foundation Model API にのみ適用されます。 外部モデルについては、プロバイダーのドキュメントを参照してください。
サポートされている Databricks ホスト型基盤モデルのイメージ理解の制限事項を次に示します。
| モデル | 制限事項 |
|---|---|
次のクロード モデルがサポートされています。
|
Databricks でのクロード モデルの制限を次に示します。
|