Validierungsregeln – Entity Enricher Dokumentation

Validierungsregeln

Acht Validierungsregeln stellen die Schema-Qualität sicher. Wenn während der KI-Schema-Generierung eine Regel fehlschlägt, wird der Fehler zur automatischen Selbstkorrektur an die KI zurückgesendet.

Wie die Selbstkorrektur funktioniert

Nachdem die KI ein Schema generiert hat, durchläuft es alle 8 Validierungsregeln. Schlägt eine Regel fehl, werden die konkreten Fehlermeldungen zusammengestellt und als Feedback an die KI zurückgesendet. Die KI erstellt dann ein korrigiertes Schema, das erneut validiert wird. Diese Schleife wird bis zu insgesamt 6 Mal ausgeführt (1 Erstversuch + 5 Wiederholungen).

Korrekturablauf

Die KI generiertSchema mit Eigenschaften, Typen, Expertise und Beschreibungen
Validator-Prüfungen8 Regeln werden nacheinander angewendet, alle Fehler werden gesammelt
Bei FehlernZurückgesendete Fehlermeldungen: „Beheben Sie diese Probleme: [revenue: Typkonflikt...]“
KI korrigiertErzeugt ein aktualisiertes Schema, das die gemeldeten Fehler behebt
WiederholenBis alle Regeln bestehen oder die maximale Anzahl an Versuchen erreicht ist

In der Praxis bestehen die meisten Schemas beim ersten Versuch. Die Selbstkorrekturschleife ist ein Sicherheitsnetz, das Randfälle abfängt, in denen die KI Typfehler macht oder ein Feld vergisst.

Regeln für Generierung vs. Bearbeitung

Nicht alle Regeln gelten sowohl für die Schema-Generierung als auch für die KI-Bearbeitung. Regeln, die mit den Eingabedaten abgleichen, werden während der Bearbeitung übersprungen, da Sie absichtlich Felder hinzufügen oder entfernen können:

GeltungsbereichAngewendete RegelnWarum
GenerierungAlle 8 RegelnEingabedaten stehen zum Vergleich zur Verfügung
KI-BearbeitungNur Regeln 2, 3, 4, 5Keine Eingabedaten; Benutzer ändert die Struktur möglicherweise absichtlich

Die 8 Regeln

Regel 1

Anzahl der Expertisebereiche

Geltungsbereich: Nur Generierung

Die Anzahl der Fachbereiche darf das anhand Ihrer Eigenschaftsanzahl berechnete Maximum nicht überschreiten. Dies verhindert, dass die KI für kleine Schemas zu viele feingliedrige Bereiche erstellt.

Beispielfehler: Too many expertise domains: 6 defined, maximum is 3

Das Maximum wird als floor(property_count / 6) berechnet, mit einem Minimum von 1. Ein Schema mit 12 Eigenschaften erlaubt bis zu 2 Fachbereiche.

Regel 2

Mindestens eine Eigenschaft

Geltungsbereich: Beide

Jedes Schema muss mindestens eine Eigenschaft definieren. Ein leeres Schema kann nicht für die Anreicherung verwendet werden.

Beispielfehler: Schema must have at least one property

Dies erkennt Fälle, in denen die KI eine gültige JSON-Struktur erzeugt, aber vergisst, tatsächliche Felder einzuschließen.

Regel 3

Gültige JSON-Schema-Typen

Geltungsbereich: Beide

Jeder Eigenschaftstyp muss einer der Standard-JSON-Schema-Typen sein: string, number, integer, boolean, array, object oder null.

Beispielfehler: revenue: invalid type 'float'

Die KI erfindet manchmal Typen wie „float“, „decimal“ oder „date“. Diese Regel erkennt sie und fordert eine Korrektur zu einem gültigen Typ an.

Regel 4

$ref-Ziele vorhanden

Geltungsbereich: Beide

Alle $ref-Referenzen müssen auf Entitäten verweisen, die im $defs-Abschnitt des Schemas definiert sind. Verwaiste Referenzen unterbrechen die Anreicherungs-Pipeline.

Beispielfehler: manufacturer: $ref '#/$defs/Company' references undefined definition

Wenn die KI eine Referenz wie #/$defs/Company erstellt, muss im $defs-Block eine passende Company-Definition vorhanden sein.

Regel 5

Expertise-Schlüssel vorhanden

Geltungsbereich: Beide

Der Expertise-Wert jeder Eigenschaft muss einem der definierten Expertisebereiche entsprechen. Das verhindert Tippfehler und Inkonsistenzen.

Beispielfehler: revenue: expertise 'finance' not in defined domains: ['financial_analyst']

Die KI verwendet möglicherweise „finance“ statt des definierten Schlüssels „financial_analyst“. Diese Regel erkennt die Abweichung, damit die KI sie korrigieren kann.

Regel 6

Expertise erforderlich

Geltungsbereich: Nur Generierung

Nicht-Objekt- und nicht bewahrte Eigenschaften müssen einer Expertise Domain zugewiesen sein. So wird sichergestellt, dass jedes anreicherbare Feld von einer spezialisierten Domain bearbeitet wird.

Beispielfehler: revenue: expertise is required for non-object types

Objekttypen sind ausgenommen, da ihre untergeordneten Eigenschaften ihre eigene Expertise-Domäne tragen. Erhaltene Felder sind ausgenommen, da sie unverändert durchgereicht werden.

Regel 7

Typ entspricht den Eingabedaten

Geltungsbereich: Nur Generierung

Der Schematyp jeder Property muss dem tatsächlichen Python-Typ des entsprechenden Werts in Ihren Eingabedaten entsprechen.

Beispielfehler: revenue: type mismatch - input is number but schema says 'string'

Wenn Ihre Eingabe "revenue": 42.5 enthält, muss das Schema den Typ "number" oder "integer" verwenden, nicht "string". Der Validator ist flexibel: Er akzeptiert "number" für Ganzzahlen und umgekehrt.

Regel 8

Alle Eingabeeigenschaften vorhanden

Geltungsbereich: Nur Generierung

Jeder Schlüssel in Ihren Eingabedaten muss als Eigenschaft im generierten Schema erscheinen. Dies verhindert, dass die KI stillschweigend Felder verwirft.

Beispielfehler: Missing property from input: 'headquarters'

Wenn Ihr Eingabe-JSON einen Schlüssel "headquarters" enthält, muss das generierte Schema ihn einschließen. So wird eine vollständige Abdeckung Ihrer Daten sichergestellt.

Typinferenz

Regel 7 (Typabgleich) verwendet automatische Typinferenz, um Ihre Eingabewerte mit den im Schema deklarierten Typen zu vergleichen. Die Inferenz ist flexibel, um Fehlalarme zu vermeiden:

EingabewertAbgeleiteter TypAkzeptiert auch
true / falseboolean(nur Boolean)
42integernumber
3.14numberinteger
"hello"string(nur String)
[1, 2, 3]array(nur Array)
{"key": "val"}object(nur Objekt)

Hinweis: Booleans werden vor Integers geprüft, da Boolean in manchen Sprachen ein Untertyp von Integer ist. Diese Reihenfolge verhindert, dass true als Integer interpretiert wird.

Nächste Schritte