Vai al contenuto principale

Panoramica

L’estrazione basata su prompt consente di utilizzare istruzioni in linguaggio naturale per estrarre dati strutturati dai documenti tramite LLM. Invece di addestrare modelli di machine learning tradizionali, descrivi quali dati vuoi estrarre e come devono essere formattati, e l’LLM gestirà l’estrazione in base alle tue istruzioni. Cosa realizzerai:
  • Creare un’attività di estrazione basata su prompt
  • Configurare una connessione a un LLM
  • Scrivere prompt di estrazione efficaci
  • Definire formato e struttura dell’output
  • Applicare il livello di rigidità e le Regole di validazione
  • Testare e perfezionare l’estrazione
Tempo di completamento: 20-30 minuti Casi d’uso:
  • Estrazione delle informazioni del fornitore dalle fatture
  • Acquisizione dei dati del documento a livello di intestazione
  • Elaborazione di documenti semi-strutturati
  • Documenti con layout variabili

Prerequisiti

Prima di iniziare, assicurati di avere:
  1. Accesso ad ABBYY Vantage Advanced Designer
  2. Una connessione LLM configurata (vedi Come configurare le connessioni LLM)
  3. Un Document Skill con documenti di esempio caricati
  4. Conoscenze di base della struttura JSON
  5. Definizioni dei field per i dati che desideri estrarre
Nota: Questa guida è incentrata sull’estrazione a livello di intestazione. Le funzionalità di estrazione delle tabelle possono variare.

Comprendere l’estrazione tramite prompt

Che cos’è l’estrazione basata su prompt?

L’estrazione basata su prompt utilizza LLM per comprendere ed estrarre dati dai documenti sulla base di istruzioni in linguaggio naturale. È possibile definire:
  • Ruolo: il ruolo che l’LLM deve assumere (ad es. “modello di estrazione dati”)
  • Istruzioni: come estrarre e formattare i dati
  • Struttura di output: il formato JSON esatto per i risultati
  • Regole: linee guida per la gestione dei dati ambigui o mancanti

Vantaggi

  • Non richiede dati di training: funziona basandosi solo sul prompt engineering
  • Flessibile: è facile aggiungere o modificare field
  • Gestisce le variazioni: gli LLM possono comprendere diversi formati di documento
  • Configurazione rapida: più veloce rispetto all’addestramento dei modelli ML tradizionali
  • Linguaggio naturale: scrivi le istruzioni in inglese semplice

Limitazioni

  • Costo: Ogni estrazione utilizza chiamate all’API LLM
  • Velocità: Più lenta dell’estrazione tradizionale per documenti semplici
  • Coerenza: I risultati possono variare leggermente da un’esecuzione all’altra
  • Limiti di contesto: I documenti molto lunghi possono richiedere un trattamento specifico

Passaggio 1: Aggiungere un’attività basata su prompt

Crea una nuova attività di estrazione basata su prompt nel tuo Document skill.
  1. Apri il tuo Document skill in ABBYY Vantage Advanced Designer
  2. Nel pannello di sinistra, individua EXTRACT FROM TEXT (NLP)
  3. Trova e fai clic su Prompt-based
Selezione dell'attività basata su prompt
  1. L’attività viene visualizzata nel canvas del tuo workflow
  2. Collegala tra le attività di input e di output
Nota: Le attività basate su prompt si trovano sotto “EXTRACT FROM TEXT (NLP)” nel pannello Activities, insieme ad altri metodi di estrazione come Named Entities (NER) e Deep Learning.

Passaggio 2: Configurare la connessione LLM

Seleziona la connessione LLM che l’attività deve utilizzare.
  1. Seleziona l’attività basata su prompt nel tuo flusso di lavoro
  2. Nel pannello Activity Properties a destra, individua LLM Connection
  3. Fai clic sul menu a discesa
Configuring LLM Connection
  1. Seleziona dall’elenco la connessione LLM che hai configurato
    • Esempio: Nick-ChatGPT, Microsoft Foundry, Production GPT-4
  2. Verifica che la connessione sia selezionata
