Desenvolva um aplicativo de bate-papo baseado em visão
Para desenvolver um aplicativo cliente que se envolve em chats baseados em visão com um modelo multimodal, você pode usar as mesmas técnicas básicas usadas para bate-papos baseados em texto. Você precisa de uma conexão com o ponto de extremidade onde 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 de um chat de visão incluem mensagens de utilizador em múltiplas partes que contêm tanto um elemento de texto como um elemento de conteúdo de imagem.
Submeta um prompt baseado em imagem usando a API Respostas
Para incluir uma imagem num prompt usando a API Responses , especifique uma URL para um ficheiro de imagem baseado na web, ou carregue uma imagem local e codifique os seus dados no formato Base64 e submeta uma URL nesse formato data:image/jpeg;base64,{image_data} (substituindo "jpeg" por "png" ou outros formatos conforme apropriado).
O exemplo seguinte em Python mostra como submeter uma imagem num prompt usando a API Responses :
# 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)
Submeta um prompt baseado em imagens usando a API ChatCompletions
Ao usar o endpoint Azure OpenAI para submeter prompts a modelos que não suportam a API Responses, 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)