Tutte le lezioni

Corso

IA della 11ª: IA generativa e ingegneria degli agenti

Costruisci app LLM con prompt, API, retrieval e strumenti, poi provale per la sicurezza.

Fai le lezioni in ordine. Alla fine sai contare i token, confrontare i testi con la somiglianza degli embedding e spiegare il campionamento e le finestre di contesto. Sai scrivere prompt strutturati e confrontare versioni di prompt con casi di test. Sai rivedere il codice scritto dall’IA e scrivere test che quel codice deve superare. Sai ottenere JSON che corrisponde a uno schema, costruire un chatbot con un limite di costo e costruire un’app che risponde dai documenti e li cita. Sai costruire un agente con strumenti limitati e una regola di stop, difendere un’app dall’iniezione di prompt, costruire una suite di test automatica e pubblicare un assistente di ricerca ancorato alle fonti.

Come usare queste lezioni

  • Parti dalla lezione segnata Fai questo. Vai avanti quando sai fare da te la riga sotto il titolo.
  • Prima gioca ai Giochi. Poi fai i Quiz. 8 di 10 giuste per passare. Le Schede sono su carta. Le risposte sono in fondo.
  • Ogni lezione si appoggia a quella prima. Tieni un insieme di test per ogni app ed eseguilo dopo ogni modifica.
  • Le lezioni di codice usano Python. Usa solo i servizi di IA che il tuo insegnante approva, tieni le chiavi API fuori dal codice, imposta un limite di spesa e non inviare mai dati personali a un modello.

Ogni lezione ha giochi, quiz e schede.

0 di 36

Basi degli LLM

  1. 1Token e vocabolarioConta i token e spiega perché contano.
    • Suddividi il testo in token con un tokenizer vero.
    • Confronta il numero di token tra le lingue.
    • Collega i token al costo e ai limiti di contesto.
  2. 2Somiglianza degli embeddingConfronta i testi con la somiglianza degli embedding.
    • Ottieni gli embedding da un modello.
    • Calcola la similarità del coseno.
    • Ordina le frasi per significato, non per parole in comune.
  3. 3Campionamento, temperatura e finestre di contestoSpiega campionamento, temperatura e finestre di contesto.
    • Spiega la predizione del token successivo.
    • Cambia la temperatura e confronta gli output.
    • Mostra che cosa succede quando il testo supera la finestra di contesto.
  4. 4Pretraining, fine-tuning e instruction tuningDistingui pretraining, fine-tuning e instruction tuning.
    • Di’ quali dati usa ogni passo.
    • Spiega il feedback delle persone.
    • Di’ perché un modello ha un limite di conoscenza.

Ingegneria dei prompt

  1. 5Prompt strutturatiScrivi un prompt strutturato con ruolo, compito, regole e formato.
    • Separa le istruzioni dai dati di input.
    • Indica il formato dell’output.
    • Confronta un prompt strutturato e uno non strutturato.
  2. 6Esempi few-shotMigliora l’output con esempi few-shot.
    • Aggiungi due o tre esempi.
    • Scegli esempi che coprono i casi limite.
    • Misura il cambiamento su un insieme di test.
  3. 7Lunghezza, tono e formatoLimita lunghezza, tono e formato.
    • Imposta limiti di lunghezza e di livello di lettura.
    • Di’ al modello che cosa fare quando non sa.
    • Controlla gli output rispetto a ogni vincolo.
  4. 8Casi di test e versioni di promptScrivi casi di test e confronta versioni di prompt.
    • Scrivi venti input di test con i risultati attesi.
    • Dai un punteggio a due versioni di prompt.
    • Tieni la versione che vince.

Programmazione assistita dall’IA

  1. 9Codice funzionante da una specificaOttieni codice funzionante da una specifica chiara.
    • Scrivi una specifica con input, output ed esempi.
    • Genera il codice da quella specifica.
    • Eseguilo sugli esempi.
  2. 10Codice scritto dall’IATrova bug e rischi nel codice scritto dall’IA.
    • Controlla i casi limite e la gestione degli errori.
    • Individua funzioni e librerie inventate.
    • Individua codice non sicuro, come segreti nel sorgente.
  3. 11Test che il codice IA deve superareScrivi test che il codice IA deve superare.
    • Scrivi test con pytest.
    • Fai scrivere all’IA il codice per superarli.
    • Aggiungi un test per ogni bug che trovi.
  4. 12Correggi un bug con l’IACorreggi un bug con l’IA e spiega la correzione.
    • Fai un piccolo esempio che mostra il bug.
    • Chiedi all’IA le cause, non solo la correzione.
    • Spiega perché la correzione funziona.

API degli LLM

  1. 13Richiesta di chat e rispostaInvia una richiesta di chat e leggi la risposta.
    • Carica la chiave API dall’ambiente.
    • Invia una richiesta con un SDK.
    • Leggi la risposta e l’uso dei token.
  2. 14Messaggi di sistema e dell’utenteUsa messaggi di sistema e dell’utente.
    • Metti le regole nel messaggio di sistema.
    • Metti l’input dell’utente nei messaggi dell’utente.
    • Conserva la cronologia di una conversazione.
  3. 15JSON che corrisponde a uno schemaOttieni JSON che corrisponde a uno schema.
    • Definisci uno schema JSON.
    • Chiedi un output che lo segue.
    • Valida l’output e riprova se fallisce.
  4. 16Chatbot con un limite di costoCostruisci un chatbot con cronologia e un limite di costo.
    • Conserva la cronologia della conversazione.
    • Taglia i messaggi vecchi per stare nel contesto.
    • Fermati quando raggiungi il limite di costo.