Nota: Se non vedi alcuna connessione nell’elenco, devi prima configurare una connessione LLM tramite Configuration → Connections.

Step 3: Definire i field di output

Configura i field che vuoi estrarre prima di scrivere il prompt.
  1. Nel pannello Activity Properties, individua la sezione Output
  2. Vedrai un elenco gerarchico di gruppi di field e relativi field
  3. In questo esempio estraiamo le informazioni sul Fornitore:
    • Fornitore
      • Name
      • Address
      • TaxID
      • Numero conto
      • Sort Code
      • IBAN
      • BIC_SWIFT
    • Business Unit
      • Name
      • Address
      • Data fattura
      • Numero della fattura
    • Totali
      • Importo netto
Struttura di output dei field
  1. Fai clic sul pulsante Activity Editor per iniziare a configurare il prompt.
Nota: Definisci tutti i field prima di scrivere il prompt. I nomi dei field verranno utilizzati nella struttura del prompt.

Passaggio 4: Definire il ruolo

Definisci quale ruolo deve svolgere l’LLM quando elabora i documenti.
  1. Nell’Activity Editor vedrai l’interfaccia Prompt Text
  2. Inizia con la sezione ROLE:
RUOLO

Sei un modello di estrazione dati. Estrai solo i field specificati relativi al fornitore 
da un documento. Estrai il testo del valore così com'è (non l'etichetta). Non 
dedurre né riformattare alcun dato. Ometti qualsiasi field che non sia chiaramente presente.
Prompt Text Editor Istruzioni chiave per il ruolo:
  • Sii specifico: “data extraction model” indica all’LLM il suo scopo
  • Definisci l’ambito: “vendor-related fields” limita ciò che deve essere estratto
  • Imposta le aspettative: “value text verbatim” evita qualsiasi riformattazione
  • Gestisci i dati mancanti: “Omit any field that is not clearly present”
Best practice:
  • Mantieni la definizione del ruolo chiara e concisa
  • Usa frasi all’imperativo (“Extract”, “Do not infer”)
  • Sii esplicito su cosa NON fare
  • Definisci come gestire i casi limite

Passaggio 5: Definisci il formato di output

Specifica l’esatta struttura JSON dei risultati di estrazione.
  1. Sotto la sezione ROLE, aggiungi l’intestazione OUTPUT FORMAT
  2. Definisci la struttura JSON:
OUTPUT FORMAT

Return one valid JSON object using this exact structure:

{
  "Fields": [
    { "FieldName": Vendor.Name, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.Address, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.TaxID, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.Account Number, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.Sort Code, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.IBAN, "Text": "...", "Line": <FirstLineIndex> },
    { "FieldName": Vendor.BIC_SWIFT, "Text": "...", "Line": <FirstLineIndex> }
  ]
}
JSON Output Format Componenti della struttura:
  • FieldName: Deve corrispondere esattamente alle definizioni dei tuoi field (ad es. Vendor.Name)
  • Text: Il valore estratto come string
  • Line: Indice di riga a base 0 in cui il valore appare nel documento
Note importanti:
  • Usa i nomi dei field esatti dalla tua configurazione di Output
  • Includi tutti i field anche se alcuni potrebbero essere vuoti
  • La struttura deve essere un JSON valido
  • I numeri di riga aiutano con la verifica e la risoluzione dei problemi

Passaggio 6: Aggiungi regole di estrazione specifiche per Field

Fornisci istruzioni dettagliate per l’estrazione di ogni singolo field. Sotto OUTPUT FORMAT, aggiungi regole specifiche per ciascun tipo di field:
VENDOR NAME
1) Recognize names like "ABC Corporation", "XYZ Ltd", "Acme Inc.".
2) Extract the complete company name including legal suffixes (Ltd, Inc, GmbH, etc.).
3) Vendor name typically appears near the top of the document.

VENDOR ADDRESS
1) Extract the complete address including street, city, postal code.
2) For multiline addresses, represent each new line using "\n".
3) Vendor-side only; exclude customer/buyer addresses.

