Una guida passo passo su come Entity Enricher elabora una singola entità — dall'input, attraverso la classificazione e l'esecuzione parallela dei modelli, fino all'output strutturato.
Apra la pagina Workflow Editor e configuri il suo arricchimento. Uno stepper del workflow la guida attraverso le fasi della pipeline: Sample Data, Schema, Enrichment e Results — oltre a una fase Database Ready quando lo schema è collegato a un Database Sync, che conferma che le modifiche dell'esecuzione sono state messe in coda per il suo database (o spiega perché il salvataggio è stato rifiutato).
Incolla un JSON di esempio per generare automaticamente uno schema, poi esplora l'albero interattivo delle proprietà. Modifica le proprietà, aggiungi domini di competenza e contrassegna i campi come chiavi di ricerca o come conservati.
Configura le opzioni di enrichment (strategia, model, lingue, classification, oltre allo schema di risposta e agli interruttori per l'output strutturato rigoroso) e compila le chiavi di ricerca dell'entity (nome, sito web, paese, ecc.) per identificare l'entity.
Mostra l'avanzamento e i risultati in tempo reale per ogni modello. Quando si utilizzano più modelli, viene visualizzato un pulsante “Unisci risultati” per la fusione.
Alcune richieste non possono in alcun modo produrre un risultato utilizzabile, e il momento più economico per scoprirlo è prima della prima chiamata LLM. Due contratti vengono applicati fin da subito.
Uno schema dichiara ciò che il suo input deve contenere: i campi chiave che indicano quale entità sia, una chiave su ogni elemento di un array fornito e un valore per ogni campo marcato come preserve (non si può preservare ciò che non è mai stato fornito). Una richiesta a cui manchi anche solo uno di questi elementi viene rifiutata con un unico errore che elenca tutte le violazioni in una volta, oltre al contratto completo dello schema: così può correggere tutto in un solo passaggio invece di scoprire i requisiti un rifiuto alla volta. Il contratto è pubblicato su ogni schema salvato, quindi un client può verificarlo prima di inviare.
Un array per cui si forniscono gli elementi viene arricchito esattamente: il modello completa ciò che sa su ciascun elemento e non può né aggiungerne né eliminarne. Se invia cinque voci, ne riceve cinque. Un elemento che il modello non ha rivendicato viene reinserito alla lettera anziché andare perso, mentre un elemento inventato viene scartato. Gli array lasciati vuoti restano invece aperti: è il modello a scoprire nuovi fatti, ed è proprio questo lo scopo.
Se ha selezionato un modello di classificazione, viene prima eseguita una chiamata LLM rapida ed economica per verificare che l'entità corrisponda al tipo di schema. Ciò evita di sprecare token per l'arricchimento quando l'entità non corrisponde. Maggiori informazioni nella documentazione sulla classificazione.
Ogni modello selezionato elabora l'entità utilizzando la strategia indicata — oppure, per impostazione predefinita, quella scelta automaticamente in base alla struttura del suo schema, che l'esecuzione segnala all'avvio. Quando sono selezionati più modelli, questi vengono eseguiti in parallelo tra i provider (Claude e GPT-4 vengono eseguiti simultaneamente), mentre i modelli dello stesso provider vengono eseguiti in sequenza per rispettare i limiti di frequenza.
Ogni risposta dell'LLM viene validata rispetto al vostro schema in tempo reale. Quando l'output non corrisponde ai tipi o ai vincoli previsti, il sistema invia automaticamente gli errori all'LLM per la correzione.
Fino a 5 tentativi automatici per ogni chiamata LLM. Ogni tentativo include l'errore di validazione specifico, così l'LLM sa esattamente cosa correggere — e la riparazione è chirurgica: vengono richieste di nuovo solo le foglie risultate errate, non l'intera risposta.
Si noti ciò che non compare in questo elenco: un valore che il modello non è riuscito a determinare non è un errore da riprovare. Ogni campo può risultare assente e il modello dichiara ciò che non ha trovato, quindi “sconosciuto” è una risposta, non un fallimento. Se un valore mancante sia accettabile viene deciso più tardi, quando l'entità viene ammessa nel proprio database — non costringendo il modello a tirare a indovinare.
Due interruttori facoltativi chiedono al provider di vincolare l'output prima che venga restituito, così che meno risposte debbano essere corrette in partenza. Entrambi si applicano solo ai modelli che li supportano; tutto ricade comunque nel ciclo di validazione e nuovo tentativo descritto sopra.
Entity Enricher utilizza gli Server-Sent Events (SSE) per trasmettere l'avanzamento in tempo reale. Non dovete attendere il completamento di tutti i modelli — i risultati appaiono progressivamente man mano che ciascun dominio di competenza o modello termina.
Ogni model ottiene il proprio pannello dei risultati che mostra l'output JSON strutturato, i badge di avanzamento per expertise, l'utilizzo dei token, il costo e il tempo di elaborazione. Quando si utilizza la strategia multi-expertise, i badge delle expertise si aggiornano in tempo reale man mano che ciascun domain viene completato.
Quando si utilizza la strategia multi-competenza, alcune competenze possono fallire mentre altre riescono. Anziché scartare tutto, Entity Enricher restituisce l'output unito delle competenze riuscite con stato “Parziale”. È quindi possibile riprovare solo le competenze fallite senza rieseguire l'intero arricchimento.
Al termine dell'arricchimento, i risultati vengono salvati nella pagina Cronologia per riferimento futuro. Se sono stati utilizzati più modelli, è possibile unire i risultati tramite Multi-Model Fusion.