Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
Uma nova experiência Unity AI Gateway está disponível em versão Beta. O novo Unity AI Gateway é o plano de controlo empresarial para gerir endpoints LLM e agentes de codificação com funcionalidades melhoradas. Veja a governação da IA com o Unity AI Gateway.
Neste artigo, aprende a escrever pedidos de consulta para modelos de fundação otimizados para tarefas de visão e servidos pelo Unity AI Gateway.
Tip
O Código Génio (modo Agente) pode fazer isto por ti. Experimente este prompt de exemplo:
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.
O Model Serving fornece uma API unificada para compreender e analisar imagens usando uma variedade de modelos de fundação, desbloqueando poderosas capacidades multimodais. Essa funcionalidade está disponível por meio de modelos hospedados em Databricks selecionados como parte das APIs do Modelo de Base e servindo pontos de extremidade que atendem modelos externos.
Requerimentos
- Consulte Requisitos.
- Instale o pacote apropriado no cluster com base na opção de cliente de consulta escolhida.
Exemplos de consulta
Note
Os exemplos seguintes baseiam-se no Unity AI Gateway e nos serviços de modelo. Se utilizar endpoints de disponibilização de modelos em vez de serviços de modelo, substitua o nome do serviço de modelo pelo nome de um endpoint. Consulte os modelos fundacionais alojados pela Databricks disponíveis nas APIs de Modelos Fundacionais para obter uma lista dos modelos fundacionais disponíveis e os nomes do serviço de modelo e do endpoint.
Cliente OpenAI
Para usar o cliente OpenAI, especifique o nome do serviço modelo como model entrada.
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)
A API de conclusão de bate-papo suporta várias entradas de imagem, permitindo que o modelo analise cada imagem e sintetize informações de todas as entradas para gerar uma resposta ao prompt.
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
Importante
O exemplo a seguir usa a função SQL interna, ai_query. Esta função está em Pré-visualização Pública e a definição pode mudar.
O seguinte consulta um modelo fundacional suportado pelas APIs do Databricks Foundation Model para entrada multimodal usando a função 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");
Modelos suportados
Consulte Tipos de modelos de base sobre os modelos de visão suportados.
Requisitos de imagem de entrada
| Modelo(s) | Formatos suportados | Várias imagens por solicitação | Limitações de tamanho de imagem | Recomendações de redimensionamento de imagem | Considerações sobre a qualidade da imagem |
|---|---|---|---|---|---|
databricks-gpt-5 |
|
Até 500 entradas de imagem individuais por solicitação | Limite de tamanho do ficheiro: até 10 MB de tamanho total da carga útil por pedido | N/A |
|
databricks-gpt-5-mini |
|
Até 500 entradas de imagem individuais por solicitação | Limite de tamanho do ficheiro: até 10 MB de tamanho total da carga útil por pedido | N/A |
|
databricks-gpt-5-nano |
|
Até 500 entradas de imagem individuais por solicitação | Limite de tamanho do ficheiro: até 10 MB de tamanho total da carga útil por pedido | N/A |
|
databricks-gemma-3-12b |
|
Até 5 imagens para solicitações de API
|
Limite de tamanho de arquivo: 10 MB no total em todas as imagens por solicitação de API | N/A | N/A |
databricks-llama-4-maverick |
|
Até 5 imagens para solicitações de API
|
Limite de tamanho de arquivo: 10 MB no total em todas as imagens por solicitação de API | N/A | N/A |
|
|
|
|
Para um desempenho ideal, redimensione as imagens antes de as carregar se forem demasiado grandes.
|
|
Conversão de imagem em token
Esta seção se aplica somente às APIs do Modelo de Base. Para modelos externos, consulte a documentação do provedor.
Cada imagem em uma solicitação para um modelo de fundação aumenta o uso do token. Consulte a calculadora de preços para estimar o preço da imagem com base no uso do token e no modelo que você está usando.
Limitações da compreensão da imagem
Esta seção se aplica somente às APIs do Modelo de Base. Para modelos externos, consulte a documentação do provedor.
A seguir estão as limitações de compreensão de imagem para os modelos de fundação suportados e hospedados pelo Databricks.
| Modelo | Limitações |
|---|---|
Os seguintes modelos Claude são suportados:
|
A seguir estão os limites para modelos Claude em Databricks:
|