NUMERO CONTO
1) Riconoscere "Account Number", "Account No", "Acct #".
2) Estrarre il formato numerico esattamente come stampato (ad es. "12-34-56" o "500 105 17").
3) Solo conti di proprietà del fornitore (ad es. sezioni "Beneficiary" o "Vendor Payment").
4) Ignorare IBAN — ha il proprio campo.

SORT CODE
1) Recognize "Sort Code", "Sort No.", "BLZ", "Bankleitzahl".
2) Extract the numeric format exactly as printed (e.g., "12-34-56" or "500 105 17").
3) Vendor-side data only; ignore payer/buyer codes.

IBAN
1) Recognize "IBAN", "International Bank Account Number".
2) Extract the full IBAN exactly as printed (include spaces).
3) Vendor-side only, typically under "Bankverbindung", "Coordonnées bancaires", "Payment Details", or "Beneficiary Bank".

BIC_SWIFT
1) Recognize "BIC", "SWIFT", or "BIC/SWIFT".
2) Extract the complete identifier (usually 8 or 11 uppercase letters/numbers).
3) Vendor-side only, near the IBAN or bank name.
4) Exclude customer/payer data.
Extraction Rules Struttura delle regole:
  • Schemi di riconoscimento: Elencare etichette alternative per ogni field
  • Specifiche di formato: Descrivere l’esatto formato da estrarre
  • Suggerimenti sulla posizione: Dove si trovano di solito i dati
  • Esclusioni: Cosa NON estrarre
Migliori pratiche:
  • Numerare le regole per maggiore chiarezza
  • Fornire più varianti di etichette
  • Specificare la titolarità del dato (lato fornitore vs. lato cliente)
  • Includere esempi di formato tra parentesi
  • Essere espliciti sui field correlati (ad es., “Ignora l’IBAN — ha il proprio field”)

Passaggio 7: Applicare le regole di rigore

Aggiungi regole di validazione per garantire la qualità e la coerenza dei dati. Alla fine del tuo prompt, aggiungi una sezione STRICTNESS:
STRICTNESS
- Never generate or infer values.
- Omit ambiguous or missing fields.
- If none of the vendor fields are found, return:
  {
    "Fields": []
  }
Regole di severità Regole di severità aggiuntive (facoltative):
REGOLE GENERALI
- Estrarre esattamente un valore per field.
- Saltare qualsiasi field che non può essere localizzato con certezza — ometterlo dall'output.
- "FieldName" deve corrispondere esattamente ai nomi indicati sopra.
- "Testo" deve essere copiato testualmente dal documento — nessuna normalizzazione o inferenza.
- Per valori su più righe (ad es., indirizzi), rappresentare ogni nuova riga utilizzando la sequenza di escape "\n" (una barra rovesciata seguita dalla lettera n).
- Non inserire tag HTML come <br> nel testo di output.
- "Line" è l'indice a base zero della prima riga contenente il valore estratto; includerlo solo se verificabile.
Perché il rigore è importante:
  • Previene le allucinazioni: gli LLM possono generare dati plausibili ma errati
  • Garantisce coerenza: regole chiare riducono la variabilità tra le diverse esecuzioni
  • Gestisce i dati mancanti: definisce cosa fare quando i field non vengono trovati
  • Mantiene l’integrità dei dati: l’estrazione letterale preserva la formattazione originale
Principi chiave del rigore:
  • Non generare mai dati che non sono presenti nel documento
  • Omettere le estrazioni incerte anziché indovinare
  • Restituire una struttura vuota se non viene trovato alcun field
  • Far corrispondere esattamente i nomi dei field
  • Preservare la formattazione originale del testo

Passaggio 8: Seleziona il formato del documento

Scegli quale rappresentazione del documento inviare al LLM.
  1. Nell’Activity Editor, individua il menu a discesa Prompt
  2. Visualizzerai le opzioni che definiscono come il documento viene fornito al LLM
