JSON-zu-JSON-Schema-Generator
Leitet ein JSON Schema aus einem Beispiel ab, mit Option für den OpenAI-Strict-Mode bei Structured Outputs und Function Calling.
Eingabe
Ergebnis
Das Ergebnis erscheint hier.Structured Outputs und Function Calling verlangen beide ein JSON Schema, und für eine verschachtelte API-Antwort eines von Hand zu schreiben ist mühsam und fehleranfällig. Fügen Sie ein echtes Beispiel ein – idealerweise ein Array mit mehreren Datensätzen – und Sie erhalten ein Schema zurück. Die Ableitung führt alle Beispiele zusammen, die sie sieht: Ein Schlüssel, der in einem Datensatz fehlt, wird optional, ein Wert, der manchmal null ist, wird nullable, und ein Feld, das immer ein ISO-Zeitstempel ist, erhält format date-time. Der Strict-Mode schreibt das Ergebnis in die Teilmenge um, die OpenAIs Structured Outputs akzeptiert.
So arbeitet es
- Die Ableitung ist eigener Code dieses Tools statt quicktype, dessen Schemas verschachtelte Objekte hinter $ref-Definitionen verstecken, die nach geratenen Typen benannt sind.
- Wählen Sie 2020-12 oder draft-07 für die $schema-Zeile; Objekte werden inline geschrieben, daher ist der Rest des Schemas in beiden Fällen gleich.
- Der Strict-Mode führt jede Eigenschaft als required, macht die optionalen nullable, schließt jedes Objekt mit additionalProperties false, legt eine Wurzel, die kein Objekt ist, unter einen items-Schlüssel und entfernt Formate, die OpenAI nicht dokumentiert, etwa uri.
Wohin Ihre Daten gehen
Nirgendwohin. Dieses Werkzeug läuft vollständig in Ihrem Browser: Der eingefügte Text wird von der Seite verarbeitet und weder an einen Server übertragen noch protokolliert.
Dieses Tool ist kostenlos und braucht kein Konto. Die Ergebnisse existieren nur in Ihrer geöffneten Seite und werden nirgends gespeichert.
Was es kostet
Dieses Werkzeug ist kostenlos, ohne Anmeldung und ohne Punkte.
Häufige Fragen
- Warum ist ein Feld optional, obwohl es in fast jedem Datensatz vorkommt?
- Weil es in mindestens einem Beispiel fehlte, und das Schema beschreibt, was Ihre Daten tatsächlich enthalten. Ist das Feld wirklich Pflicht, liegt der Fehler in dem Beispiel, dem es fehlt. Entfernen Sie diesen Datensatz aus der Eingabe oder tragen Sie den Schlüssel danach von Hand in die required-Liste ein.
- Was verlangt der Strict-Mode von OpenAI?
- Jede Eigenschaft muss in required stehen, jedes Objekt muss additionalProperties auf false setzen, und die Wurzel muss ein Objekt sein, kein Array und kein anyOf. Optionale Werte werden als Typ ausgedrückt, der null einschließt. Nur einige String-Formate werden unterstützt – date-time, date, time, duration, email, hostname, ipv4, ipv6 und uuid –, deshalb entfernt dieses Tool dort uri.
- Warum beschwert sich der Strict-Mode über ein leeres Array?
- Ein leeres Array verrät der Ableitung nichts über seine Elemente, und der Strict-Mode kann kein items-Schema akzeptieren, das alles erlaubt. Legen Sie in Ihrem Beispiel ein realistisches Element in dieses Array und führen Sie es erneut aus. Außerhalb des Strict-Mode wird das Array stattdessen mit einem offenen items-Schema geschrieben.
Das Open Source dahinter
Dieses Werkzeug ist eine eigenständige Implementierung ohne fremde Bibliothek. glideapps/quicktype (Apache-2.0) erledigt dieselbe Aufgabe als Bibliothek — wer sie im eigenen Programm braucht, fängt dort an, statt eine Webseite aufzurufen.
glideapps/quicktypeAuch bekannt als
- json schema generator
- json in json schema umwandeln
- json schema aus json erstellen
- structured outputs schema
- function calling schema
- openai strict schema