在本文中,您將學習如何為針對視覺任務優化的基礎模型撰寫查詢請求,這些模型由 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,利用多種基礎模型來理解和分析影像,解鎖強大的多模態能力。 這項功能可透過選取 Databricks 裝載的模型做為 基礎模型 API 的一部分,以及提供服務 外部模型的端點來取得。
需求
查詢範例
Note
以下範例基於 Unity AI Gateway 與模型服務。 如果你使用模型服務端點而非模型服務,請將模型服務名稱替換為端點名稱。 請參閱 Databricks 託管的基礎模型,該模型在基礎模型 API 中提供 ,並列出可用的基礎模型及其模型服務與端點名稱。
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)
聊天完成 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
使用 AI 函式 ai_query() 查詢由 Databricks 基礎模型 API 支援的基礎模型,以處理多模式輸入。
> 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");
支援的模型
請參閱 基礎模型類型 以取得支援的視覺模型。
輸入影像需求
| 型號 | 支援的格式 | 每個請求可包含多張圖片 | 影像大小限制 | 影像調整大小建議 | 影像質量考慮 |
|---|---|---|---|---|---|
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 |
|
|
|
|
為了獲得最佳效能,如果影像太大,請先調整其大小再上傳。
|
|
圖像到代幣的轉換
本節僅適用於基礎模型 API。 如需外部模型,請參閱提供者的檔。
基礎模型請求中的每個映像都會增加您的權杖使用量。 請參閱 定價計算機,以根據您使用的 token 和模型來估算圖片定價。
圖像理解的局限性
本節僅適用於基礎模型 API。 如需外部模型,請參閱提供者的檔。
以下是支援的 Databricks 託管基礎模型的影像識別限制:
| 型號 | 局限性 |
|---|---|
支援以下 Claude 模型:
|
以下是 Databricks 上 Claude 模型的限制:
|