Document Format Options Formati disponibili:
  • PDF: File PDF originale
    • Da usare per: Documenti in cui il layout è fondamentale
    • Considerazioni: Dimensioni del file maggiori, alcuni LLM hanno un supporto PDF limitato
  • Plain Text: Estrazione di testo senza formattazione
    • Da usare per: Documenti semplici costituiti solo da testo
    • Considerazioni: Perde tutte le informazioni di formattazione e di layout
  • Annotated Text ⭐ (Consigliato)
    • Da usare per: La maggior parte dei tipi di documento
    • Considerazioni: Preserva la struttura pur rimanendo basato su testo
    • Vantaggi: Miglior equilibrio tra struttura e prestazioni
  • Formatted Text: Testo con formattazione di base conservata
    • Da usare per: Documenti in cui una parte della formattazione è importante
    • Considerazioni: Via di mezzo tra Plain e Annotated
  1. Seleziona Annotated Text per risultati ottimali
Nota: Dalle prove effettuate è emerso che Annotated Text fornisce i risultati più coerenti e affidabili per le attività di estrazione. Preserva la struttura del documento ed è elaborato in modo efficiente dai LLM.

Passaggio 9: verifica l’estrazione

Esegui l’attività sui documenti di esempio per verificare i risultati.

Esegui l’Activity

  1. Chiudi Activity Editor
  2. Passa alla scheda All Documents
  3. Seleziona un documento di test
  4. Fai clic sul pulsante Test Activity o Run
Testing Activity
  1. Attendi che l’LLM elabori il documento
    • Tempo di elaborazione: in genere da 5 a 30 secondi, a seconda della complessità del documento
    • Vedrai un indicatore di caricamento in attesa della risposta dell’API

Verifica dei risultati

Una volta completata l’elaborazione:
  1. L’interfaccia passa alla Predictive view
  2. Esamina il pannello Output che mostra i field estratti
  3. Fai clic su ciascun field per vedere:
    • Valore estratto
    • Confidence (se fornita)
    • Area evidenziata sull’immagine del documento
Reviewing Results Cosa verificare:
  • ✅ Tutti i field previsti sono compilati
  • ✅ I valori corrispondono esattamente al documento
  • ✅ Nessun dato allucinato o inferito
  • ✅ Gestione corretta dei field multilinea
  • ✅ I field mancanti sono omessi (non compilati con dati errati)

Schemi di risultati comuni

Estrazione riuscita:
{
  "Fields": [
    { "FieldName": "Vendor.Name", "Text": "ABC Corporation Ltd", "Line": 3 },
    { "FieldName": "Vendor.Address", "Text": "123 Business Street\nLondon SW1A 1AA", "Line": 5 },
    { "FieldName": "Vendor.IBAN", "Text": "GB29 NWBK 6016 1331 9268 19", "Line": 15 }
  ]
}
Estrazione parziale (con alcuni field mancanti):
{
  "Fields": [
    { "FieldName": "Vendor.Name", "Text": "ABC Corporation Ltd", "Line": 3 }
  ]
}
Nessun Field trovato:
{
  "Fields": []
}

Passaggio 10: Affina il tuo prompt

Affina il prompt in base ai risultati dei test.

Problemi comuni e soluzioni

Problema: LLM estrae il field sbagliato
  • Soluzione: Aggiungi indicazioni di posizione più specifiche
  • Esempio: “Solo sul lato Fornitore; escludere gli indirizzi di cliente/acquirente”
Problema: La formattazione viene modificata
  • Soluzione: Enfatizza l’estrazione letterale (verbatim)
  • Esempio: “Estrai il formato numerico esattamente come stampato (ad esempio, ‘12-34-56’)”
Problema: LLM inventa dati
  • Soluzione: Rendi più rigorose le regole
  • Esempio: “Non generare o inferire mai valori. Ometti se non è presente.”
Problema: I field su più righe vengono concatenati
  • Soluzione: Specifica le sequenze di escape
  • Esempio: “Per i valori su più righe, usa \n per andare a capo”
