Desenvolver um aplicativo de chat baseado em visão
Para desenvolver um aplicativo cliente que se envolva em chats baseados em visão com um modelo multimodal, você pode usar as mesmas técnicas básicas usadas para chats baseados em texto. Você precisa de uma conexão com o ponto de extremidade em que o modelo é implantado e usa esse ponto de extremidade para enviar prompts que consistem em mensagens para o modelo e processar as respostas.
A principal diferença é que os prompts para um chat baseado em visão incluem mensagens de usuário compostas de várias partes, contendo um item de conteúdo de texto e um item de conteúdo de imagem.
Enviar um prompt baseado em imagem usando a API de Respostas
Para incluir uma imagem em um prompt usando a API de Respostas, especifique uma URL para um arquivo de imagem baseado na Web ou carregue uma imagem local e codifique seus dados no formato Base64 e envie uma URL no formato data:image/jpeg;base64,{image_data} (substituindo "jpeg" por "png" pr outros formatos conforme apropriado).
O exemplo do Python a seguir mostra como enviar uma imagem em um prompt usando a API de Respostas :
# Read the image data from a local file
image_path = Path("dragon-fruit.jpeg")
image_format = "jpeg"
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
data_url = f"data:image/{image_format};base64,{image_data}" # You can also use a web URL
# Send the image data in a prompt to the model
response = client.responses.create(
model="gpt-4.1",
input=[
{"role": "developer", "content": "You are an AI assistant for chefs planning recipes."},
{"role": "user", "content": [
{ "type": "input_text", "text": "What desserts could I make with this?"},
{ "type": "input_image", "image_url": data_url}
] }
]
)
print(response.output_text)
Enviar um prompt baseado em imagem usando a API ChatCompletions
Ao usar o endpoint do Azure OpenAI para enviar prompts para modelos que não dão suporte à API Responses, você pode usar a API CatCompletions, da seguinte forma:
# Read the image data from a local file
image_path = Path("orange.jpeg")
image_format = "jpeg"
with open(image_path, "rb") as image_file:
image_data = base64.b64encode(image_file.read()).decode("utf-8")
data_url = f"data:image/{image_format};base64,{image_data}" # You can also use a web URL
# Send the image data in a prompt to the model
response = client.chat.completions.create(
model="Phi-4-multimodal-instruct",
messages=[
{"role": "system", "content": "You are an AI assistant for chefs planning recipes."},
{ "role": "user", "content": [
{ "type": "text", "text": "What can I make with this fruit?"},
{ "type": "image_url", "image_url": {"url": data_url}}
] }
]
)
print(response.choices[0].message.content)