Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Structured Outputs

Bei strukturierten Ausgaben wird die Antwort eines KI-Modells während der Decodierung auf ein Schema wie JSON Schema beschränkt. So können Anwendungen jede Antwort zuverlässig verarbeiten.

Strukturierte Ausgaben sind Modellantworten, die einem vorgegebenen Format folgen müssen, üblicherweise einem JSON-Schema, das Pflichtfelder, deren Typen und zulässige Werte festlegt. So kann Software jede Antwort ohne Nachbearbeitung verarbeiten. Bittet man ein großes Sprachmodell (LLM) höflich um JSON, hält es sich normalerweise daran. Es kann trotzdem einen Satz Fließtext hinzufügen, einen Schlüssel falsch schreiben oder mitten in einem Objekt abbrechen – jeder dieser Fehler bringt das Programm zum Scheitern, das die Antwort verarbeitet. Strukturierte Ausgaben beseitigen dieses Risiko mit beschränktem Decoding: Bei jedem Generierungsschritt lässt die Inferenz-Engine nur Tokens zu, die das Ergebnis gemäß Schema gültig halten. Als OpenAI die Funktion im August 2024 in seine API aufnahm, berichtete das Unternehmen, gpt-4o-2024-08-06 habe mit strukturierten Ausgaben bei der Bewertung der Einhaltung komplexer JSON-Schemata 100 % erzielt. Ohne die Funktion lag GPT-4 (gpt-4-0613) unter 40 %.

JSON-Modus und strukturierte Ausgaben im Vergleich#

Anbieter-APIs bieten zwei Stufen der Garantie. Der JSON-Modus, den OpenAI im November 2023 einführte, garantiert lediglich, dass die Antwort syntaktisch gültiges JSON ist. Schlüssel können weiterhin fehlen oder falsch benannt sein. Strukturierte Ausgaben garantieren, dass die Antwort dem vorgegebenen Schema entspricht. In OpenAIs Structured Outputs API definieren Entwickler das Schema als Pydantic-Modell in Python oder als Zod-Objekt in JavaScript. Eine Ablehnung wird in einem separaten Feld ausgegeben, statt das Format zu verletzen. Anthropics strukturierte Ausgaben mit Claude übersetzen jedes Schema in eine Grammatik. Das erhöht die Latenz bei der ersten Verwendung, und die kompilierte Grammatik wird 24 Stunden lang zwischengespeichert. Beide Anbieter unterstützen nur eine Teilmenge von JSON Schema. Anthropics Implementierung unterstützt zum Beispiel weder rekursive Schemata noch numerische Grenzwerte wie minimum.

Funktionsweise der Dekodierung mit Einschränkungen#

Bei jedem Schritt erzeugt ein LLM für jedes Token seines Vokabulars einen Wert, ein sogenanntes Logit. Beim Decoding wird aus der daraus entstehenden Softmax-Verteilung ausgewählt. Beim beschränkten Decoding wird zunächst der Wert jedes Tokens, das gegen das Format verstoßen würde, auf minus unendlich gesetzt. Diese Tokens können dann nicht ausgewählt werden. Brandon Willard und Rémi Louf zeigten in Efficient Guided Generation for Large Language Models, wie sich das effizient umsetzen lässt: Ein regulärer Ausdruck oder JSON Schema wird in einen endlichen Automaten übersetzt. Ein einmalig erstellter Index über dem Vokabular listet die gültigen Tokens für jeden Zustand auf, sodass jeder Schritt nur eine Abfrage erfordert. Ihre quelloffene Bibliothek Outlines implementiert das Verfahren. Bereitstellungs-Engines wie vLLM bieten grammatikgesteuerte Generierung für offene Modelle.

Das folgende Beispiel setzt die Idee von Hand mit GPT-2 aus Hugging Face Transformers um. Der festgelegte Text des Schemas – geschweifte Klammern, Schlüssel und Anführungszeichen – wird vom Code geschrieben. An jeder Wertstelle darf das Modell nur aus den vom Schema zugelassenen Tokens wählen:

import json

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
prompt = "Review: The battery died after two days and support never replied.\nJSON:"