Problema: Nomi dei field non corretti in output
  • Soluzione: Verifica che i nomi dei field corrispondano esattamente
  • Esempio: Usa Vendor.Account Number e non AccountNumber

Processo di miglioramento iterativo

  1. Esegui test su più documenti: non ottimizzare in base a un singolo esempio
  2. Individua i pattern: annota quali regole funzionano e quali richiedono un perfezionamento
  3. Aggiungi esempi specifici: includi esempi di formato tra parentesi
  4. Affina il grado di rigore: regolalo in base ai pattern di sovra- o sotto-estrazione
  5. Metti alla prova i casi limite: usa documenti con field mancanti o layout insoliti

Esempi di miglioramenti

Prima:
VENDOR NAME
1) Extract the vendor name from the document.
Dopo:
NOME FORNITORE
1) Riconoscere nomi come "ABC Corporation", "XYZ Ltd", "Acme Inc.".
2) Estrarre la ragione sociale completa includendo i suffissi legali (Ltd, Inc, GmbH, ecc.).
3) Il nome del fornitore compare generalmente nella parte superiore del documento.
4) Escludere i nomi di clienti/acquirenti - concentrarsi sull'entità che emette la fattura.

Comprendere il processo di estrazione

Come funziona l’estrazione basata su prompt

  1. Conversione del documento: Il documento viene convertito nel formato selezionato (consigliato: Annotated Text)
  2. Composizione del prompt: Il tuo ruolo, il formato di output, le regole dei field e le regole di severità vengono combinati
  3. Chiamata API: Il prompt e il documento vengono inviati al modello LLM tramite la tua connessione
  4. Elaborazione LLM: Il modello LLM legge il documento ed estrae i dati in base alle tue istruzioni
  5. Risposta JSON: Il modello LLM restituisce dati strutturati nel formato JSON specificato
  6. Mappatura dei field: Vantage mappa la risposta JSON ai field di output da te definiti
  7. Verifica: I numeri di riga e i punteggi di confidenza (se forniti) aiutano a verificare l’accuratezza

Utilizzo dei token e costi

Fattori che influenzano il costo:
  • Lunghezza del documento: i documenti più lunghi utilizzano più token
  • Complessità del prompt: prompt più dettagliati aumentano il numero di token
  • Scelta del formato: Annotated Text è in genere più efficiente del PDF
  • Numero di field: un numero maggiore di field implica prompt più lunghi
Suggerimenti per l’ottimizzazione:
  • Usa un linguaggio conciso ma chiaro nei prompt
  • Non duplicare le istruzioni
  • Rimuovi gli esempi non necessari
  • Valuta il raggruppamento dei field per dati correlati

Buone pratiche

Scrittura dei prompt

Cosa fare:
  • ✅ Usa istruzioni chiare all’imperativo (“Extract”, “Recognize”, “Omit”)
  • ✅ Fornisci più varianti di etichetta per ogni field
  • ✅ Includi esempi di formato tra parentesi
  • ✅ Specifica cosa NON estrarre (esclusioni)
  • ✅ Numera le regole per poterle richiamare facilmente
  • ✅ Usa una terminologia coerente in tutto il prompt
Cosa non fare:
  • ❌ Non usare istruzioni vaghe (“get the name”)
  • ❌ Non dare per scontato che l’LLM conosca le convenzioni specifiche del dominio
  • ❌ Non scrivere frasi eccessivamente lunghe e complesse
  • ❌ Non contraddirti in sezioni diverse
  • ❌ Non tralasciare le regole sul livello di rigidità

Definizioni dei Field

Istruzioni efficaci per i Field:
  • Iniziare con i pattern di riconoscimento (etichette alternative)
  • Specificare il formato esatto da mantenere
  • Fornire indicazioni sulla posizione (posizione tipica)
  • Definire la titolarità dei dati (fornitore vs. cliente)
  • Includere la gestione dei valori su più righe
  • Fare riferimento ai Field correlati per evitare confusione
