Lorsque vous exécutez le même enrichissement sur plusieurs modèles d'IA, Entity Enricher peut fusionner les résultats en une sortie unique à haut niveau de confiance. La fusion détecte les conflits entre les sorties des modèles et les résout à l'aide de règles déterministes ou d'un arbitrage assisté par LLM.
Le détecteur de conflits compare chaque champ entre toutes les sorties des modèles. Les champs sur lesquels tous les modèles s'accordent passent tels quels. Les champs sur lesquels les modèles divergent sont signalés comme des conflits à résoudre.
| Type | Méthode de comparaison | Signification de l'accord |
|---|---|---|
| Scalaire | Correspondance exacte normalisée (espaces supprimés, minuscules, arrondi) | Toutes les valeurs sont égales après normalisation |
| Multilingue | Comparaison par langue | Chaque clé de langue correspond entre les modèles |
| Tableau | Comparaison d'ensembles (indépendante de l'ordre) | Mêmes éléments quel que soit l'ordre |
| Objet | Récursif par propriété | Toutes les propriétés imbriquées correspondent |
| Null | Null équivaut à absent | Traités comme équivalents |
Les conflits sont résolus selon l'une des deux méthodes, selon que vous avez sélectionné ou non un modèle d'arbitrage dans la barre latérale.
Des règles déterministes sont appliquées selon le type de données de chaque champ. Aucun appel LLM supplémentaire n'est nécessaire — la résolution est instantanée et gratuite.
| Type de champ | Règle | Justification |
|---|---|---|
| Chaîne | Vote majoritaire ; en cas d'égalité, la valeur la plus longue l'emporte | Plus de détails, c'est généralement mieux |
| Nombre | Valeur médiane | Robuste aux valeurs aberrantes |
| Booléen | Majorité ; en cas d'égalité, true l'emporte | Valeur par défaut prudente |
| Multilingue | Vote majoritaire par langue | Chaque langue est résolue indépendamment |
| Tableau | Union de tous les éléments | Conserver toutes les informations |
| Objet | Récursif par champ | Appliquer les règles aux champs imbriqués |
| Null vs valeur | Préférer les valeurs non nulles | Une donnée manquante est pire que n'importe quelle valeur |
Départage : en cas d'égalité des votes, la valeur du modèle le plus cher l'emporte (comme indicateur de capacité), puis l'ordre alphabétique des noms de modèles s'applique.
Lorsque vous sélectionnez un modèle d'arbitrage dans la barre latérale, les conflits sont envoyés à un LLM pour une résolution intelligente. L'arbitre reçoit le contexte de l'entité, les descriptions des champs du schéma et toutes les valeurs en conflit, puis prend des décisions motivées.
Repli : si le modèle d'arbitrage échoue (délai dépassé, erreur), le système bascule automatiquement vers la fusion basée sur des règles afin que vous obteniez toujours un résultat.
Après la résolution des conflits, le système construit un résultat fusionné unique et le stocke comme enregistrement d'« arbitrage » dans la base de données. Chaque résultat fusionné inclut une piste d'audit qui vous permet de retracer comment chaque conflit a été résolu.
Chaque résultat fusionné inclut des métadonnées qui documentent le processus de fusion :
Une fois la fusion terminée, l'onglet « Fusionné » du panneau de résultats affiche :
Dans l'enrichissement par traitement par lot, la fusion s'effectue automatiquement dès que vous sélectionnez deux modèles ou plus. Vous n'avez pas besoin de cliquer manuellement sur « Fusionner les résultats » — dès que tous les modèles ont terminé pour une entité, la fusion s'exécute et le résultat fusionné apparaît aux côtés des sorties de chaque modèle.
fusion_started, conflicts_detected et fusion_completed en temps réel.