Vai al contenuto principale

Panoramica

L’estrazione basata su prompt consente di utilizzare istruzioni in linguaggio naturale per estrarre dati strutturati dai documenti utilizzando LLM. Invece di addestrare modelli di machine learning tradizionali, descrivi quali dati vuoi estrarre e come dovrebbero essere formattati, e l’LLM si occupa dell’estrazione in base alle tue istruzioni. Cosa imparerai a fare:
  • Creare un’attività di estrazione basata su prompt.
  • Configurare una connessione LLM.
  • Scrivere prompt di estrazione efficaci.
  • Definire formato e struttura dell’output.
  • Impostare il livello di rigidità e le Regole di validazione.
  • Testare e perfezionare l’estrazione.
Tempo necessario: 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 disporre di:
  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. Una conoscenza di base della struttura JSON.
  5. Definizioni dei field per i dati che vuoi estrarre.
Nota: Questa guida è incentrata sull’estrazione a livello di intestazione. Le funzionalità di estrazione delle tabelle possono variare.

Introduzione all’estrazione basata su prompt

Che cos’è l’estrazione basata su prompt?

L’estrazione basata su prompt utilizza modelli LLM per comprendere ed estrarre dati dai documenti sulla base di istruzioni in linguaggio naturale. Si definiscono:
  • Ruolo: Il ruolo che il modello LLM deve assumere (ad es. “modello di estrazione dati”).
  • Istruzioni: Come estrarre e formattare i dati.
  • Struttura di output: L’esatto formato JSON dei risultati.
  • Regole: Linee guida per gestire dati ambigui o mancanti.

Vantaggi

  • Nessun dato di training richiesto: funziona con il solo prompt engineering.
  • Flessibile: facile aggiungere o modificare i field.
  • Gestisce le variazioni: gli LLM possono comprendere diversi formati di documento.
  • Configurazione rapida: più veloce dell’addestramento dei modelli di ML tradizionali.
  • Linguaggio naturale: scrivi le istruzioni in inglese semplice.

Limitazioni

  • Costo: Ogni estrazione utilizza chiamate all’API LLM.
  • Velocità: Più lenta rispetto all’estrazione tradizionale per documenti semplici.
  • Coerenza: I risultati possono variare leggermente tra un’esecuzione e l’altra.
  • Limiti di contesto: I documenti molto lunghi potrebbero richiedere una gestione particolare.

Passaggio 1: Aggiungi 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 di un'attività basata su prompt
  1. L’attività viene aggiunta al canvas del tuo flusso di lavoro.
  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.

Step 2: Configurare la connessione LLM

Seleziona quale connessione LLM deve utilizzare l’attività.
  1. Seleziona nel tuo flusso di lavoro l’attività basata su prompt.
  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 desideri 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 di singoli field.
  3. In questo esempio, estraiamo le informazioni sul fornitore:
    • Fornitore
      • Nome
      • Indirizzo
      • TaxID
      • Numero conto
      • Sort Code
      • IBAN
      • BIC_SWIFT
    • Unità aziendale
      • Nome
      • Indirizzo
      • Data fattura
      • Numero della fattura
    • Totali
      • Importo netto
Struttura dei field di output
  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 usati come riferimento nella struttura del prompt.

Passaggio 4: Scrivere la Definizione del Ruolo

Definisci quale ruolo deve svolgere l’LLM durante l’elaborazione dei documenti.
  1. Nell’Activity Editor visualizzerai 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.
Editor del testo del prompt Istruzioni principali per il ruolo:
  • Sii specifico: “data extraction model” indica all’LLM il suo scopo
  • Definisci l’ambito: “vendor-related fields” limita cosa estrarre
  • Imposta le aspettative: “value text verbatim” evita la riformattazione
  • Gestisci i dati mancanti: “Omit any field che non sia chiaramente presente”
Best practice:
  • Mantieni il ruolo chiaro e conciso
  • Usa frasi imperative (“Extract”, “Do not infer”)
  • Sii esplicito su cosa NON fare
  • Definisci come gestire i casi limite