Esempio:
IBAN
1) Riconoscere "IBAN", "International Bank Account Number".
2) Estrarre l'IBAN completo esattamente come stampato (includere gli spazi).
3) Solo lato Fornitore, tipicamente sotto "Bankverbindung", "Dettagli di pagamento".
4) NON confondere con Numero conto — l'IBAN è più lungo e alfanumerico.

Strategia di test

  1. Inizia da documenti semplici: Verifica prima l’estrazione di base
  2. Passa alle varianti: Prova layout e formati diversi
  3. Testa i casi limite: field mancanti, posizioni insolite, corrispondenze multiple
  4. Documenta i casi di errore: Conserva esempi dei casi in cui l’estrazione non riesce
  5. Itera in modo sistematico: Modifica una sola cosa alla volta

Ottimizzazione delle prestazioni

Per la velocità:
  • Mantieni i prompt sintetici
  • Usa il formato Annotated Text
  • Riduci al minimo il numero di field per attività
  • Valuta la suddivisione dei documenti complessi
Per l’accuratezza:
  • Fornisci regole dei field complete
  • Includi esempi di formattazione
  • Aggiungi regole di severità rigorose
  • Esegui test con campioni di documenti diversificati
Per i costi:
  • Ottimizza la lunghezza del prompt
  • Usa formati di documento efficienti
  • Metti in cache i risultati quando appropriato
  • Monitora l’utilizzo dei token tramite la dashboard del provider LLM

Risoluzione dei problemi

Problemi di estrazione

Problema: I field sono vuoti anche se i dati sono presenti Soluzioni:
  • Verificare che il nome del field sia scritto esattamente nello stesso modo
  • Verificare che i dati siano nel formato di documento selezionato
  • Aggiungere più varianti di etichette ai modelli di riconoscimento
  • Ridurre temporaneamente il livello di rigore per vedere se l’LLM li trova
  • Verificare se la qualità del documento influisce sull’estrazione OCR o del testo
Problema: L’LLM estrae dati del cliente invece dei dati del Fornitore Soluzioni:
  • Rafforzare le specifiche relative al Fornitore
  • Aggiungere esclusioni esplicite per i dati di cliente/acquirente
  • Fornire indicazioni di posizione (ad es. “parte superiore del documento”, “sezione emittente”)
  • Includere esempi di estrazione corretta vs. errata
Problema: I valori su più righe vengono concatenati o risultano non corretti Soluzioni:
  • Specificare in modo esplicito il formato delle sequenze di escape (\n)
  • Fornire esempi di output multilinea corretto
  • Verificare che il formato del documento conservi le interruzioni di riga
  • Aggiungere l’istruzione: “Conservare le interruzioni di riga originali usando \n
Problema: L’LLM riformatta o normalizza i dati Soluzioni:
  • Sottolineare “verbatim” e “esattamente come stampato”
  • Aggiungere una regola di rigore: “Nessuna normalizzazione o inferenza”
  • Fornire esempi specifici che mostrino la conservazione della formattazione
  • Includere esempi negativi: “Non ‘12-34-56’, mantenere ‘12 34 56‘“

Problemi di prestazioni

Problema: L’estrazione è troppo lenta Soluzioni:
  • Passare al formato Annotated Text se si utilizza un PDF
  • Semplificare il prompt senza perdere istruzioni critiche
  • Ridurre la risoluzione del documento se le immagini sono molto grandi
  • Verificare lo stato del provider LLM e i limiti di frequenza (rate limit)
  • Valutare l’uso di un modello più veloce per documenti semplici
Problema: Risultati incoerenti tra un’esecuzione e l’altra Soluzioni:
  • Impostare regole più rigorose
  • Rendere le istruzioni più specifiche e non ambigue
  • Aggiungere più esempi di formattazione
  • Ridurre la complessità del prompt che potrebbe lasciare spazio a interpretazioni
  • Testare con impostazioni di temperatura più alte (se disponibili nella connessione)
