Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Chatmodellen met vision zijn grote multimodale modellen (LMM) die zijn ontwikkeld door OpenAI, waarmee afbeeldingen kunnen worden geanalyseerd en tekstuele antwoorden kunnen worden geboden op vragen over deze modellen. Ze bevatten zowel natuurlijke taalverwerking als visueel begrip. De huidige vision-enabled modellen zijn de o-serie redeneringsmodellen, GPT-5-serie, GPT-4.1-serie, GPT-4.5, GPT-4o-serie.
De vision-enabled modellen kunnen algemene vragen beantwoorden over wat er aanwezig is in de afbeeldingen die u uploadt.
Aanbeveling
Als u vision-enabled modellen wilt gebruiken, roept u de chat-voltooiings-API aan op een ondersteund model dat u hebt uitgerold. Als u niet bekend bent met de API voor chatvoltooiing, raadpleegt u de instructiegids voor chat met Vision-functionaliteit.
De CHAT-voltooiings-API's aanroepen
Met de volgende opdracht laat u de meest eenvoudige manier zien om een vision-ondersteund chatmodel met code te gebruiken. Als dit uw eerste keer is dat u deze modellen programmatisch gebruikt, raden we u aan om te beginnen met onze snelstartgids voor Chat met afbeeldingen.
Een POST-aanvraag verzenden naar waar https://{RESOURCE_NAME}.openai.azure.com/openai/v1/chat/completions
- RESOURCE_NAME is de naam van uw Azure OpenAI-resource
Vereiste headers:
-
Content-Type: application/json -
api-key: {API_KEY}
Hoofdtekst: Het volgende is een voorbeeld van een aanvraagbody. De indeling is hetzelfde als de API voor het chatten met voltooiingen voor GPT-4o, behalve dat de berichtinhoud een matrix kan zijn die tekst en afbeeldingen bevat (een geldige openbaar toegankelijke HTTP- of HTTPS-URL naar een afbeelding, of een base-64-gecodeerde afbeelding).
Belangrijk
Vergeet niet om een "max_tokens"- of max_completion_tokens-waarde in te stellen, anders wordt de retouruitvoer afgekapt.
Belangrijk
Bij het uploaden van afbeeldingen geldt een limiet van 10 afbeeldingen per chataanvraag.
{
"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
}
Aanbeveling
Een lokale afbeelding gebruiken
Als u een lokale installatiekopieën wilt gebruiken, kunt u de volgende Python-code gebruiken om deze te converteren naar base64, zodat deze kan worden doorgegeven aan de API. Alternatieve hulpprogramma's voor bestandsconversie zijn online beschikbaar.
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)
Wanneer uw base64-afbeeldingsgegevens gereed zijn, kunt u deze als volgt doorgeven aan de API in de aanvraagbody:
...
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,<your_image_data>"
}
...
Detailparameterinstellingen
U kunt desgewenst een "detail" parameter in het "image_url" veld definiëren. Kies een van de drie waarden, low, highof auto, om de manier aan te passen waarop het model afbeeldingen interpreteert en verwerkt.
-
autoinstelling: de standaardinstelling. Het model bepaalt tussen laag of hoog op basis van de grootte van de afbeeldingsinvoer. -
lowinstelling: het model activeert niet de modus 'hoge res', in plaats daarvan verwerkt een lagere resolutie 512x512-versie, wat resulteert in snellere reacties en een verminderd tokenverbruik voor scenario's waarbij gedetailleerde details niet cruciaal zijn. -
highinstelling: het model activeert de modus 'hoge res'. Hier bekijkt het model in eerste instantie de afbeelding met lage resolutie en genereert vervolgens gedetailleerde 512x512-segmenten van de invoerafbeelding. Elk segment maakt gebruik van het dubbele tokenbudget, wat een gedetailleerdere interpretatie van de afbeelding mogelijk maakt.
U stelt de waarde in met behulp van de indeling die in dit voorbeeld wordt weergegeven:
{
"type": "image_url",
"image_url": {
"url": "<image URL>",
"detail": "high"
}
}
Voor details over hoe de afbeeldingsparameters van invloed zijn op de gebruikte tokens en de prijzen, zie - Wat is Azure OpenAI? Afbeeldingstokens
Uitvoer
Het API-antwoord moet er als volgt uitzien.
{
"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
}
}
Elk antwoord bevat een "finish_reason" veld. Het heeft de volgende mogelijke waarden:
-
stop: API heeft volledige modeluitvoer geretourneerd. -
length: Onvolledige modeluitvoer vanwege de tokenlimiet van demax_tokensinvoerparameter of het model. -
content_filter: Inhoud weggelaten vanwege een vlag van onze inhoudsfilters.
Uitvoer
De chatantwoorden die u van het model ontvangt, moeten nu uitgebreide informatie bevatten over de afbeelding, zoals objectlabels en begrenzingsvakken en OCR-resultaten. Het API-antwoord moet er als volgt uitzien.
{
"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
}
}
Elk antwoord bevat een "finish_reason" veld. Het heeft de volgende mogelijke waarden:
-
stop: API heeft volledige modeluitvoer geretourneerd. -
length: Onvolledige modeluitvoer vanwege de tokenlimiet van demax_tokensinvoerparameter of het model. -
content_filter: Inhoud weggelaten vanwege een vlag van onze inhoudsfilters.