# Unbeschränktes gieriges Decoding: Nichts zwingt die Antwort in ein Schema.
ids = tokenizer(prompt, return_tensors="pt").input_ids
free = model.generate(ids, max_new_tokens=16, do_sample=False, pad_token_id=tokenizer.eos_token_id)
print("free:", repr(tokenizer.decode(free[0, ids.shape[1] :])))


def choose(text, options):
    """Return the option GPT-2 scores highest after text, with every other token masked out."""
    logits = model(tokenizer(text, return_tensors="pt").input_ids).logits[0, -1]
    allowed = torch.tensor([tokenizer.encode(option)[0] for option in options])
    masked = torch.full_like(logits, float("-inf"))
    masked[allowed] = logits[allowed]
    return tokenizer.decode(masked.argmax())


# Beschränktes Decoding: Das Schema gibt die Schlüssel vor, und das Modell darf nur zulässige Werte auswählen.
with torch.no_grad():
    text = prompt + ' {"sentiment": "'
    text += choose(text, ["positive", "negative"]) + '", "stars": '
    text += choose(text, ["1", "2", "3", "4", "5"]) + "}"
print("constrained:", json.loads(text[len(prompt) :]))

Das Beispiel gibt free: ' The battery died after two days and support never replied.\n\nJSON: The' und constrained: {'sentiment': 'positive', 'stars': 1} aus. Ohne Einschränkungen wiederholt GPT-2 die Rezension, statt JSON zu schreiben. Die beschränkte Version lässt sich dagegen immer einlesen. Das eingelesene Ergebnis zeigt auch die Grenzen des Verfahrens: Das Modell mit 124 Millionen Parametern bewertete eine leere Batterie und einen nicht reagierenden Support positiv mit einem Stern. Das Schema legte das Format fest, doch die darin enthaltenen Werte stammten weiterhin aus der eigenen Einschätzung des Modells.

Anwendungsbereiche und Zielkonflikte#

  • Datenextraktion: Namen, Daten, Summen und Einzelposten aus Rechnungen, Verträgen oder E-Mails direkt in Datenbankzeilen übernehmen.
  • Funktionsaufrufe: Ein Tool-Aufruf ist eine strukturierte Ausgabe, deren Schema die Parameter des Tools festlegt. Die strikte Tool-Nutzung in den APIs von OpenAI und Anthropic bietet dieselbe Garantie für Tool-Argumente.
  • Agentische Arbeitsabläufe: Weiterleitungsentscheidungen als Enum-Werte abbilden und Zwischenergebnisse als typisierte Objekte zwischen den Schritten einer Prompt-Kette übergeben.
  • Bild-Sprach-Modelle: Erkennungen als Listen von Labels und Begrenzungsrahmenkoordinaten zurückgeben, die Zeichen- oder Auswertungscode direkt verarbeiten kann.

Die klassenbasierte intelligente Annotation in der Ultralytics Platform ist auf diese letzte Art der Ausgabe angewiesen. Sie fordert Vision-Modelle von Anbietern wie OpenAI, Anthropic und Google auf, die Klassen eines Datensatzes zu erkennen, und fügt jedes zurückgegebene Objekt als bearbeitbare Begrenzungsbox hinzu. Daher muss jede Antwort eine Klasse nennen und Koordinaten in einem maschinenlesbaren Format angeben. Diese Modelle geben keine Konfidenzwerte zurück. Deshalb blendet die Platform die Einstellungen für Konfidenz und IoU aus, solange ein solches Modell ausgewählt ist. Die VLM-Bestenliste vergleicht, wie genau diese Modelle Objekte in realen Datensätzen erkennen, indem sie die Boxen jedes Modells nach ihrer Ausgabereihenfolge bewertet.

Strenge Formate können die Genauigkeit bei Schlussfolgerungsaufgaben verringern. In Let Me Speak Freely? stellten Zhi Rui Tam und Kollegen fest, dass Formatbeschränkungen die Schlussfolgerungsfähigkeit von LLMs erheblich beeinträchtigen. Strengere Einschränkungen führten zu stärkeren Einbußen. OpenAIs API erzeugt Schlüssel in der Reihenfolge, in der sie im Schema stehen. Eine gängige Abhilfe ist daher ein Freitextfeld für die Überlegungen vor dem Antwortfeld, damit das Modell seine Gedankenkette formuliert, bevor es sich auf die beschränkte Antwort festlegt.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens