Avvocati e Mac: Compendium

58. Come fare domande ad un LLM (prompt engineering)


Listen Later


In questa puntata ti parlo di legal prompting e prompt engineering con esempi pratici ed approfondimenti sulle tecniche principali per scrivere un prompt in modo efficace. Proseguo nell’approfondimento della puntata 56.

Note dell’episodio

Come sempre, se ti è piaciuto quel che hai letto, ascoltato 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 trovato interessanti.

Qui trovi la registrazione in video della puntata non editata.

Link
  • Newsletter: se vuoi rimanere aggiornato sulle mie pubblicazioni.
  • Prompt Engineering: guida ben fatta anche in italiano.
  • Open WebUI
  • Tika
  • SearXNG
  • Sinossi

    Ti ricordo che la sinossi è generata dalla IA in particolare usando la trascrizione del podcast fatta con l’app Transcriber dell’amico Alex Raccuglia (trovi le sue tante applicazioni su Ulti.media) e NotebookLM.

    Comunicazioni di servizio
    • Tra fine maggio e giugno è previsto lo spostamento del podcast da Squarespace, con i primi test già avviati.
    • Il nuovo indirizzo previsto sarà compendium.avvocati-e-mac.it, con un redirect da avvocati-e-mac.com/podcast una volta completato il passaggio.
    • Dal Legal Prompting al Prompt Engineering
      • Questa puntata (la 58) si collega alla puntata precedente (la 56), che trattava il legal prompting.
      • Secondo l'autore, il legal prompting non è fondamentale; è più interessante imparare a scrivere prompt efficaci, ovvero il normale prompt engineering.
      • La puntata si concentra sulle tecniche vere e proprie di prompt engineering basate su ricerche approfondite.
      • Imparare il prompt engineering è più efficace e importante per ottenere i maggiori risultati dai Large Language Model (LLM).
      • Il prompt engineering non è l'unico aspetto da conoscere per sfruttare correttamente gli LLM e non commettere errori; è importante approfondire anche altri aspetti come le "allucinazioni".
      • Il legal prompting da solo non è la soluzione a tutti i problemi.
      • Cos'è il Prompt Engineering
        • Il Prompt Engineering si riferisce al processo di creazione e ottimizzazione delle istruzioni (prompt) per i sistemi di intelligenza artificiale, in particolare gli LLM, al fine di ottenere risposte pertinenti, accurate e utili.
        • Sebbene l'episodio sia fatto nell'ottica legale, gli esempi non saranno focalizzati solo su questo ambito, ma anche su altre attività svolte con gli LLM.
        • Viene segnalata come risorsa una guida al Prompt Engineering disponibile nelle note dell'episodio.
        • System Prompt vs User Prompt
          • È fondamentale distinguere tra System Prompt (Prompt di sistema) e User Prompt (Prompt dell'utente).
          • Il System Prompt è un prompt generale che governa tutte le risposte dell'LLM in un determinato contesto.
          • In sistemi come Open Web UI, il System Prompt è personalizzabile per ogni chat, permettendo di inserire informazioni generali senza ripeterle nell'User Prompt.
          • Il System Prompt, in estrema sintesi, viene inserito prima dell'User Prompt vero e proprio e aiuta a uniformare la strutturazione della domanda.
          • LLM online a volte hanno System Prompt di base sconosciuti o modificabili dalle aziende, il che può influenzare le risposte.
          • L'User Prompt è la domanda specifica posta dall'utente o una serie di domande in una chat.
          • Le tecniche per l'User Prompt si applicano in gran parte anche al System Prompt, sebbene gli scopi siano differenti.
          • Capire gli LLM
            • Le regole di Prompting nascono dalla comprensione di come funzionano gli LLM.
            • Un LLM è un generatore di testo statistico, che produce il testo più probabile.
            • Gli LLM sono addestrati su testi disparati.
            • Domande generiche o non strutturate senza contesto specifico portano a risposte "mediane", basate sulla media dei testi di allenamento.
            • Gli LLM non hanno intuito o contesto umano; è necessario essere molto chiari, descrittivi e specifici su cosa si vuole ottenere e sul risultato atteso.
            • Spesso sono necessarie più interazioni (chat) per raffinare la domanda e ottenere risposte adeguate.
            • Una domanda ben posta porta a ottime risposte, mentre una mal formulata no.
            • Il processo di iterazione con l'LLM può essere un metodo di autoapprendimento per capire come formulare meglio le domande.
            • Regole Generali di Prompt Engineering
              • Bisogna avere un obiettivo o scopo specifico e descrivere chiaramente il compito per l'LLM.
              • Il linguaggio deve essere chiaro e preciso.
              • Un trucco utile è chiedere all'LLM di riformulare il proprio prompt per renderlo più chiaro o di fare domande sulla domanda per tirare fuori l'obiettivo.
              • È fondamentale considerare le aspettative sul formato della risposta.
              • Gli LLM possono generare risposte in formati specifici come elenchi puntati, paragrafi brevi, tabelle o testi per email.
              • Una caratteristica potente degli LLM è la capacità di strutturare i dati, anche in formati come JSON.
              • Viene mostrato un esempio di come un LLM può decostruire una sentenza della Cassazione e ricostruirla in formato JSON.
              • Viene fatto un esempio pratico non legale: usare un LLM per estrapolare argomenti e creare i timestamp per i capitoli di un video YouTube da una trascrizione.
              • Il formato della risposta non va sottovalutato ed è stato oggetto di un focus specifico.
              • È cruciale spiegare il contesto, poiché l'LLM non conosce la situazione dell'utente.
              • Viene mostrato un esempio di prompt strutturato trovato online per generare capitoli YouTube, sebbene lungo.
              • Viene mostrato un prompt alternativo creato dall'autore, molto più semplice ma efficace, per lo stesso scopo.
              • I prompt più semplici possono funzionare bene, soprattutto con LLM più potenti che richiedono minore specificità.
              • Sperimentare e Salvare i Prompt
                • Il modo migliore per migliorare è sperimentare e salvare i prompt.
                • Tenere un archivio dei prompt e svilupparli nel tempo è consigliato.
                • L'autore utilizza Obsidian per prendere appunti sui prompt, formattandoli come codice per facilitare la copia.
                • Viene descritto un sistema personale per organizzare i prompt basato sul nome dell'LLM e una descrizione.
                • Un prompt creato per un LLM specifico (es. Notebook LM) potrebbe non funzionare allo stesso modo su un altro (es. ChatGPT).
                • Esempio di System Prompt Legale
                  • Viene presentato un esempio di System Prompt utilizzato in ambito legale con LLM locali (Open Web UI).
                  • Il prompt specifica il ruolo dell'LLM ("assistente legale italiano nel settore civile") e il compito ("esamina la fattispecie, individua norme e giurisprudenza, argomenta in base ai risultati, cita sempre riferimenti").
                  • Vengono sottolineati i verbi specifici e chiari utilizzati nel prompt (esamina, individua, argomenta, cita).
                  • Sono incluse preferenze di formattazione (norme in grassetto, massime giurisprudenziali in corsivo) con esempi (one shot).
                  • Una regola importante per cercare di evitare le allucinazioni è istruire l'LLM a rispondere "non ho le informazioni per risponderti" se non sa la risposta.
                  • Le allucinazioni sono una funzione degli LLM di generare testo verosimile ma non veritiero; questo sistema non risolve il problema completamente ma aiuta.
                  • L'autore inserisce sempre la "catena di pensiero" ("ragiona passo passo e segui un filo logico") anche se alcuni LLM la implementano già.
                  • Il prompt di sistema mostrato viene utilizzato anche per ricerche web, chiedendo all'LLM di trovare informazioni online e restituire risposte con citazioni dalle fonti web.
                  • Dare un indirizzo prevalentemente legale a un LLM è utile per ottenere risposte più sensate e appropriate nel mondo legale, anche se un LLM non può sostituire un avvocato.
                  • Tecniche Avanzate (Zero Shot, One Shot, Few Shot, Chain of Thought)
                    • Gli LLM moderni, nati per il completamento del testo, funzionano bene in chat grazie ai "transformer" e alla capacità di "attenzione".
                    • Lo Zero Shot consiste nel fare una domanda secca all'LLM aspettandosi una risposta diretta senza esempi.
                    • In alternativa allo Zero Shot, si può usare la chat per iterare e raffinare la risposta attraverso un dialogo.
                    • L'approccio via chat può essere comodo per tentativi, come nel caso dell'autore che ha chattato con un'IA per creare un programma non sapendo programmare.
                    • Nel mondo legale, l'autore tende a usare l'approccio Zero Shot, strutturando e raffinando prompt specifici.
                    • Il One Shot e il Few Shot consistono nel dare degli esempi di risultato all'LLM direttamente nel prompt. Questo aiuta a ottenere un risultato più preciso, come visto nell'esempio dei capitoli YouTube.
                    • La Chain of Thought (catena di pensiero) si basa sull'osservazione che quando l'LLM "ragiona" sulla risposta, il risultato è solitamente migliore.
                    • Nei nuovi LLM, c'è una parte di "pensiero" prima della risposta finale.
                    • Anche per modelli che non ragionano intrinsecamente, frasi come "pensiamo passo dopo passo" o "ragiona passo passo e segui un filo logico" aiutano a ottenere risposte più centrate.
                    • Dare le Fonti agli LLM
                      • Dare le fonti all'LLM è una tecnica molto efficace.
                      • Il modo più semplice è inserire direttamente il testo della fonte nel prompt, come copiare il testo di una sentenza. Questo approccio è limitato dalla finestra di contesto.
                      • Un modo più efficace è utilizzare i tag XML per delimitare il testo della fonte all'interno del prompt. Questo struttura i dati e permette di fare riferimento alla fonte (es. ...).
                      • La fase successiva per documenti grandi o finestre di contesto limitate è la RAG (Retrieval Augmented Generation).
                      • La RAG spezzetta il documento e, in base alla domanda, estrae le porzioni di testo più attinenti da inserire nel prompt.
                      • L'autore sta sperimentando la RAG con il codice civile e di procedura civile in Open Web UI, ottenendo risultati molto centrati e corretti. Il system prompt legale menzionato in precedenza è spesso usato in questo caso.
                      • L'approccio più evoluto è l'interazione con ricerche online. L'LLM va online, fa ricerche, acquisisce le fonti e genera una risposta basata su di esse.
                      • L'autore è riuscito a far fare ricerche online a LLM locali usando software come Tika e SearXNG.
                      • Questo approccio restituisce non solo la risposta ma anche un elenco delle fonti utilizzate, utile per approfondire e verificare.
                      • ...more
                        View all episodesView all episodes
                        Download on the App Store

                        Avvocati e Mac: CompendiumBy Filippo Strozzi


                        More shows like Avvocati e Mac: Compendium

                        View all
                        Il Disinformatico by RSI - Radiotelevisione svizzera

                        Il Disinformatico

                        5 Listeners

                        Digitalia by Franco Solerio

                        Digitalia

                        1 Listeners

                        EasyApple by EasyPodcast

                        EasyApple

                        3 Listeners

                        Pillole di Bit by Francesco Tucci

                        Pillole di Bit

                        0 Listeners

                        DataKnightmare: L'algoritmico è politico by Walter Vannini

                        DataKnightmare: L'algoritmico è politico

                        1 Listeners

                        Marco Montemagno - Il Podcast by Marco Montemagno

                        Marco Montemagno - Il Podcast

                        24 Listeners

                        SNAP - Architettura Imperfetta by Roberto Marin

                        SNAP - Architettura Imperfetta

                        0 Listeners

                        Il podcast di Alessandro Barbero: Lezioni e Conferenze di Storia by A cura di: Fabrizio Mele

                        Il podcast di Alessandro Barbero: Lezioni e Conferenze di Storia

                        181 Listeners

                        Actually by Will Media

                        Actually

                        6 Listeners

                        Negati - Freelance allo sbaraglio by Andrea Ciraolo, Valentina De Poli & Matteo Scandolin

                        Negati - Freelance allo sbaraglio

                        0 Listeners

                        Il TiraLinee by Daniele Borghi

                        Il TiraLinee

                        0 Listeners

                        9:41 by Luca Ansevini, Pietro Mamei & Matteo Pau

                        9:41

                        1 Listeners

                        Non hanno un amico by Luca Bizzarri – Chora Media

                        Non hanno un amico

                        38 Listeners

                        CRASH – La chiave per il digitale by Andrea Daniele Signorelli & VOIS

                        CRASH – La chiave per il digitale

                        0 Listeners

                        Il Mondo by Internazionale

                        Il Mondo

                        31 Listeners