Problema: Costi API elevati Soluzioni:
  • Ottimizzare la lunghezza del prompt
  • Utilizzare Annotated Text invece di PDF
  • Elaborare i documenti in batch nelle ore di minore utilizzo
  • Valutare l’uso di modelli più piccoli/più economici per documenti semplici
  • Monitorare e impostare avvisi di budget nella dashboard del provider LLM

Tecniche avanzate

Estrazione condizionale

Puoi istruire il modello LLM a estrarre alcuni field solo quando sono soddisfatte determinate condizioni:
NUMERO CONTO (CONDIZIONALE)
1) Estrarre solo se il documento contiene dettagli di pagamento bancario.
2) Se appare "Metodo di pagamento: Assegno" o simile, omettere questo campo.
3) Riconoscere "Account Number", "Account No", "Acct #".

Supporto multilingue

L’estrazione basata su prompt funziona bene con documenti multilingue:
NOME FORNITORE (MULTILINGUA)
1) Riconoscere in inglese: "Vendor Name", "Supplier", "Seller"
2) Riconoscere in tedesco: "Verkäufer", "Lieferant", "Anbieter"
3) Riconoscere in francese: "Fournisseur", "Vendeur"
4) Estrarre la ragione sociale completa indipendentemente dalla lingua.

Regole di validazione

Aggiungi la logica di validazione ai prompt:
IBAN (WITH VALIDATION)
1) Extract the full IBAN exactly as printed.
2) Verify it starts with a 2-letter country code.
3) If format doesn't match IBAN pattern, omit the field.
4) Do not invent check digits or country codes.

Relazioni tra i Field

Specifica in che modo i field sono correlati tra loro:
ACCOUNT NUMBER vs IBAN
- Account Number: Usually shorter, numeric, domestic format
- IBAN: Alphanumeric, starts with country code (e.g., "GB29 NWBK...")
- If both are present, extract both to separate fields
- If only one is present, extract to the appropriate field
- Do not duplicate the same value in both fields

Limitazioni e considerazioni

Capacità attuali

Supportate:
  • ✅ Estrazione di field a livello di intestazione
  • ✅ Valori singoli e su più righe
  • ✅ Più field per ogni documento
  • ✅ Logica di estrazione condizionale
  • ✅ Documenti multilingue
  • ✅ Layout dei documenti variabili
Limitate o non supportate:
  • ⚠️ Estrazione di tabelle (varia in base all’implementazione)
  • ⚠️ Strutture annidate complesse
  • ⚠️ Documenti molto grandi (limiti di token)
  • ⚠️ Elaborazione in tempo reale (latenza API)
  • ⚠️ Nessuna garanzia di risultati deterministici

Quando usare l’estrazione basata su prompt

Ideale per:
  • Documenti con layout variabili
  • Documenti semi-strutturati
  • Prototipazione e test rapidi
  • Volumi di documenti da piccoli a medi
  • Quando i dati di training non sono disponibili
  • Elaborazione di documenti multilingue
Valuta alternative per:
  • Produzione ad alto volume (il machine learning tradizionale può essere più veloce)
  • Moduli altamente strutturati (estrazione basata su template)
  • Applicazioni sensibili ai costi (i metodi tradizionali possono essere più economici)
  • Applicazioni critiche per la latenza (le API LLM introducono una latenza di rete)
  • Esigenze di elaborazione offline (nessuna connessione Internet necessaria per i metodi tradizionali)

Integrazione con le Document skill

Utilizzo dei dati estratti

Una volta completata l’estrazione, i dati dei field sono disponibili all’interno del tuo Document skill:
  1. Validation Activities: Applica regole di business ai valori estratti
  2. Script Activities: Elabora o trasforma i dati estratti
  3. Export Activities: Invia i dati a sistemi esterni
  4. Review Interface: Verifica manuale dei field estratti

Uso in combinazione con altre attività

L’estrazione basata su prompt può essere utilizzata insieme ad altre attività:
Workflow Example:
1. Classification (identify document type)
2. OCR (extract text)
3. Prompt-based extraction (extract structured data)
4. Validation rules (verify data quality)
5. Script (format for export)
6. Output (deliver results)

