Strukturierte Ausgabe von LLMs: JSON Schema Erklärt
Wenn Sie ein Modell um eine Antwort in JSON bitten, funktioniert json.loads() meistens problemlos. Die Ausfälle sind die, die Sie eine Debugging-Sitzung kosten: ein einzeiliger Kommentar innerhalb des Objekts, ein Markdown-Code-Fence darum, ein Schlüssel als userEmail geschrieben, wo Ihr Code user_email erwartet. Ein strikterer Prompt (“antworte NUR mit dem JSON-Objekt, kein weiterer Text”) macht diese Fälle seltener. Unmöglich macht er sie nicht, denn das Modell kann die Anweisung trotzdem ignorieren. Strukturierte Ausgabe macht diese Anweisung überflüssig: Sie übergeben der API ein JSON Schema, und das schränkt das Token-Sampling des Modells selbst so ein, dass die Antwort dazu passen muss. ...