本文将介绍如何为针对视觉任务优化的基础模型编写查询请求,这些模型由 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.
模型服务提供统一的 API,用于使用各种基础模型来理解和分析图像,从而解锁强大的多模式功能。 该功能可通过特定的 Databricks 托管模型获得,作为 基础模型 API 的一部分,并通过终结点为 外部模型 提供服务。
要求
查询示例
注释
以下示例基于 Unity AI 网关和模型服务。 如果使用模型服务终结点而不是模型服务,请将模型服务名称替换为终结点名称。 有关可用基础模型及其模型服务和终结点名称的列表,请参阅 基础模型 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)
聊天完成 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。 有关外部模型,请参阅提供程序的文档。
向基础模型发送的请求中的每张图像都会增加你的令牌使用量。 请参阅 定价计算器 ,根据所使用的令牌使用情况和模型估算映像定价。
图像理解的限制
本部分仅适用于基础模型 API。 有关外部模型,请参阅提供程序的文档。
以下是受支持的 Databricks 托管基础模型在图像理解方面的限制:
| 型号 | 局限性 |
|---|---|
支持以下 Claude 模型:
|
以下是 Databricks 上的 Claude 模型的限制:
|