Generazione con retrieval

  1. 17Perché l’ancoraggio alle fontiSpiega perché l’ancoraggio alle fonti riduce le risposte inventate.
    • Chiedi a un modello di un documento che non ha mai visto.
    • Aggiungi il documento e chiedi di nuovo.
    • Disegna la pipeline recupera e poi genera.
  2. 18Dividi i documenti in blocchiDividi i documenti in blocchi.
    • Dividi per dimensione con sovrapposizione.
    • Dividi per titoli.
    • Tieni la fonte e la pagina con ogni blocco.
  3. 19Blocchi più vicini a una domandaTrova i blocchi più vicini a una domanda.
    • Calcola gli embedding dei blocchi e salvali.
    • Recupera le corrispondenze migliori per una domanda.
    • Misura quanto spesso si trova il blocco giusto.
  4. 20Rispondi dai documenti e citaliCostruisci un’app che risponde dai documenti e li cita.
    • Metti i blocchi recuperati nel prompt.
    • Richiedi una citazione per ogni affermazione.
    • Controlla che le citazioni puntino a passi reali.

Strumenti di IA e agenti

  1. 21Il modello chiama una funzioneFai chiamare una funzione al modello.
    • Descrivi uno strumento con uno schema.
    • Esegui lo strumento che il modello chiede.
    • Rimanda il risultato al modello.
  2. 22Passi che un modello può eseguireDividi un compito in passi che un modello può eseguire.
    • Chiedi prima un piano al modello.
    • Esegui il piano un passo alla volta.
    • Controlla ogni passo prima di andare avanti.
  3. 23Che cosa ha fatto un agenteTieni traccia di che cosa ha fatto un agente.
    • Salva ogni passo e il suo risultato.
    • Riassumi le cronologie lunghe.
    • Decidi che cosa l’agente deve dimenticare.
  4. 24Agente con strumenti limitati e una regola di stopCostruisci un agente con strumenti limitati e una regola di stop.
    • Consenti solo strumenti sicuri e di sola lettura.
    • Limita il numero di passi.
    • Chiedi a una persona prima di ogni azione che cambia qualcosa.

IA generativa multimodale

  1. 25I modelli di diffusione fanno immaginiSpiega come i modelli di diffusione fanno immagini.
    • Spiega come si aggiunge e si toglie il rumore.
    • Spiega come il testo guida l’immagine.
    • Discuti consenso e diritto d’autore per le immagini generate.
  2. 26Domande su un’immagineFai al modello domande su un’immagine.
    • Invia un’immagine con una domanda.
    • Ottieni una descrizione strutturata.
    • Trova un dettaglio che il modello sbaglia.
  3. 27Voce in testo e testo in voceTrasforma la voce in testo e il testo in voce.
    • Trascrivi una registrazione breve.
    • Misura il tasso di errore sulle parole.
    • Genera voce e segnala che è fatta dall’IA.
  4. 28Prototipo con due tipi di inputCostruisci un prototipo che usa due tipi di input.
    • Scegli due input, come voce e immagine.
    • Collegali in un’unica app.
    • Provalo con cinque utenti.

Affidabilità e sicurezza

  1. 29Risposte che le fonti non sostengonoIndividua risposte che le fonti non sostengono.
    • Controlla ogni affermazione rispetto alle fonti.
    • Usa una seconda chiamata al modello per segnare le affermazioni non sostenute.
    • Misura quanto spesso le risposte sono del tutto sostenute.
  2. 30Iniezione di promptDifendi un’app dall’iniezione di prompt.
    • Scrivi attacchi nascosti nell’input dell’utente e nei documenti.
    • Separa le istruzioni fidate dal testo non fidato.
    • Limita gli strumenti che un attacco potrebbe raggiungere.
  3. 31Punteggi con rubriche e insiemi di testDai un punteggio agli output con rubriche e insiemi di test.
    • Scrivi una rubrica di valutazione.
    • Valuta a mano e con un modello.
    • Controlla quanto spesso sono d’accordo.
  4. 32Suite di test automaticaCostruisci una suite di test automatica per un’app LLM.
    • Copri accuratezza, formato, sicurezza e costo.
    • Eseguila con un solo comando.
    • Fai fallire la build quando i punteggi calano.

Studio di prodotti IA

  1. 33Utenti, funzioni e misure di successoScrivi gli utenti, le funzioni e le misure di successo.
    • Scegli una raccolta di documenti di ricerca approvati.
    • Scrivi gli utenti e le loro domande.
    • Fissa obiettivi per accuratezza, citazioni e costo.
  2. 34Retrieval, risposte e citazioniCostruisci retrieval, risposte e citazioni.
    • Indicizza i documenti.
    • Rispondi con citazioni.
    • Esegui la suite di test.
  3. 35Dire non lo soFai dire all’app non lo so quando mancano le prove.
    • Individua quando il retrieval non trova nulla di utile.
    • Rispondi «Le fonti non lo dicono» invece di indovinare.
    • Provalo con domande a cui i documenti non possono rispondere.
  4. 36Assistente di ricerca ancorato alle fontiPubblica e presenta un assistente di ricerca ancorato alle fonti.
    • Metti in uso l’app per la tua classe.
    • Presenta i punteggi di accuratezza, ancoraggio alle fonti, sicurezza e costo.
    • Spiega i suoi limiti.