Passaggio 5: Definire il formato di output

Specificare l’esatta struttura JSON per i risultati dell’estrazione.
  1. Sotto la sezione ROLE, aggiungere l’intestazione OUTPUT FORMAT.
  2. Definire 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> }
  ]
}
Formato di output JSON 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 partire da 0) in cui il valore compare nel documento.
Note importanti:
  • Utilizza i nomi dei field esattamente come nella configurazione di output.
  • Includi tutti i field anche se alcuni possono essere vuoti.
  • La struttura deve essere un JSON valido.
  • I numeri di riga aiutano nella verifica e nella risoluzione dei problemi.

Fase 6: Aggiungi regole di estrazione specifiche per i Field

Fornisci istruzioni dettagliate per l’estrazione di ciascun field. Sotto OUTPUT FORMAT, aggiungi regole specifiche per ciascun tipo di field:
NOME FORNITORE
1) Riconoscere nomi come "ABC Corporation", "XYZ Ltd", "Acme Inc.".
2) Estrarre il nome completo dell'azienda inclusi i suffissi legali (Ltd, Inc, GmbH, ecc.).
3) Il nome del fornitore appare tipicamente nella parte superiore del documento.

INDIRIZZO FORNITORE
1) Estrarre l'indirizzo completo inclusi via, città, codice postale.
2) Per indirizzi su più righe, rappresentare ogni nuova riga usando "\n".
3) Solo lato fornitore; escludere indirizzi cliente/acquirente.

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.

CODICE DI ORDINAMENTO
1) Riconoscere "Sort Code", "Sort No.", "BLZ", "Bankleitzahl".
2) Estrarre il formato numerico esattamente come stampato (ad es. "12-34-56" o "500 105 17").
3) Solo dati lato fornitore; ignorare codici pagatore/acquirente.

IBAN
1) Riconoscere "IBAN", "International Bank Account Number".
2) Estrarre l'IBAN completo esattamente come stampato (includere spazi).
3) Solo lato fornitore, tipicamente sotto "Bankverbindung", "Coordonnées bancaires", "Payment Details" o "Beneficiary Bank".

BIC_SWIFT
1) Riconoscere "BIC", "SWIFT" o "BIC/SWIFT".
2) Estrarre l'identificativo completo (solitamente 8 o 11 lettere/numeri maiuscoli).
3) Solo lato fornitore, vicino all'IBAN o al nome della banca.
4) Escludere dati cliente/pagatore.
Extraction Rules Struttura delle regole:
  • Modelli di riconoscimento: Elenca etichette alternative per ogni field.
  • Specifiche di formato: Descrivi il formato esatto da estrarre.
  • Indicazioni sulla posizione: Dove si trova di solito il dato.
  • Esclusioni: Cosa NON estrarre.
Pratiche consigliate:
  • Numera le regole per maggiore chiarezza.
  • Fornisci più varianti di etichetta.
  • Specifica a chi appartengono i dati (lato fornitore vs. lato cliente).
  • Includi esempi di formato tra parentesi.
  • Sii esplicito in merito ai field correlati (ad es., “Ignora l’IBAN — ha un proprio field”).

Step 7: Applicare le regole di STRICTNESS

Aggiungi regole di validazione per garantire qualità e 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 livello di rigore è importante:
  • Previene le allucinazioni: i LLM possono generare dati plausibili ma errati.
  • Garantisce coerenza: regole chiare riducono la variabilità tra esecuzioni.
  • Gestisce i dati mancanti: definisce cosa fare quando non vengono trovati dei field.
  • Mantiene l’integrità dei dati: un’estrazione verbatim preserva la formattazione originale.
Principi chiave di rigore:
  • Non generare mai dati che non compaiono nel documento.
  • Omettere le estrazioni incerte invece di 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: Selezionare il formato del documento

Scegli quale rappresentazione del documento inviare all’LLM.
  1. Nell’Activity Editor, individua il menu a discesa Prompt.
  2. Vedrai le opzioni relative a come il documento viene fornito all’LLM.
