ビジョン モデル のクエリ
この記事では、ビジョンタスクに最適化された基盤モデルのクエリリクエストを作成し、モデルサービングエンドポイントに送信する方法について説明します。
Mosaic AI Model Serving は、さまざまな基盤モデルを使用して画像を理解および分析するための統合 API を提供し、強力なマルチモーダル機能のロックを解除します。この機能は、Databricks基盤モデルAPI の一部として、外部 モデル を提供するサービス エンドポイントの一部として、選択したホスト モデルを通じて使用できます。
必要条件
- 要件を参照してください。
- 選択したクエリ クライアント オプションに基づいて、適切なパッケージをクラスターにインストールします。
クエリの例
- OpenAI client
- SQL
OpenAIクライアントを使用するには、モデルサービング エンドポイント名をmodel
入力として指定します。
from openai import OpenAI
import base64
import httpx
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
# encode image
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image_data = base64.standard_b64encode(httpx.get(image_url).content).decode("utf-8")
# OpenAI request
completion = client.chat.completions.create(
model="databricks-claude-3-7-sonnet",
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 httpx
client = OpenAI(
api_key="dapi-your-databricks-token",
base_url="https://example.staging.cloud.databricks.com/serving-endpoints"
)
# 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"
image1_data = base64.standard_b64encode(httpx.get(image1_url).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"
image2_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")
# OpenAI request
completion = client.chat.completions.create(
model="databricks-claude-3-7-sonnet",
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 関数ai_query を使用します。この機能はパブリック プレビュー段階であり、定義が変更される場合があります。
次の例では、 AI関数ai_query()
を使用して、マルチモーダル入力用のDatabricks基盤モデルAPIsでサポートされている基盤モデルをクエリします。
> SELECT *, ai_query(
'databricks-llama-4-maverick',
'what is this image about?', files => content)
as output FROM READ_FILES("/Volumes/main/multimodal/unstructured/image.jpeg");
サポートされているモデル
サポートされているビジョンモデル については、基盤モデルタイプ を参照してください。
入力画像の要件
モデル | サポートされている形式 | リクエストごとに複数の画像 | 画像サイズの制限 | 画像のサイズ変更の推奨事項 | 画像品質に関する考慮事項 |
---|---|---|---|---|---|
|
| APIリクエストには 最大5枚の画像
| ファイルサイズの制限: API リクエストごとにすべての画像の合計 10 MB | N/A | N/A |
|
| APIリクエストには 最大5枚の画像
| ファイルサイズの制限: API リクエストごとにすべての画像の合計 10 MB | N/A | N/A |
|
| リクエストごとに最大500枚の個別画像入力 | ファイルサイズの制限: リクエストあたりのペイロードサイズは合計で最大 10 MB | N/A |
|
|
| リクエストごとに最大500枚の個別画像入力 | ファイルサイズの制限: リクエストあたりのペイロードサイズは合計で最大 10 MB | N/A |
|
|
| リクエストごとに最大500枚の個別画像入力 | ファイルサイズの制限: リクエストあたりのペイロードサイズは合計で最大 10 MB | N/A |
|
|
|
|
| 最適なパフォーマンスを得るには、画像が大きすぎる場合は、アップロードする前にサイズを変更します。
|
|
画像からトークンへの変換
このセクションは、基盤モデル APIにのみ適用されます。 外部モデルについては、プロバイダーのドキュメントを参照してください。
基盤モデルへのリクエスト内の各画像は、トークンの使用量に追加されます。価格計算ツールを参照して、使用している使用状況とモデルに基づいて画像の価格を見積もります。
画像理解の制限
このセクションは、基盤モデル APIにのみ適用されます。 外部モデルについては、プロバイダーのドキュメントを参照してください。
以下は、サポートされている Databricks ホスト基盤モデルの画像理解の制限です。
モデル | 制限事項 |
---|---|
| Databricks 上の Claude モデルの制限は次のとおりです。
|