Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Vision-fähige Chat-Modelle sind große multimodale Modelle (LMM), die von OpenAI entwickelt wurden. Sie können Bilder analysieren und textuelle Antworten auf Fragen zu diesen Bildern geben. Es umfasst sowohl die Verarbeitung natürlicher Sprache als auch das visuelle Verständnis. Die aktuellen Vision-fähige Modelle sind die o-Serie Reasoning-Modelle, die GPT-5-Serie, die GPT-4.1-Serie, die GPT-4.5-Serie, die GPT-4o-Serie.
Die Vision-fähigen Modelle können allgemeine Fragen zu den Inhalten der hochgeladenen Bilder beantworten.
Tipp
Um Vision-fähige Modelle zu verwenden, rufen Sie die Chat Completion API bei einem unterstützten Modell auf, das Sie bereitgestellt haben. Falls Sie mit der Chat Completion API nicht vertraut sind, sehen Sie sich den Leitfaden für Vision-fähige Chats an.
Aufrufen der Chat Completion-APIs
Der folgende Befehl stellt die einfachste Methode zur Verwendung eines Vision-fähigen Chatmodells mit Code dar. Wenn Sie diese Modelle zum ersten Mal programmgesteuert verwenden, wird empfohlen, mit dem Schnellstart: Chat mit Bildern zu beginnen.
Senden Sie eine POST-Anforderung an https://{RESOURCE_NAME}.openai.azure.com/openai/v1/chat/completions, wobei gilt:
- RESOURCE_NAME ist der Name Ihrer Azure OpenAI-Ressource.
Erforderliche Header:
-
Content-Type: application/json -
api-key: {API_KEY}
Body: Es folgt ein Beispiel für den Anforderungstext. Das Format ist identisch mit der Chatabschluss-API für GPT-4o, mit der Ausnahme, dass der Nachrichteninhalt ein Array sein kann, das Text und Bilder enthält (entweder eine gültige öffentlich zugängliche HTTP- oder HTTPS-URL zu einem Bild oder ein base-64-codiertes Bild).
Von Bedeutung
Denken Sie daran, einen "max_tokens"- oder max_completion_tokens-Wert festzulegen, oder die Ausgabe wird abgeschnitten.
Von Bedeutung
Beim Hochladen von Bildern gibt es eine Beschränkung von 10 Bildern pro Chatanfrage.
{
"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
}
Tipp
Verwenden eines lokalen Image
Wenn Sie ein lokales Image verwenden möchten, können Sie dieses mit dem folgenden Python-Code zu Base64 konvertieren, damit es an die API übergeben werden kann. Alternative Konvertierungstools für Dateien sind online verfügbar.
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)
Wenn Ihre Base64-Image-Daten vorliegen, können Sie sie wie folgt an die API im Anforderungstext übergeben:
...
"type": "image_url",
"image_url": {
"url": "data:image/jpeg;base64,<your_image_data>"
}
...
Detailparametereinstellungen
Sie können optional einen "detail" Parameter im "image_url" Feld definieren. Wählen Sie einen von drei Werten, low, high oder auto, um die Art und Weise anzupassen, wie das Modell Bilder interpretiert und verarbeitet.
-
Einstellung
auto: Die Standardeinstellung. Das Modell entscheidet basierend auf der Größe der Bildeingabe zwischen niedrig oder hoch. -
low-Einstellung: Das Modell aktiviert nicht den Modus „Hohe Auflösung“, sondern verarbeitet eine niedrigere Auflösung von 512x512, was zu schnelleren Antworten und einer reduzierten Tokennutzung für Szenarien führt, in denen nähere Details nicht entscheidend sind. -
high-Einstellung: Das Modell aktiviert den Modus „Hohe Auflösung“. Hier betrachtet das Modell zunächst das niedrig aufgelöste Bild und erzeugt dann detaillierte 512x512-Segmente aus dem Eingabebild. Jedes Segment verwendet doppelt das Tokenbudget, sodass eine detailliertere Interpretation des Bilds möglich ist.
Sie legen den Wert mithilfe des in diesem Beispiel gezeigten Formats fest:
{
"type": "image_url",
"image_url": {
"url": "<image URL>",
"detail": "high"
}
}
Ausführliche Informationen dazu, wie sich die verwendeten Bildparameter und die Preise auf Token auswirken, finden Sie unter: Was ist Azure OpenAI? Bildtoken
Output
Die API-Antwort sollte wie folgt aussehen.
{
"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
}
}
Jede Antwort enthält ein Feld "finish_reason". Folgende Werte sind möglich:
-
stop: Die API hat die vollständige Modellausgabe zurückgegeben. -
length: Die Modellausgabe ist aufgrund des Eingabeparametersmax_tokensoder des Tokenlimits des Modells unvollständig. -
content_filter: Aufgrund eines Flags durch unsere Inhaltsfilter ausgelassene Inhalte.
Output
Die Chatantworten, die Sie vom Modell erhalten, sollten nun erweiterte Informationen zum Bild enthalten, z. B. Objektbeschriftungen und Begrenzungsrahmen sowie OCR-Ergebnisse. Die API-Antwort sollte wie folgt aussehen.
{
"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
}
}
Jede Antwort enthält ein Feld "finish_reason". Folgende Werte sind möglich:
-
stop: Die API hat die vollständige Modellausgabe zurückgegeben. -
length: Die Modellausgabe ist aufgrund des Eingabeparametersmax_tokensoder des Tokenlimits des Modells unvollständig. -
content_filter: Aufgrund eines Flags durch unsere Inhaltsfilter ausgelassene Inhalte.