Lavori

Dati sintetici

Chiedi ai tuoi documenti

Risposte dai tuoi documenti, offline, con la fonte.

Una domanda sul manuale di un'azienda sintetica restituisce la frase esatta con file, pagina e sezione; una domanda a cui i documenti non rispondono mostra "Not found in the documents." con il motivo.

Per chi è

  • Piccoli uffici con manuali, contratti e procedure che non devono uscire dall'azienda.

La sfida

Manuali, procedure e condizioni dei fornitori contengono la risposta alle domande di tutti i giorni, ma trovare il paragrafo giusto richiede tempo. Una risposta senza fonte è difficile da verificare, e molti uffici non possono inviare documenti interni a un servizio cloud.

Cosa abbiamo costruito

  1. Legge una cartella di PDF (con livello di testo), file Markdown o di testo e li divide in brevi passaggi che conservano nome del file, pagina e titolo più vicino.
  2. Cerca con BM25, una formula standard di ordinamento per parole chiave. Nessun modello di IA, nessun embedding, nessuna rete.
  3. Prova a rifiutare le domande senza riscontro, con regole definite. Se un nome presente nella domanda non compare in nessun documento, o se il passaggio migliore non contiene almeno il 60% delle parole chiave della domanda, la risposta è "Not found in the documents." (non trovato nei documenti), con l'elenco dei termini mancanti. Le regole non sono perfette: vedi la risposta falsa nei risultati qui sotto.
  4. Risponde con la frase più pertinente, copiata parola per parola, con file, pagina e sezione. Ogni risposta e ogni rifiuto mostrano un motivo in parole semplici.

Facoltativo: un modello Ollama può riformulare la risposta. È spento di default e non partecipa alla ricerca né alla decisione "non trovato". Quando è attivo, la domanda e il passaggio trovato vengono inviati all'indirizzo Ollama indicato nell'impostazione OLLAMA_HOST: di default questo computer (localhost), ma se l'impostazione punta a un'altra macchina, escono da questo computer. La riformulazione è prodotta dal modello ed è indicata come tale; una formulazione che aggiunge numeri o nomi assenti dal passaggio o dalla domanda non viene mostrata, e la citazione è sempre mostrata accanto.

Una risposta copiata da un documento aziendale sintetico, con file, pagina e sezione.
Risposta con il passaggio fonte · dati sintetici, 5 ottobre 2026.
La risposta "Not found in the documents." con l'elenco dei termini della domanda che mancano.
Informazioni non trovate nei documenti · dati sintetici, 5 ottobre 2026.

Risultati

8 documenti inventati su un'azienda inventata (68 passaggi), con domande di cui si conosce la risposta, comprese domande a cui i documenti non rispondono. Secondo quanto registrato dallo sviluppatore, le impostazioni sono state tarate solo sul set di sviluppo e le domande di verifica non sono mai state usate per la taratura, quindi il set di verifica è il dato più corretto. Entrambi i set riguardano gli stessi 8 documenti: il set di verifica tiene da parte domande, non documenti. Misurati il 5 ottobre 2026; numeri tratti dal riepilogo di valutazione del progetto.

SetImpostazioniRisposte corrette"Non trovato" correttiRisposte false a domande senza rispostaTotale
verificapredefinite25 su 31 (80,6%)11 su 12136 su 43 (83,7%)
verificarisponde sempre (baseline)27 su 31 (87,1%)0 su 121227 su 43 (62,8%)
sviluppopredefinite28 su 30 (93,3%)11 su 12139 su 42 (92,9%)
svilupporisponde sempre (baseline)28 su 30 (93,3%)2 su 121030 su 42 (71,4%)
  • La baseline usa la stessa ricerca con le regole di rifiuto (nome e soglia del 60%) disattivate; dice comunque "non trovato" quando nessun passaggio ha parole ricercabili in comune con la domanda. Sul set di verifica ha dato una risposta sbagliata a tutte le 12 domande senza risposta; con le regole "non trovato", 11 su 12 sono state rifiutate correttamente. Con sole 12 domande di questo tipo, tutte sugli stessi 8 documenti, questo conteggio non è una percentuale affidabile.
  • Il compromesso: 5 domande con risposta del set di verifica sono state segnate per errore come "non trovato", quindi le risposte corrette sono scese da 27 su 31 a 25 su 31.
  • Resta una risposta falsa: alla domanda "Who is the safety officer?" (chi è il responsabile della sicurezza?) lo strumento ha restituito la regola che cita il responsabile della sicurezza.
  • Sono piccoli set sintetici (85 domande su 8 documenti) e non stabiliscono la precisione sui tuoi documenti.

