Fusione multi-modello - Documentazione di Entity Enricher

Fusione multi-modello

Quando si esegue lo stesso arricchimento su più modelli di IA, Entity Enricher può fondere i risultati in un unico output ad alta affidabilità. La fusione rileva i conflitti tra gli output dei modelli e li risolve con regole deterministiche o mediante arbitrato basato su LLM.

Pipeline di fusione

Output del modello
Risultato di Claude
Risultato di GPT-4
Risultato Gemini
Rilevamento dei conflitti
Confronta ogni campo
tra tutti i modelli
Risoluzione
Unione basata su regole
o
Arbitraggio LLM
Risultato unito
Un unico output con
audit trail dei conflitti

Passaggio 1: rilevamento dei conflitti

Il rilevatore di conflitti confronta ogni campo tra tutti gli output dei modelli. I campi su cui tutti i modelli concordano vengono lasciati invariati. I campi su cui i modelli non concordano vengono segnalati come conflitti da risolvere.

Regole di confronto per tipo di campo
TipoMetodo di confrontoSignificato dell'accordo
ScalarCorrispondenza esatta normalizzata (senza spazi, in minuscolo, arrotondata)Tutti i valori sono uguali dopo la normalizzazione
MultilinguaConfronto per linguaOgni chiave di lingua corrisponde tra i model
ArrayConfronto tra insiemi (indipendente dall'ordine)Stessi elementi indipendentemente dall'ordine
OggettoRicorsivo per proprietàTutte le proprietà nidificate corrispondono
NullNull equivale a mancanteConsiderati equivalenti
Esempio: enrichment di «Sanofi» con 2 modelli
Output di Claude
revenue: 42.2
gmp_status: true
description: “Sanofi is a global...”
Output di GPT-4
revenue: 44.1
gmp_status: true
description: “Sanofi SA is a...”
Risultato: gmp_status = concordato | revenue = conflitto (42.2 vs 44.1) | description = conflitto (testo diverso)

Passaggio 2: risoluzione dei conflitti

I conflitti vengono risolti con uno di due metodi, a seconda che sia stato selezionato un model di arbitration nella barra laterale.

Opzione A

Unione basata su regole

Le regole deterministiche vengono applicate in base al tipo di dati di ciascun campo. Non sono necessarie ulteriori chiamate LLM: la risoluzione è immediata e gratuita.

Tipo di campoRegolaMotivazione
StringaVoto a maggioranza; in caso di parità vince il valore più lungoIn genere, più dettagli sono meglio
NumeroValore medianoRobusto agli outlier
BooleanoMaggioranza; in caso di parità vince trueImpostazione predefinita conservativa
MultilinguaVoto a maggioranza per linguaOgni lingua risolta in modo indipendente
ArrayUnione di tutti gli elementiMantieni tutte le informazioni
OggettoRicorsivo per campoApplica le regole ai campi nidificati
Null vs ValorePreferisci valore non nulloUn dato mancante è peggiore di qualsiasi valore

Spareggio: In caso di parità di voti, prevale il valore proveniente dal modello con prezzo più alto (come indicatore di capacità), seguito dall'ordinamento alfabetico del nome del modello.

Opzione B

Arbitraggio LLM

Quando si seleziona un modello di arbitrato nella barra laterale, i conflitti vengono inviati a un LLM per una risoluzione intelligente. L'arbitro riceve il contesto dell'entità, le descrizioni dei campi dello schema e tutti i valori in conflitto, quindi prende decisioni motivate.

Che cosa restituisce l'arbitro
Valore sceltoIl valore che considera più accurato
Modello di origineDa quale modello proviene il valore scelto
RagionamentoPerché ha scelto quel valore rispetto alle alternative
AttendibilitàQuanto è sicuro della decisione (alta, media, bassa)

Fallback: se il modello di arbitraggio fallisce (timeout, errore), il sistema ricorre automaticamente all'unione basata su regole in modo da ottenere sempre un risultato.

Passaggio 3: il risultato unito

Dopo la risoluzione dei conflitti, il sistema crea un unico risultato unito e lo memorizza come record di “arbitrato” nel database. Ogni risultato unito include una traccia di controllo che consente di ricostruire come è stato risolto ciascun conflitto.

Registro di audit (metadati di arbitrato)

Ogni risultato unito include metadati che documentano il processo di fusion:

“method”: “rule_based” | “llm”
“source_record_ids”: [“uuid-1”, “uuid-2”]
“total_fields”: 23
“agreed_fields”: 18
“conflicted_fields”: 5
“decisions”: [{ path, chosen_value, rule_used, ... }]

Che cosa si vede nell'interfaccia

Al termine della fusione, la scheda “Unito” nel pannello dei risultati mostra:

1
Intestazione di riepilogo
Mostra il metodo di risoluzione (basato su regole o LLM) e un conteggio come “18 concordati / 5 risolti / 23 campi totali”.
2
JSON unito
L'output strutturato completo che combina i valori concordati e i conflitti risolti in un unico documento JSON.
3
Report dei conflitti
Schede espandibili per ogni conflitto che mostrano: il percorso del campo, il badge del metodo di risoluzione (Voto di maggioranza, Mediana, Unione, ecc.), tutti i valori del modello con quello scelto evidenziato e il testo di ragionamento se è stato usato l'arbitraggio LLM.

Fusione automatica nell'elaborazione in batch

Nell'arricchimento in batch, la fusione avviene automaticamente quando si selezionano due o più modelli. Non è necessario fare clic manualmente su “Unisci risultati”: non appena tutti i modelli hanno completato l'elaborazione di un'entità, la fusione viene eseguita e il risultato unito appare accanto agli output dei singoli modelli.

Fusione in streaming: Durante l'arricchimento sia di singole entità che in batch, l'avanzamento della fusione viene trasmesso in streaming tramite Server-Sent Events. Vengono visualizzati in tempo reale gli eventi fusion_started, conflicts_detected e fusion_completed.

Basato su regole vs arbitraggio LLM: quando usare ciascuno

Basato su regole (gratuito, istantaneo)
  • Dati prevalentemente fattuali/numerici in cui la logica di voto funziona bene
  • Volumi elevati o elaborazione in batch in cui il costo è rilevante
  • Schema semplici con pochi conflitti previsti
  • Quando si desiderano risultati deterministici e riproducibili
Arbitraggio LLM (costo aggiuntivo)
  • Schemi complessi in cui il contesto è determinante per la risoluzione
  • Dati testuali (descrizioni, riepiloghi) dove il voto non è sufficiente
  • Quando servono decisioni spiegabili con relativo ragionamento
  • Enrichment critici in cui l'accuratezza vale il costo aggiuntivo