本文介绍如何为针对针对视觉任务优化的基础模型编写查询请求,并将其发送到模型服务终结点。
马赛克 AI 模型服务提供统一的 API,用于使用各种基础模型来理解和分析图像,从而解锁强大的多模式功能。 该功能可通过特定的 Databricks 托管模型获得,作为 基础模型 API 的一部分,并通过终结点为 外部模型 提供服务。
要求
查询示例
OpenAI 客户端
要使用 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)
聊天完成 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
以下查询 Databricks Foundation 模型 API 支持的基础模型,以使用 AI 函数 ai_query()进行多模式输入。
> 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");
支持的模型
有关支持的视觉模型,请参阅 基础模型类型 。
输入图像要求
| 型号(单个/多个) | 支持的格式 | 每个请求存在多个映像 | 图像大小限制 | 图像大小调整建议 | 图像质量注意事项 |
|---|---|---|---|---|---|
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 模型的限制:
|