KI spielt in unseren Anwendungen eine immer größere Rolle. Sie kann komplexe JSON-Daten generieren, Informationen aus Dokumenten extrahieren oder strukturierte Antworten liefern. Doch es gibt ein Problem: KI kann Fehler machen, Felder auslassen oder sogar Informationen erfinden.
Hier kommt das JSON-Schema ins Spiel. Es dient als Rahmen, um zu überprüfen, ob die KI-Antworten streng der erwarteten Struktur folgen, und stellt so sicher, dass Ihre Daten in Ihren 4D-Anwendungen zuverlässig und nutzbar bleiben.
Warum das JSON-Schema bei der Verwendung von KI wichtig ist
Ein JSON-Schema ermöglicht Ihnen:
- die von KI erzeugten Antworten automatisch zu validieren
- Fehler, Inkonsistenzen oder fehlende Felder zu erkennen
- diese Fehler zur automatischen Korrektur an die KI zurückzusenden
- die Verwendbarkeit der Daten zu gewährleisten, selbst wenn sich das Modell weiterentwickelt oder Fehler macht
In der Praxis fungiert das Schema als Sicherheitsnetz: Sie profitieren weiterhin von der Leistungsfähigkeit der KI und behalten gleichzeitig ein vorhersehbares und kontrolliertes Format für Ihre 4D-Anwendungen bei.
Verwendung von JSON Schema mit dem 4D AI Kit
Das 4D AI Kit enthält eine sehr nützliche Funktion: die Möglichkeit, die KI aufzufordern, eine JSON-Antwort zurückzugeben, die nach einem bestimmten Schema strukturiert ist.
Dadurch können Sie genau festlegen:
- die erwarteten Felder,
- deren Typen
- und sogar bestimmte Einschränkungen (zulässige Werte, numerische Bereiche usw.).
Dieser Ansatz wird in zwei 4D-Blogbeiträgen näher erläutert: einer konzentriert sich auf strukturierte Ausgaben, die die KI ausdrücklich anweisen, ein vordefiniertes Antwortformat einzuhalten, und ein weiterer stellt den JSON Schema Draft 2020-12-Parser vor, der den neuesten Standard unterstützt und eine strengere, aussagekräftigere Validierung von KI-generiertem JSON ermöglicht.
Beispiel: Textanalyse und Entitätsextraktion
Stellen Sie sich vor, Sie verwenden eine Textanalyse-API, um Entitäten in einem Satz zu erkennen. Eine KI-Antwort könnte wie folgt aussehen:
{
"model": "gpt-text-analyzer-v2",
"input": "Steve Jobs gründete Apple in Cupertino.",
"entities": [
{ "type": "PERSON", "text": "Steve Jobs", "confidence": 0.98 },
{ "type": "ORG", "text": "Apple", "confidence": 0.95 },
{ "type": "LOCATION", "text": "Cupertino", "confidence": 0.93 }
]
}
Das Validierungs-JSON-Schema
Um sicherzustellen, dass die KI diese Struktur einhält, können Sie ein JSON-Schema definieren, das mit dem Entwurf 2020-12 kompatibel ist:
{
"$schema": "https://json-schema.org/draft/2020-12/schema#",
"title": "AI Text Analysis Response",
"type": "object",
"properties": {
"model": { "type": "string" },
"input": { "type": "string" },
"entities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": { "type": "string", "enum": ["PERSON", "ORG", "LOCATION"] },
"text": { "type": "string" },
"confidence": { "type": "number", "minimum": 0, "maximum": 1 }
},
"required": ["type", "text", "confidence"]
}
}
},
"required": ["model", "input", "entities"]
}
Dieses Schema garantiert die Struktur der von der KI zurückgegebenen Daten. JSON Schema überprüft zwar nicht die semantische Relevanz der Antworten, sorgt jedoch für einen strengen Rahmen, der es Ihren 4D-Anwendungen ermöglicht, mit zuverlässigen und verwertbaren Daten zu arbeiten.
Die Systemaufforderung: Festlegung des Verhaltens der KI
Die Systemaufforderung ist von entscheidender Bedeutung. Sie definiert die Rolle der KI und sorgt für strenge Vorgaben hinsichtlich des Ausgabeformats.
Sie sind eine KI-Textanalyse-Engine. Ihre Aufgabe ist es, den bereitgestellten Text zu analysieren und benannte Entitäten zu extrahieren. Sie müssen Folgendes identifizieren: - Personen (PERSON) - Organisationen (ORG) - Orte (LOCATION) Geben Sie das Ergebnis ausschließlich als JSON-Objekt zurück, das dem bereitgestellten JSON-Schema entspricht. Fügen Sie keine zusätzlichen Felder hinzu. Fügen Sie keine Erklärungen oder Text außerhalb des JSON hinzu. Wenn keine Entität gefunden wird, geben Sie ein leeres Array für „entities“ zurück.
Diese Aufgabenstellung:
- definiert die Aufgabe klar,
- wiederholt die Einschränkungen ausdrücklich,
- schränkt kreative Abweichungen vom Modell stark ein.
Implementierung mit dem 4D AI Kit
Sehen wir uns nun an, wie dieser Mechanismus auf der 4D-Seite mit dem 4D AI Kit implementiert wird.
Chat- und Schemakonfiguration
In diesem Beispiel werden das JSON-Schema und die Systemaufforderung in den Anwendungsressourcen gespeichert und dem Modell während des Aufrufs explizit übergeben.
// Retrieve the system prompt
var $systemPrompt:=File("/RESOURCES/prompt.txt").getText()
// Retrieve the JSON Schema to validate the AI response
var $schema:=JSON Parse(File("/RESOURCES/schema.json").getText())
// Define chat parameters
var $params:=cs.AIKit.OpenAIChatCompletionsParameters.new()
$params.model:="gpt-text-analyzer-v2"
$params.response_format:={\
type: "json_schema"; \
json_schema: {name: "analyse_schema"; schema: $schema}}
// Create AI chat helper
var $ai:=cs.AIKit.OpenAI.new($openAIKey)
var $chatHelper:=$ai.chat.create($systemPrompt; $params)
Mit dieser Konfiguration weiß die KI genau, welches Format sie erzeugen muss, was Fehler erheblich reduziert.
Aufruf der KI
Sobald das Schema und das Antwortformat konfiguriert sind, muss nur noch die KI aufgerufen und der zu analysierende Text bereitgestellt werden.
// Send the user prompt to the AI
var $userPrompt:="Steve Jobs founded Apple in Cupertino."
var $result:=$chatHelper.prompt($userPrompt)
// Convert AI response to object
var $response:=JSON Parse($result.choice.message.text)
Validierung der KI-Antwort und Fehlerbehandlung
Selbst wenn ein Schema bereitgestellt wird, ist es unerlässlich, die Antwort auf der 4D-Seite zu validieren, bevor sie verwendet wird. Die KI kann aufgrund von Abschneidungen, Generierungsfehlern oder mehrdeutigem Kontext eine ungültige Antwort erzeugen.
// Validate the JSON against the schema
var $validation:=JSON Validate($response; $schema)
// Handle validation errors
If (Not($validation.success))
// If the JSON is invalid, build an error prompt to send back to the AI
var $errorPrompt:=\
"The JSON you returned does not match the expected schema. "+\
"Here are the validation errors:\n"+\
JSON Stringify($validation.errors)+\
"\nPlease return a corrected JSON that strictly follows the schema."
// Resend the prompt (or send error prompt) to let AI correct its output
$result:=$chatHelper.prompt($userPrompt)
Else
// If the JSON is valid, continue with your processing
// e.g., save to database, display in form, or trigger further actions
End if
Dieser Mechanismus ermöglicht die Implementierung einer AI → 4D → AI-Schleife:
- Die KI generiert eine JSON-Antwort.
- 4D validiert die JSON-Antwort anhand des Schemas.
- Wird ein Fehler erkannt, sendet 4D die fehlenden oder falschen Informationen an die KI zurück.
- Die KI korrigiert die Antwort und gibt ein gültiges JSON zurück.
Diese automatische Rückkopplungsschleife stellt sicher, dass Ihre Daten zuverlässig bleiben, selbst wenn die KI Fehler macht.
Konkrete Vorteile
- Von der KI generiertes JSON, das zuverlässig und konsistent ist
- Automatische Fehlerkorrektur durch die Validierungsschleife
- Sicherheit und Kontrolle über Ihre API- und KI-Pipelines hinweg
- Daten, die stets für Ihre Formulare, Verarbeitungsprozesse oder Analysen nutzbar sind
Fazit
Die Integration von JSON Schema in das 4D AI Kit verändert die Art und Weise, wie Sie KI nutzen. Sie wechseln von einem „unvorhersehbaren KI“-Workflow zu einem vorhersehbaren, kontrollierten, robusten und automatisierten Prozess.
Durch die Kombination von Structured Outputs, JSON Schema und Validierung auf der 4D-Seite nutzen Sie die Leistungsfähigkeit von KI voll aus und stellen gleichzeitig zuverlässige, sichere und produktionsreife Daten sicher.
Dieser Ansatz geht weit über eine einfache Textanalyse hinaus. Das gleiche Muster lässt sich auf jedes Szenario anwenden, in dem KI-generierte Daten sicher in eine 4D-Anwendung integriert werden müssen.
JSON-Schema macht KI nicht „intelligent“, aber es macht sie vorhersehbar.
Für diesen Beitrag sind derzeit keine Kommentare verfügbar.