Utveckla en visionsbaserad chattapp
Om du vill utveckla en klientapp som engagerar sig i visionsbaserade chattar med en multimodal modell kan du använda samma grundläggande tekniker som används för textbaserade chattar. Du behöver en anslutning till slutpunkten där modellen distribueras och du använder den slutpunkten för att skicka frågor som består av meddelanden till modellen och bearbeta svaren.
Den viktigaste skillnaden är att uppmaningar om en visionsbaserad chatt innehåller användarmeddelanden i flera delar som innehåller både ett textinnehållsobjekt och ett bildinnehållsobjekt .
Skicka en bildbaserad uppmaning med hjälp av svars-API :et
sv-SE: Om du vill inkludera en bild i en uppmaning med svars-API anger du en URL för en webbaserad bildfil, eller laddar upp en lokal bild och kodar dess data i Base64-format. Skicka därefter en URL i formatet data:image/jpeg;base64,{image_data} (ersätt "jpeg" med "png" eller andra format efter behov).
I följande Python-exempel visas hur du skickar en bild i en uppmaning med Responses API.
# 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)
Skicka en bildbaserad uppmaning med hjälp av API:et ChatCompletions
När du använder Azure OpenAI-slutpunkten för att skicka frågor till modeller som inte stöder Responses API:et, kan du använda CatCompletions-API:et på följande sätt:
# 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)