Opzioni di formato del documento 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 non formattato
    • Da usare per: Documenti semplici composti solo da testo
    • Considerazioni: Perde tutte le informazioni di formattazione e layout
  • Annotated Text ⭐ (Consigliato)
    • Da usare per: La maggior parte dei tipi di documento
    • Considerazioni: Preserva la struttura pur restando basato su testo
    • Vantaggi: Miglior equilibrio tra struttura e prestazioni
  • Formatted Text: Testo con formattazione di base preservata
    • Da usare per: Documenti in cui parte della formattazione è importante
    • Considerazioni: Via di mezzo tra Plain e Annotated
  1. Seleziona Annotated Text per ottenere i risultati migliori
Nota: Dai test effettuati, è emerso che Annotated Text fornisce i risultati più coerenti e affidabili per le attività di estrazione. Preserva la struttura del documento e allo stesso tempo viene elaborato in modo efficiente dagli LLM.

Passaggio 9: Test dell’estrazione

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

Esegui l’Activity

  1. Chiudi l’Activity Editor.
  2. Vai 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: di solito 5-30 secondi, a seconda della complessità del documento.
    • Vedrai un indicatore di caricamento mentre attendi la 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 fields estratti.
  3. Fai clic su ogni field per vedere:
    • Valore estratto
    • Confidence (se disponibile)
    • Area evidenziata sull’immagine del documento
Reviewing Results Cosa controllare:
  • ✅ Tutti i fields attesi sono compilati
  • ✅ I valori corrispondono esattamente al documento
  • ✅ Nessun dato allucinato o dedotto
  • ✅ Gestione corretta dei fields su più righe
  • ✅ I fields mancanti vengono 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 (mancano alcuni field):
{
  "Fields": [
    { "FieldName": "Vendor.Name", "Text": "ABC Corporation Ltd", "Line": 3 }
  ]
}
Nessun field trovato:
{
  "Fields": []
}

Fase 10: perfeziona il tuo prompt

Affina il tuo prompt in base ai risultati dei test.

Problemi comuni e soluzioni

Problema: LLM estrae il field sbagliato
  • Soluzione: Fornisci indicazioni di posizione più specifiche.
  • Esempio: “Solo lato Fornitore; escludi indirizzi di clienti/acquirenti”
Problema: La formattazione viene modificata
  • Soluzione: Dai priorità all’estrazione letterale.
  • Esempio: “Estrai il formato numerico esattamente come stampato (ad es. ‘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 valori su più righe, usa \n per le nuove righe”
Problema: Nomi dei field errati nell’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 sulla base di un singolo esempio.
  2. Documenta gli schemi: Annota quali regole funzionano e quali richiedono un perfezionamento.
  3. Aggiungi esempi specifici: Includi esempi di formato tra parentesi.
  4. Affina il livello di rigore: Regolalo in base agli schemi di sovra- o sottoestrazione.
  5. Verifica i casi limite: Prova con documenti con field mancanti o layout insoliti.

Esempi di affinamento

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. Document Conversion: Il tuo documento viene convertito nel formato selezionato (consigliato: Annotated Text).
  2. Prompt Assembly: Il tuo ruolo, il formato di output, le regole dei field e le regole di rigidità vengono combinati.
  3. API Call: Il prompt e il documento vengono inviati al LLM tramite la tua connessione.
  4. LLM Processing: Il LLM legge il documento ed estrae i dati in base alle tue istruzioni.
  5. JSON Response: Il LLM restituisce dati strutturati nel formato JSON specificato.
  6. Field Mapping: Vantage associa la risposta JSON ai field di output da te definiti.
  7. Verification: I numeri di riga e i punteggi di affidabilità (se forniti) contribuiscono a verificare l’accuratezza.

Utilizzo dei token e costi

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

Procedure consigliate

Scrittura dei prompt

Da fare:
  • ✅ Usa istruzioni chiare e 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 tue regole per poterle richiamare facilmente.
  • ✅ Usa una terminologia coerente in tutto il testo.
Da 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 troppo lunghe e complesse.
  • ❌ Non contraddirti in sezioni diverse.
  • ❌ Non ignorare le regole sulla severità.

Definizioni dei Field

Istruzioni efficaci per i Field:
  • Iniziare con i pattern di riconoscimento (etichette alternative).
  • Specificare il formato esatto da preservare.
  • Fornire indicazioni sulla posizione (collocazione tipica).
  • Definire la titolarità dei dati (Fornitore vs Cliente).
  • Includere le modalità di gestione dei valori su più righe.
  • Fare riferimento a field correlati per evitare ambiguità.
Esempio:
IBAN
1) Recognize "IBAN", "International Bank Account Number".
2) Extract the full IBAN exactly as printed (include spaces).
3) Solo lato Fornitore, tipicamente sotto "Bankverbindung", "Dettagli di pagamento".
4) Do NOT confuse with Account Number — IBAN is longer and alphanumeric.