Contesto tecnico

Python, pypdf, snowballstemmer (radici delle parole per la ricerca), pandas, Streamlit; test con pytest e Playwright; distribuito con Docker.

Limiti

  • Confronto di parole, non comprensione. Una domanda che usa parole diverse dal documento ("USB drives" invece di "USB storage devices") può ricevere "non trovato".
  • Le domande "quasi giuste" su un dettaglio vicino a un argomento trattato possono ancora ricevere una risposta sbagliata.
  • I PDF scansionati richiedono l'OCR (riconoscimento del testo), che non è incluso. Vengono letti solo i PDF con livello di testo. Le tabelle perdono la loro struttura.
  • Una lingua alla volta. Una domanda in inglese non trova un passaggio in italiano, e viceversa.
  • Limiti di input: file oltre 20 MB, caricamenti oltre 100 MB o 200 file e PDF oltre 500 pagine vengono rifiutati. Un PDF malevolo entro questi limiti può comunque rallentare.
  • Demo per un solo utente: gli indici dei documenti restano nella memoria dell'app fino a un'ora e sono condivisi da chiunque usi lo stesso server, quindi non va esposta ad altri utenti senza autenticazione.
  • Non è una consulenza legale: leggi sempre il passaggio citato nel documento originale.

Fonte: README, reports/summary.json ed eval_holdout.json di snello-docqa, misurati il 5 ottobre 2026 al commit fc6bcbe (misurato il 5 ottobre 2026 al commit fc6bcbe). Il codice è privato, quindi non è collegato.

Lavori collegati

Dati sintetici

doc2data

Da PDF e scansioni di fatture e scontrini a dati strutturati e controllati.

Risultati dei test e limiti

0 errori sui campi in 3 set sintetici puliti di 16 documenti; 92,9% (131 su 141) e 91,4% (127 su 139) dei campi su scansioni sintetiche degradate (misurato il 2 ottobre 2026).

Leggi il progetto: doc2data
Dati sintetici

Lettore FatturaPA e spiegazione delle ricevute SdI

Fatture elettroniche (XML e .p7m firmati) in un unico foglio controllato, dove i controlli previsti segnalano problemi definiti, con il codice di scarto SdI quando ne esiste uno; notifiche SdI spiegate in parole semplici.

Risultati dei test e limiti

Su 3 set sintetici di 94 fatture: 28 errori inseriti su 28 rilevati in ciascuno, 0 fatture corrette su 66 segnalate per sbaglio (misurato il 5 ottobre 2026).

Leggi il progetto: Lettore FatturaPA e spiegazione delle ricevute SdI

Diamo forma al tuo prossimo strumento.

Inviaci fino a 3 esempi o descrivi un processo. Ti rispondiamo via email spiegandoti cosa è fattibile e come lo misureremmo.

Inizia un progetto

Assistenza IA facoltativa

Il progetto include ora assistenza Groq facoltativa, disattivata per impostazione predefinita. Controlli, calcoli e citazioni locali restano la base dei risultati. Le risposte IA richiedono una revisione umana.

Dopo la configurazione da parte dell'amministratore, serve il consenso esplicito prima dell'invio a Groq. Gli strumenti di spiegazione mostrano il contesto; l'estrazione delle fatture può inviare testo OCR o del documento dopo il consenso. Le credenziali API restano sul server. Accesso riservato, limiti di caricamento e un budget condiviso di richieste proteggono le demo locali.

Questo sito statico non esegue l'assistente e non accetta documenti. Video e misurazioni precedenti riguardano i flussi locali originali; l'integrazione Groq non è ancora stata valutata con richieste reali.

SNELLO / STRUMENTI

Questa è una spiegazione dello strumento, non una sessione di IA dal vivo. Nessun documento viene caricato.

Il nostro metodo
Schema completo

Leggi il progetto

Parliamo del tuo progetto

Invia fino a 3 esempi o descrivi un processo, gli strumenti che usi e il risultato che ti serve.

snello.contact@gmail.com

Vai alla pagina Contatti

Navigazione