Mapping dei Field

I field JSON estratti vengono mappati automaticamente sui field di output che hai definito:
  • "FieldName": "Vendor.Name" → Viene mappato sul field di output Vendor.Name
  • La gerarchia dei Field viene mantenuta nella struttura di output
  • I numeri di riga aiutano nella verifica e nella risoluzione dei problemi

Hai completato con successo:
  • ✅ Creato un’attività di estrazione basata su prompt
  • ✅ Configurato una connessione LLM
  • ✅ Scritto un prompt di estrazione completo con ruolo, formato e regole
  • ✅ Selezionato il formato di documento ottimale (Annotated Text)
  • ✅ Applicato regole di rigore per la qualità dei dati
  • ✅ Testato l’estrazione ed esaminato i risultati
  • ✅ Imparato le best practice per il prompt engineering
Punti chiave:
  • L’estrazione basata su prompt utilizza istruzioni in linguaggio naturale
  • Il formato Annotated Text offre i risultati migliori
  • Prompt chiari e specifici producono un’estrazione coerente
  • Le regole di rigore prevengono allucinazioni e mantengono la qualità dei dati
  • Test e perfezionamento iterativi migliorano l’accuratezza
La tua attività di estrazione basata su prompt è ora pronta per l’elaborazione dei documenti!

Passi successivi

  1. Esegui test con diversi documenti: Verifica su diversi layout e varianti
  2. Affina i tuoi prompt: Migliora continuamente in base ai risultati
  3. Monitora i costi: Tieni traccia dell’utilizzo dei token nel pannello di controllo del tuo provider LLM
  4. Ottimizza le prestazioni: Affina i prompt per velocità e precisione
  5. Esplora l’estrazione di tabelle: Sperimenta con l’estrazione delle righe articolo (se supportata)
  6. Integra con i flussi di lavoro: Combina con altre attività per un’elaborazione completa

Risorse aggiuntive

  • Documentazione di ABBYY Vantage Advanced Designer: https://docs.abbyy.com
  • Guida alla configurazione delle connessioni LLM: Come configurare le connessioni LLM
  • Best practice per il prompt engineering: consulta la documentazione del provider LLM
  • Supporto: contatta il supporto ABBYY per assistenza tecnica

Domande frequenti

D: Qual è la differenza tra l’estrazione basata su prompt e quella tradizionale?
R: L’estrazione basata su prompt utilizza istruzioni in linguaggio naturale per LLM senza dati di training. I metodi tradizionali richiedono esempi di training ma sono più veloci e più convenienti in termini di costi su larga scala.
D: Posso estrarre tabelle con attività basate su prompt?
R: L’estrazione a livello di intestazione è ben supportata. Le funzionalità di estrazione delle tabelle possono variare e richiedere strutture di prompt specifiche.
D: Perché usare Annotated Text invece del PDF?
R: Annotated Text offre il miglior equilibrio tra conservazione della struttura ed efficienza di elaborazione. Si è dimostrato il più affidabile nei test.
D: Come posso ridurre i costi dell’API?
R: Ottimizza la lunghezza del prompt, utilizza il formato Annotated Text, elabora in modo efficiente e monitora l’utilizzo dei token dal dashboard del tuo provider LLM.
D: Cosa succede se la mia connessione LLM non funziona?
R: Verifica lo stato della connessione in Configuration → Connections. Prova la connessione, controlla le credenziali e assicurati di non aver superato la quota dell’API.
D: Posso usare più connessioni LLM in una singola Skill?
R: Sì, attività diverse possono usare connessioni diverse. Questo ti consente di usare modelli differenti per diverse attività di estrazione.
D: Come gestisco i documenti in più lingue?
R: Aggiungi varianti di etichette multilingue alle regole dei field. In generale, gli LLM gestiscono bene i contenuti multilingue.
D: Qual è la dimensione massima di un documento?
R: Dipende dai limiti di token del provider LLM. I documenti molto lunghi potrebbero dover essere suddivisi o elaborati in sezioni.