Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Visionsaktiverade chattmodeller är stora multimodala modeller (LMM) som utvecklats av OpenAI och som kan analysera bilder och ge textsvar på frågor om dem. De omfattar både bearbetning av naturligt språk och visuell förståelse. De aktuella visionsaktiverade modellerna är o-seriens resonemangsmodeller, GPT-5-serien, GPT-4.1-serien, GPT-4.5, GPT-4o-serien.
De visionsaktiverade modellerna kan besvara allmänna frågor om vad som finns i bilderna du laddar upp.
Tips/Råd
Om du vill använda visionsaktiverade modeller anropar du API:et för chattens slutförande på en modell som stöds som du har distribuerat. Om du inte är bekant med API:et för chattens slutförande kan du läsa guiden För visionsaktiverad chatt.
Anropa API:erna för chattens slutförande
Följande kommando visar det mest grundläggande sättet att använda en visionsaktiverad chattmodell med kod. Om det här är första gången du använder dessa modeller programmatiskt rekommenderar vi att du börjar med snabbstarten Chatta med bilder.
Skicka en POST-begäran till https://{RESOURCE_NAME}.openai.azure.com/openai/v1/chat/completions där
- RESOURCE_NAME är namnet på din Azure OpenAI-resurs
Nödvändiga rubriker:
-
Content-Type: application/json -
api-key: {API_KEY}
Brödtext: Följande är ett exempel på begärandetext. Formatet är detsamma som API:et för chattavslut för GPT-4o, förutom att meddelandeinnehållet kan vara en matris som innehåller text och bilder (antingen en giltig offentligt tillgänglig HTTP- eller HTTPS-URL till en bild eller en base-64-kodad bild).
Viktigt!
Kom ihåg att ställa in ett "max_tokens"-värde, eller max_completion_tokens-värde, annars kommer returdata att avbrytas.
Viktigt!
När du laddar upp bilder finns det en gräns på 10 bilder per chattbegäran.
{
"model": "MODEL-DEPLOYMENT-NAME",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": [
{
"type": "text",
"text": "Describe this picture:"
},
{
"type": "image_url",
"image_url": {
"url": "<image URL>"
}
}
]
}
],
"max_tokens": 100,
"stream": false
}
Tips/Råd
Använda en lokal avbildning
Om du vill använda en lokal avbildning kan du använda följande Python-kod för att konvertera den till base64 så att den kan skickas till API:et. Alternativa filkonverteringsverktyg är tillgängliga online.
import base64
from mimetypes import guess_type
# Function to encode a local image into data URL
def local_image_to_data_url(image_path):
# Guess the MIME type of the image based on the file extension
mime_type, _ = guess_type(image_path)
if mime_type is None:
mime_type = 'application/octet-stream' # Default MIME type if none is found
# Read and encode the image file
with open(image_path, "rb") as image_file:
base64_encoded_data = base64.b64encode(image_file.read()).decode('utf-8')
# Construct the data URL
return f"data:{mime_type};base64,{base64_encoded_data}"
# Example usage
image_path = '<path_to_image>'
data_url = local_image_to_data_url(image_path)
print("Data URL:", data_url)
När dina base64-avbildningsdata är klara kan du skicka dem till API:et i begärandetexten så här:
...
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,<your_image_data>"
}
...
Inställningar för detaljparameter
Du kan också definiera en "detail" parameter i fältet "image_url" . Välj ett av tre värden, low, high, eller auto, för att justera hur modellen tolkar och bearbetar bilder.
-
autoinställning: Standardinställningen. Modellen bestämmer mellan låg eller hög baserat på storleken på bildindata. -
lowinställning: modellen aktiverar inte läget "high res" utan bearbetar i stället en version med lägre upplösning 512x512, vilket resulterar i snabbare svar och minskad tokenförbrukning för scenarier där detaljerad information inte är avgörande. -
highinställning: modellen aktiverar läget "high res". Här visar modellen först avbildningen med låg upplösning och genererar sedan detaljerade segment på 512x512 från indatabilden. Varje segment använder dubbla tokenbudgeten, vilket möjliggör en mer detaljerad tolkning av bilden.
Du anger värdet med det format som visas i det här exemplet:
{
"type": "image_url",
"image_url": {
"url": "<image URL>",
"detail": "high"
}
}
Mer information om hur bildparametrarna påverkar token som används och priser finns i – Vad är Azure OpenAI? Bildtoken
Utgång
API-svaret bör se ut så här.
{
"id": "chatcmpl-8VAVx58veW9RCm5K1ttmxU6Cm4XDX",
"object": "chat.completion",
"created": 1702439277,
"model": "gpt-4o",
"prompt_filter_results": [
{
"prompt_index": 0,
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
],
"choices": [
{
"finish_reason":"stop",
"index": 0,
"message": {
"role": "assistant",
"content": "The picture shows an individual dressed in formal attire, which includes a black tuxedo with a black bow tie. There is an American flag on the left lapel of the individual's jacket. The background is predominantly blue with white text that reads \"THE KENNEDY PROFILE IN COURAGE AWARD\" and there are also visible elements of the flag of the United States placed behind the individual."
},
"content_filter_results": {
"hate": {
"filtered": false,
"severity": "safe"
},
"self_harm": {
"filtered": false,
"severity": "safe"
},
"sexual": {
"filtered": false,
"severity": "safe"
},
"violence": {
"filtered": false,
"severity": "safe"
}
}
}
],
"usage": {
"prompt_tokens": 1156,
"completion_tokens": 80,
"total_tokens": 1236
}
}
Varje svar innehåller ett "finish_reason" fält. Den har följande möjliga värden:
-
stop: API returnerade fullständiga modellutdata. -
length: Ofullständiga modellutdata på grund avmax_tokensindataparametern eller modellens tokengräns. -
content_filter: Utelämnat innehåll på grund av en flagga från våra innehållsfilter.
Utgång
Chattsvaren som du får från modellen bör nu innehålla förbättrad information om bilden, till exempel objektetiketter och avgränsningsrutor och OCR-resultat. API-svaret bör se ut så här.
{
"id": "chatcmpl-8UyuhLfzwTj34zpevT3tWlVIgCpPg",
"object": "chat.completion",
"created": 1702394683,
"model": "gpt-4o",
"choices":
[
{
"finish_reason": {
"type": "stop",
"stop": "<|fim_suffix|>"
},
"index": 0,
"message":
{
"role": "assistant",
"content": "The image shows a close-up of an individual with dark hair and what appears to be a short haircut. The person has visible ears and a bit of their neckline. The background is a neutral light color, providing a contrast to the dark hair."
}
}
],
"usage":
{
"prompt_tokens": 816,
"completion_tokens": 49,
"total_tokens": 865
}
}
Varje svar innehåller ett "finish_reason" fält. Den har följande möjliga värden:
-
stop: API returnerade fullständiga modellutdata. -
length: Ofullständiga modellutdata på grund avmax_tokensindataparametern eller modellens tokengräns. -
content_filter: Utelämnat innehåll på grund av en flagga från våra innehållsfilter.