Creare preventivi da avvocato velocemente con NotebookLM
Anni fa mi ero dedicato ad un progetto per creare un’applicazione web per fare preventivi, che poi non ha avuto sbocchi reali.
Come tutte le opere “incompiute” mi è rimasto il pallino e recentemente mi sono divertito a provare ad ottenere un risultato simile con l’intelligenza artificiale.
In questo articolo eviterò di raccontare le svariate iterazioni, con più o meno soddisfazioni, o i vari problemi e ti parlerò della soluzione a costo zero che ho trovato: NotebookLM.
Del mio sistema per fare preventivi ne ho già accennato in anteprima sulla mia newsletter di febbraio ma oggi voglio andare più nel dettaglio e spiegarti tutti i dettagli.
0. Il problema del preventivo
Come avvocato e professionista una delle prime cose che capita, prima di ricevere un incarico, è di fare un preventivo.
È anche una delle attività più tediose che mi trovo a fare ed è espressamente prevista dalla legge.
Col tempo ho sviluppato degli automatismi per rendere questa attività meno tediosa e più utile; ad esempio ho un modello di preventivo dove inserisco già tutte le clausole contrattuali “standard” così che, una volta in cui il cliente abbia accettato il preventivo sottoscrivendolo, io ho una maggior tutela e so già quale ricavo posso aspettarmi da una determinata posizione.
Ciò detto mi occorre sempre aprire la versione aggiornata del D.M. N.55/2014 e cercare la tabella relativa, prendere le singole voci, sommarle e ragionare sull’aumento o diminuzione di alcune voci in base alla complessità o semplicità della vicenda.
Inoltre, altra cosa altamente tediosa, devo guardare le eventuali spese ipotizzabili.
E se invece fosse possibile chiederlo ad un LLM e ricevere rapidamente una risposta?
1. La versione base di NotebookLM gratuita
Se ascolti il mio podcast Compendium saprai che negli ultimi mesi sto “abusando” di NotebookLM di Google.
NotebookLM nasce come sistema RAG (Retrival-Augmented Generation) per “dialogare” con documenti in vario formato (PDF, file di testo, pagine web, video su Youtube, audio) con svariate funzioni.
La cosa interessante di questo servizio di Google è che lo si può utilizzare gratuitamente (fino a 100 notebook e 50 documenti a notebook) oltre che a pagamento (con limiti maggiori).
Per le mie attuali necessità la versione gratuita è più che sufficiente. Inoltre mi permette di utilizzare Gemini come LLM sottostante, con l’ulteriore vantaggio di avere la sua finestra di contesto enorme, fino a 1 Milione di tokens.
1.1 Precauzioni da utilizzare
Come sempre devo darti una nota di avvertimento.
I documenti che carichi su NotebookLM non devono essere riservati o segreti. Per cui non ti consiglio di inserire informazioni o documenti provenienti dal tuo cliente ma di utilizzare NotebookLM per generare velocemente una bozza di preventivo da poi, eventualmente, copiare sul computer e personalizzare.
Secondariamente, ma non a livello di importanza, ti ricordo che gli LLM tendono ad inventarsi le cose (sono sistemi di generazione statistica del testo), c.d. allucinazioni, per cui è fondamentale controllare sempre i risultati dell’LLM anche quando si fa una RAG, come nel caso di NotebookLM.
2. Il procedimento
Esempio di pagina di accesso a NotebookLM con i vari taccuini
Il procedimento per aver un preventivo è relativamente semplice:
- Caricare il D.M. n. 55/2014 in NotebookLM come nuova fonte (punto 1);
- Utilizzare la chat per richiedere il preventivo (punto 2).
Come mostrato nell’immagine sottostante.
Esempio di caricamento fonte e chat in NotebookLM
Ci sono tuttavia alcuni problemi / zone di attrito che ti voglio segnalare.
Anzitutto, utilizzando questo semplice metodo, controllare la bontà della risposta di Gemini è più complesso, come si vede nell’immagine sottostante.
Per controllare infatti la fonte, in NotebookLM, basta cliccare sulla nota a fianco della voce (nel caso del mio esempio, come mostrato al punto 1 dell’immagine sottostante).
Esempio di controllo del preventivo con il D.M. n.55/2014 come PDF
Quando si carica un PDF in NotebookLM (punto 2), tuttavia, questo viene convertito in un file di testo semplice e si perde la formattazione (soprattutto) delle tabelle che, nel nostro caso, sono la fonte della “conoscenza” che ci interessa poter verificare facilmente (come si vede al punto 3 dell’immagine soprastante).
3. Convertire il PDF del D.M 55/2014 in markdown
Vediamo quindi come renderci la vita più semplice e, contemporaneamente, ottenere risultati migliori.
Come ti dicevo Gemini e gli LLM in generale utilizzano sotto la scocca il testo semplice ed in particolare il markdown.
I PDF, seppur un ottimo strumento per condividere testo formattato ed impaginato, non sono altrettanto utili da dare in pasto direttamente agli LLM ed anzi presentano un problema perché estrarre il testo dal PDF crea artefatti e non è un’operazione lineare.
Nel mondo open-source legato all’intelligenza artificiale sono stati sviluppati vari progetti per ottimizzare l’estrazione del testo dai PDF e non solo (anche file .docx, .pptx etc …).
Nel nostro caso ti segnalo 2 progetti che ho testato e ritengo molto interessanti:
Nella sostanza questi progetti, il primo sviluppato da IBM ed il secondo da una singola persona, si occupano di convertire nel miglior modo un PDF in markdown di modo che gli LLM lo possano digerire ed utilizzare al massimo.
In particolare, per quel che ci interessa qui, permettono di convertire le tabelle del D.M. N.55/2014 in tabelle correttamente formattate in markdown.
Questo, oltre che a rendere più facile digerire i dati ad LLM meno potenti rispetto a Gemini (ad esempio modelli locali), nel nostro caso permette di visualizzare e verificare facilmente se Gemini ha correttamente individuato la voce della tabella corretta ed il relativo scaglione di riferimento.
Nell’immagine sottostante ti mostro il cambiamento che si ottiene in NotebookLM passandogli il D.M. n.55/2014 convertito in Markdown.
Esempio di preventivo e verifica di controllo
In questo articolo, per motivi di spazio, non è mia intenzione spiegarti come installare l’uno o l’altro programma ma nella documentazione dei progetti è spiegato e, se ti interessa avere una interfaccia grafica, ti suggerisco di utilizzare Marker.
Io personalmente utilizzo la versione CLI (Command Line Interface), a riga di comando.
Ti segnalo tuttavia il comando base da utilizzare con docling
perché non è così scontato:
docling input.pdf --image-export-mode placeholder
dove occorre modificare ìnput.pdf
con il nome del file che si vuole convertire. La parte finale del comando serve a specificare di inserire, se sono presenti immagini nel PDF, un segnaposto invece che l’immagine stessa convertita in base64.
Se non vuoi preoccuparti della conversione del D.M. n.55/2014, qui lo trovi già convertito in markdown.
4. Aggiungere il Testo Unico sulle Spese di Giustizia
Ultimo tocco finale, ma la tua fantasia e le tue necessità sono il limite, è possibile inserire tra le fonti anche il Testo Unico sulle spese di Giustizia.
In questo modo, oltre ad aver il preventivo dell’attività è possibile (ma i risultati non sono sempre perfetti) avere anche i conteggi per il Contributo unificato.
Esempio di inserimento anche delle spese di giustizia del Contributo Unificato
Di seguito ti mostro un esempio di risultato finale.
NotebookLM non solo mi ha fatto il preventivo ma ha anche fatto i conti.
Esempio di semplice preventivo generato da NotebookLM
Come si può vedere le voci sono corrette.
Esempio di controllo dei compensi
5. Potenziali ulteriori sviluppi e migliorie
Per il futuro mi riprometto di fare qualcosa di più e, se possibile, far generare già un preventivo con tutte le clausole contrattuali e le variabili LaTeX per poi poterlo completare offline con i dati del (potenziale) cliente. Ma non ci ho ancora messo mano in modo serie e, credo, possa interessare di meno.
6. Considerazioni finali
Quello che ti ho descritto è un processo che si può utilizzare in altri contesti: immaginalo per esempio su un menù di ristorante o su catalogo con prezzi, giusto per fare degli esempi.
È ovvio che se invece i dati sono riservati la cosa si complica un pochino. Personalmente ho fatto un po' di esperimenti ma, rispetto a modelli blasonati come Gemini, chatGPT o DeepSeek R1, i modelli locali fanno più fatica a estrapolare correttamente i dati dalle tabelle in markdown anche creando dei prompt specifici anche se QWQ è riuscito a darmi dei buoni risultati.
Esempio di “preventivo” fatto con QWQ in locale
Attualmente però i risultati sono inferiori a quelli che può produrre NotebookLM. Infatti, oltre a non avere un modo così intuitivo per controllare il preventivo (io per mostrarti che la risposta era corretta ho dovuto aprire il PDF del D.M. n. 55/2014) i tempi per restituire la “semplice” risposta mostrata nell’immagine soprastante sono elevati: più di 2 minuti.
Da ultimo, lo sottolineo di nuovo, non è tutto oro quel che luccica. Ti ho fatto vedere degli esempi di successo ma il sistema non è perfetto al 100% e non sempre le risposte erano corrette. Sicuramente è un sistema che velocizza molto l’interazione per creare un preventivo ma, allo stato, non è un sistema completamente sicuro ed automatico per farlo.
In conclusione
Spero con questo articolo di averti dato uno spunto per sperimentare con gli LLM. Non credo che questi sistemi siano ancora pronti per la produzione ma iniziano ad essere un ottimo aiuto per semplificare e velocizzare alcuni aspetti dell’attività professionale.
Come sempre, se ti è piaciuto quel che hai letto o visto e non l’hai già fatto, ti suggerisco di iscriverti alla mia newsletter. Ti avvertirò dei nuovi articoli che pubblico (oltre ai podcast e video su YouTube) e, mensilmente, ti segnalerò articoli che ho raccolto nel corso del mese ed ho ritenuto interessanti.