Strategia di test

  1. Inizia con documenti semplici: verifica prima l’estrazione di base.
  2. Amplia alle varianti: prova layout e formati diversi.
  3. Verifica 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 un solo elemento alla volta.

Ottimizzazione delle prestazioni

Per la velocità:
  • Mantieni i prompt concisi.
  • Usa il formato Annotated Text.
  • Riduci al minimo il numero di field per ogni attività.
  • Valuta la suddivisione dei documenti complessi.
Per l’accuratezza:
  • Fornisci regole complete per i field.
  • Includi esempi di formato.
  • Aggiungi regole di severità stringenti.
  • Esegui test con campioni di documenti diversi.
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 risultano vuoti nonostante i dati siano presenti. Soluzioni:
  • Verificare che l’ortografia del nome del field corrisponda esattamente.
  • Verificare che i dati siano nel formato di documento selezionato.
  • Aggiungere più varianti di etichette ai pattern di riconoscimento.
  • Ridurre temporaneamente il livello di severità per vedere se l’LLM li trova.
  • Controllare se la qualità del documento influisce sull’estrazione OCR/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 del cliente/acquirente.
  • Fornire indicazioni di posizione (ad es. “parte superiore del documento”, “sezione emittente”).
  • Includere esempi di estrazione corretta vs. errata.
Problema: I valori multilinea sono concatenati o malformati. Soluzioni:
  • Specificare esplicitamente il formato delle sequenze di escape (\n).
  • Fornire esempi di output multilinea corretto.
  • Verificare che il formato del documento preservi le interruzioni di riga.
  • Aggiungere l’istruzione: “Conserva le interruzioni di riga originali utilizzando \n”.
Problema: L’LLM riformatta o normalizza i dati. Soluzioni:
  • Enfatizzare “verbatim” e “esattamente come stampato”.
  • Aggiungere una regola di severità: “Nessuna normalizzazione o inferenza”.
  • Fornire esempi specifici che mostrino la conservazione della formattazione.
  • Includere esempi negativi: “Non ‘12-34-56’, mantieni ‘12 34 56’”.

Problemi di performance

Problema: L’estrazione è troppo lenta. Soluzioni:
  • Passare al formato Annotated Text se si utilizza un PDF.
  • Semplificare il prompt senza perdere le istruzioni critiche.
  • Ridurre la risoluzione del documento se le immagini sono molto grandi.
  • Verificare lo stato del provider LLM e i relativi rate limit.
  • Valutare l’uso di un modello più veloce per i documenti semplici.
Problema: Risultati incoerenti tra le esecuzioni. Soluzioni:
  • Aumentare il livello di rigidità delle regole.
  • Rendere le istruzioni più specifiche e prive di ambiguità.
  • Aggiungere più esempi di formato.
  • Ridurre la complessità del prompt che potrebbe lasciare spazio a interpretazioni.
  • Testare con impostazioni di temperatura più elevate (se disponibili nella connessione configurata).
