Wanneer je dezelfde verrijking over meerdere AI-modellen uitvoert, kan Entity Enricher de resultaten fuseren tot één output met hoge betrouwbaarheid. Fusie detecteert conflicten tussen model-outputs en lost ze op met deterministische regels of LLM-gestuurde arbitrage.
De conflictdetector vergelijkt elk veld over alle modeluitvoer. Velden waarover alle modellen het eens zijn, gaan ongewijzigd door. Velden waarover de modellen het oneens zijn, worden gemarkeerd als conflicten die opgelost moeten worden.
| Type | Hoe vergeleken | Overeenstemming betekent |
|---|---|---|
| Scalair | Genormaliseerde exacte overeenkomst (getrimd, kleine letters, afgerond) | Alle waarden gelijk na normalisatie |
| Meertalig | Vergelijking per taal | Elke taalsleutel komt overeen tussen modellen |
| Array | Setvergelijking (volgorde-onafhankelijk) | Dezelfde items ongeacht de volgorde |
| Object | Recursief per eigenschap | Alle geneste eigenschappen komen overeen |
| Null | Null is gelijk aan ontbrekend | Als gelijkwaardig behandeld |
Conflicten worden opgelost met een van twee methoden, afhankelijk van of je een arbitragemodel in de zijbalk hebt geselecteerd.
Deterministische regels worden toegepast op basis van het gegevenstype van elk veld. Er zijn geen extra LLM-aanroepen nodig — het oplossen gebeurt direct en gratis.
| Veldtype | Regel | Onderbouwing |
|---|---|---|
| String | Meerderheidsstem; bij gelijke stand wint de langste waarde | Meer detail is meestal beter |
| Getal | Mediaanwaarde | Bestand tegen uitschieters |
| Boolean | Meerderheid; true wint bij gelijke stand | Voorzichtige standaard |
| Meertalig | Meerderheidsstemming per taal | Elke taal afzonderlijk verwerkt |
| Array | Unie van alle items | Alle informatie behouden |
| Object | Recursief per veld | Regels op geneste velden toepassen |
| Null vs. waarde | Voorkeur voor niet-null | Ontbrekende data is erger dan welke waarde dan ook |
Tiebreaker: Bij gelijke stemmen wint de waarde van het duurdere model (als indicatie van capaciteit), gevolgd door alfabetische volgorde van de modelnaam.
Wanneer je in de zijbalk een arbitragemodel selecteert, worden conflicten naar een LLM gestuurd voor intelligente oplossing. De arbiter ontvangt de entiteitscontext, de beschrijvingen van de schemavelden en alle conflicterende waarden en neemt vervolgens onderbouwde beslissingen.
Fallback: Als het arbitragemodel faalt (timeout, fout), valt het systeem automatisch terug op een regelgebaseerde samenvoeging zodat je altijd een resultaat krijgt.
Na conflictoplossing bouwt het systeem één samengevoegd resultaat op en slaat dit op als een “arbitrage”-record in de database. Elk samengevoegd resultaat bevat een audittrail zodat je kunt nagaan hoe elk conflict is opgelost.
Elk samengevoegd resultaat bevat metadata die het fusieproces documenteert:
Nadat de fusie is voltooid, toont het tabblad “Samengevoegd” in het resultatenpaneel:
Bij batch-enrichment gebeurt fusie automatisch wanneer je twee of meer modellen selecteert. Je hoeft niet handmatig op “Resultaten samenvoegen” te klikken — zodra alle modellen voor een entity klaar zijn, wordt fusie uitgevoerd en verschijnt het samengevoegde resultaat naast de afzonderlijke modeluitvoer.
fusion_started, conflicts_detected en fusion_completed in real-time.