クエリ ビジョン モデル

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
  • JPEG
  • PNG
  • WebP
  • GIF (アニメーション化されていない GIF)
要求ごとに最大 500 個の画像入力 ファイル サイズの制限: 要求あたり最大 10 MB の合計ペイロード サイズ N/A
  • 透かしやロゴなし
  • 人間が理解するのに十分な明確さ
databricks-gpt-5-mini
  • JPEG
  • PNG
  • WebP
  • GIF (アニメーション化されていない GIF)
要求ごとに最大 500 個の画像入力 ファイル サイズの制限: 要求あたり最大 10 MB の合計ペイロード サイズ N/A
  • 透かしやロゴなし
  • 人間が理解するのに十分な明確さ
databricks-gpt-5-nano
  • JPEG
  • PNG
  • WebP
  • GIF (アニメーション化されていない GIF)
要求ごとに最大 500 個の画像入力 ファイル サイズの制限: 要求あたり最大 10 MB の合計ペイロード サイズ N/A
  • 透かしやロゴなし
  • 人間が理解するのに十分な明確さ
databricks-gemma-3-12b
  • JPEG
  • PNG
  • WebP
  • GIF
API 要求用に最大 5 つのイメージ
  • 指定されたすべてのイメージは、要求で処理されます。
ファイル サイズの制限: API 要求ごとにすべてのイメージで合計 10 MB N/A N/A
databricks-llama-4-maverick
  • JPEG
  • PNG
  • WebP
  • GIF
API 要求用に最大 5 つのイメージ
  • 指定されたすべてのイメージは、要求で処理されます。
ファイル サイズの制限: API 要求ごとにすべてのイメージで合計 10 MB N/A N/A
  • databricks-claude-sonnet-5
  • databricks-claude-sonnet-4-6
  • databricks-claude-sonnet-4-5
  • databricks-claude-haiku-4-5
  • databricks-claude-opus-4-8
  • databricks-claude-opus-4-7
  • databricks-claude-opus-4-6
  • databricks-claude-opus-4-5
  • databricks-claude-opus-4-1
  • databricks-claude-sonnet-4
  • JPEG
  • PNG
  • GIF
  • WebP
  • Claude.ai 用に最大 20 個の画像
  • API リクエスト用に100個までのイメージ
  • 指定されたすべての画像は要求で処理されます。これは、それらを比較または対照するのに役立ちます。
  • 8000 x 8000 px を超える画像は拒否されます。
  • 1 つの API 要求で 20 を超えるイメージが送信された場合、 イメージあたりの最大許容サイズ2000 x 2000 px です
最適なパフォーマンスを得られるように、画像が大きすぎる場合は、アップロードする前に画像のサイズを変更します。
  • 画像の 長いエッジが 1568 ピクセルを超える 場合、またはその サイズが約 1,600 トークンを超える場合、縦横比を維持しながら 自動的に縮小 されます。
  • 非常に小さい画像 ( 任意のエッジで 200 ピクセル未満) では 、パフォーマンスが低下する可能性があります。
  • 待ち時間を短縮するには、 画像を 1.15 ピクセル 以内にし、両方のサイズで最大 1568 ピクセルに抑えます。
  • 明確さ: ぼやけた画像やピクセル化された画像を避けます。
  • 画像内のテキスト:
    • テキストが 読みやすく 、スマメすぎないことを確認します。
    • テキストを拡大するためだけに、主要なビジュアル コンテキストをトリミングしないようにします。

イメージからトークンへの変換

このセクションは、Foundation Model API にのみ適用されます。 外部モデルについては、プロバイダーのドキュメントを参照してください。

基盤モデルへの要求に含まれる各イメージは、使用されるトークン数を増加させます。 使用しているトークンの使用状況とモデルに基づいてイメージの価格を見積もる料金 計算ツール を参照してください。

イメージ理解の制限事項

このセクションは、Foundation Model API にのみ適用されます。 外部モデルについては、プロバイダーのドキュメントを参照してください。

サポートされている Databricks ホスト型基盤モデルのイメージ理解の制限事項を次に示します。

モデル 制限事項
次のクロード モデルがサポートされています。
  • databricks-claude-sonnet-5
  • databricks-claude-sonnet-4-6
  • databricks-claude-sonnet-4-5
  • databricks-claude-opus-4-1
  • databricks-claude-sonnet-4
Databricks でのクロード モデルの制限を次に示します。
  • 完全な精度や機密性の高い分析を必要とするタスクに対して、人間が見落とすことなくクロードを使用することは避けてください。
  • 人物識別: 画像内のユーザーを識別したり、名前を付けたりすることはできません。
  • 精度: 低品質、回転、または非常に小さい画像 (200 px) を誤って解釈する可能性があります。
  • 空間推論:アナログ時計やチェスの位置の読み取りなど、正確なレイアウトに苦労しています。
  • カウント: おおよそのカウントを提供しますが、多くの小さなオブジェクトでは不正確になる可能性があります。
  • AI によって生成された画像: 合成画像または偽の画像を確実に検出することはできません。
  • 不適切なコンテンツ: 明示的またはポリシー違反の画像をブロックします。
  • 医療: 複雑な医療スキャン (CT や MRI など) には適していません。 診断ツールではありません。

その他のリソース