Pre-flightclassificatie - Entity Enricher-documentatie

Pre-flightclassificatie

Pre-flightclassificatie verifieert dat een entiteit overeenkomt met het verwachte schematype voordat de verrijking begint. Deze optionele stap voorkomt hallucinatie en verspilde tokens wanneer entiteiten niet overeenkomen met je schema.

Waarom classificeren vóór verrijken?

LLM's zijn happig om te helpen. Wanneer je ze vraagt een entiteit tegen een schema te verrijken, produceren ze gestructureerde output, zelfs als de entiteit helemaal niet bij het schematype past. Dit leidt tot gehallucineerde data die plausibel lijkt maar volledig onjuist is.

Het hallucinatieprobleem
Zonder classificatie

Schema: “Planet” — Entiteit: “Titan”

De LLM behandelt Titan als een planeet en verzint gegevens: omlooptijd, atmosfeersamenstelling, aantal manen — allemaal plausibel ogend maar onjuist. Titan is in werkelijkheid een maan van Saturnus.

Met classificatie

Classificatie detecteert: “niet overeenkomend — Titan is een maan, geen planeet”

De verrijkingsmodellen ontvangen deze context, stellen irrelevante velden in op null en vullen alleen eigenschappen in die echt op de entiteit van toepassing zijn.

Hoe het werkt

Classificatie draait als één enkele, snelle LLM-aanroep voordat enrichmentmodellen starten. Het gebruikt een goedkoop, snel model (zoals Claude Haiku of GPT-4o Mini) om de kosten te minimaliseren.

1
Schematype en entiteitgegevens versturen
Het classificatiemodel ontvangt de schemanaam, de beschrijving en de entiteitsgegevens (ingekort tot 3.000 tekens om de kosten laag te houden).
2
Ontvang gestructureerde classificatie
Het model retourneert een gestructureerd antwoord met een status (match, mismatch, unknown of ambiguous), een beschrijving van wat de entiteit werkelijk is, een betrouwbaarheidsniveau en een redenering.
3
Context injecteren in enrichment
Het classificatieresultaat wordt aan elke verrijkingsprompt toegevoegd als een sectie “Pre-flight Classification”. Dit geeft verrijkingsmodellen cruciale context over het entiteitstype.

Vier classificatiestatussen

Match

De entiteit komt overeen met het schematype. De verrijking gaat verder met hoge zekerheid.

Prompteffect
Bevestigt het entiteitstype en biedt aanvullende context aan de verrijkingsmodellen.
Voorbeeld
Schema "Pharmaceutical Company", Entiteit "Sanofi" — bevestigd als farmaceutisch bedrijf.
Komt niet overeen

De entiteit is van een ander type dan het schema verwacht. De classificatie legt uit wat de entiteit werkelijk is.

Prompteffect
Waarschuwt enrichment-models dat de entity niet overeenkomt. Instrueert ze om null te gebruiken voor irrelevante velden.
Voorbeeld
Schema "Planet", Entiteit "Titan" — geïdentificeerd als een maan van Saturnus, niet als een planeet.
Onbekend

De entiteit kan niet met zekerheid worden geïdentificeerd. De LLM heeft niet genoeg informatie om deze te classificeren.

Prompteffect
Instrueert enrichment-modellen om null te gebruiken bij twijfel in plaats van te gokken.
Voorbeeld
Schema "Pharmaceutical Company", Entiteit "XYZ Corp" — onvoldoende informatie om het entiteitstype te bepalen.
Dubbelzinnig

Er bestaan meerdere geldige interpretaties. De classification somt de alternatieven op.

Prompteffect
Somt de mogelijke interpretaties op en vraagt enrichment-modellen om de meest waarschijnlijke te kiezen.
Voorbeeld
Schema "Company", Entiteit "Mercury" — kan de planeet, het element of Mercury Insurance zijn.

Sleuteleigenschappen

Niet-blokkerend

Classificatie is puur adviserend. Als de classificatie-aanroep om welke reden dan ook mislukt (modelfout, time-out, ratelimiet), verloopt de enrichment normaal verder zonder classificatiecontext. Zo voorkomt de optionele classificatiestap nooit dat een enrichment wordt voltooid.

Kostenefficiënt

Classificatie is ontworpen om te draaien op snelle, goedkope modellen. Het stuurt een minimale payload (schemanaam, beschrijving en ingekorte entiteitgegevens) en verwacht een kleine gestructureerde respons. De typische kosten zijn een fractie van de enrichment zelf — ruimschoots de moeite waard voor de verbeterde nauwkeurigheid.

Realtime feedback

De UI toont de voortgang van de classification in realtime via Server-Sent Events. Een classification_started-event wordt geactiveerd wanneer de controle begint, gevolgd door classification_completed met de status, betrouwbaarheid en entity-beschrijving. Het resultaat verschijnt als een banner boven de modelresultaten.

Annuleerbaar

Als je de enrichment annuleert tijdens de classificatiefase, stopt de taak onmiddellijk zonder enrichment-modellen te starten. Er worden geen onnodige tokens verbruikt.

Wanneer classificatie inschakelen

Aanbevolen
  • Schema's met een nauw entiteitstype (bijv. “Pharmaceutical Company”)
  • Invoergegevens die gemengde entity-typen kunnen bevatten
  • Batchverrijking met entiteiten uit uiteenlopende bronnen
  • Wanneer je dure verrijkingsmodellen gebruikt en verspilling wilt voorkomen
Niet nodig
  • Generieke schema's die elke entiteit accepteren (bijv. “Organisatie”)
  • Samengestelde invoergegevens waarbij jij het entiteitstype bepaalt
  • Snelle iteraties waarbij snelheid belangrijker is dan nauwkeurigheid
  • Schema's zonder een duidelijke definitie van het entiteitstype

Zo schakel je het in

In de zijbalk van de Workflow Editor of Batch Enrichment vind je het dropdownmenu “Classificatie”. Selecteer een snel, goedkoop model (Claude Haiku, GPT-4o Mini of vergelijkbaar). De classificatie wordt automatisch uitgevoerd voordat de verrijking voor elke entiteit begint.

Bij gebruik van de REST API voeg je het veld classification_model toe aan je verrijkingsverzoek met de samengestelde sleutel van het model (bijv. anthropic::claude-haiku-4-5).

Elke controle wordt als een eigen record bewaard in Geschiedenis onder het type Classificatie, zodat je altijd kunt zien waarom een run een waarschuwing kreeg.

Niet te verwarren met de database-model-classificatie, die alleen het woord deelt en verder niets: die draait wanneer een schema gekoppeld is aan een database sync en stelt voor elke eigenschap de databasesleutel, het SQL-type en de indexintentie voor — een zoekkolom die op tekstfragment matcht, de ene helft van een coördinaten- of intervalpaar dat één ruimtelijke index of range-index wordt, of een query-vormige index: een geordende lijst van de velden van een object, gevormd naar de lijstschermquery die hij bedient, uitgeleverd als één multi-kolomindex. Hij vraagt niets over je entiteit en verschijnt in de geschiedenis als DB-classificatie.