Problema: Costi API elevati. Soluzioni:
  • Ottimizzare la lunghezza del prompt.
  • Utilizzare Annotated Text invece di PDF.
  • Elaborare i documenti in batch nelle fasce orarie di minor carico.
  • Valutare l’uso di modelli più piccoli/economici per i documenti semplici.
  • Monitorare e impostare avvisi di budget nel dashboard del provider LLM.

Tecniche avanzate

Estrazione condizionale

Puoi indicare all’LLM di estrarre determinati field solo se vengono 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 anche 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 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 Field

Specifica come i Field sono collegati tra loro:
ACCOUNT NUMBER vs IBAN
- Numero conto: 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

Funzionalità attuali

Supportate:
  • ✅ Estrazione di field a livello di intestazione
  • ✅ Valori su una o più righe
  • ✅ Più field per documento
  • ✅ Logica di estrazione condizionale
  • ✅ Documenti multilingue
  • ✅ Layout di documenti variabili
Con limitazioni o non supportate:
  • ⚠️ Estrazione di tabelle (dipende dall’implementazione)
  • ⚠️ Strutture complesse annidate
  • ⚠️ Documenti molto grandi (limiti di token)
  • ⚠️ Elaborazione in tempo reale (latenza API)
  • ⚠️ Risultati completamente deterministici

Quando utilizzare l’estrazione basata su prompt

Ideale per:
  • Documenti con layout variabili
  • Documenti semi-strutturati
  • Prototipazione e test rapidi
  • Volumi di documenti piccoli o medi
  • Quando i dati di addestramento 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 con vincoli stringenti sulla latenza (le API LLM introducono una latenza di rete)
  • Requisiti di elaborazione offline (nessuna connessione a 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. Attività di convalida: applica regole di business ai valori estratti.
  2. Attività di script: elabora o trasforma i dati estratti.
  3. Attività di esportazione: invia i dati a sistemi esterni.
  4. Interfaccia di revisione: verifica manuale dei field estratti.

Utilizzo 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 ai field di output che hai definito:
  • "FieldName": "Vendor.Name" → Viene mappato al field di output Vendor.Name.
  • La gerarchia dei field viene preservata 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 e revisionato i risultati.
  • ✅ Appreso le best practice per la prompt engineering.
Punti chiave:
  • L’estrazione basata su prompt utilizza istruzioni in linguaggio naturale.
  • Il formato Annotated Text fornisce i risultati migliori.
  • Prompt chiari e specifici garantiscono un’estrazione coerente.
  • Le regole di rigore prevengono le allucinazioni e mantengono la qualità dei dati.
  • Test iterativi e perfezionamento continuo migliorano l’accuratezza.
La tua attività di estrazione basata su prompt è ora pronta per l’elaborazione dei documenti!

Prossimi passaggi

  1. Esegui test con un’ampia gamma di documenti: valida su layout e varianti differenti.
  2. Affina i tuoi prompt: migliorali continuamente in base ai risultati.
  3. Monitora i costi: tieni traccia dell’utilizzo di token nella dashboard del tuo provider LLM.
  4. Ottimizza le prestazioni: perfeziona i prompt per velocità e precisione.
  5. Esplora l’estrazione di tabelle: sperimenta con l’estrazione delle righe articolo (se supportata).
  6. Integra nei workflow: 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 di Prompt Engineering: consulta la documentazione del tuo 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ù rapidi e più economici 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 preservazione della struttura ed efficienza di elaborazione. I test hanno dimostrato che è l’opzione più affidabile.
D: Come posso ridurre i costi dell’API?
R: Ottimizza la lunghezza dei prompt, usa il formato Annotated Text, elabora in modo efficiente e monitora l’utilizzo dei token tramite la dashboard del 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 che la quota della tua API non sia stata superata.
D: Posso usare più connessioni LLM in una singola skill?
R: Sì, attività diverse possono usare connessioni diverse. Questo ti permette di usare modelli differenti per diverse attività di estrazione.
D: Come gestisco i documenti in più lingue?
R: Aggiungi varianti multilingue delle etichette 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 tuo provider LLM. Documenti molto lunghi potrebbero dover essere suddivisi o elaborati in sezioni.