Torna ai corsi
AI010 Professional

Introduzione ai LLM per sviluppatori

Questo corso è una versione adattata alla Cina della serie di tre corsi sui modelli linguistici su larga scala lanciata congiuntamente da Andrew Ng e OpenAI. Copre l'ingegneria dei prompt, la creazione di sistemi con l'API ChatGPT, lo sviluppo applicativo con LangChain e l'uso di LangChain per accedere a dati privati. Il corso offre un'introduzione chiara e accessibile su come sfruttare le capacità dei modelli linguistici su larga scala per costruire applicazioni con funzioni di sintesi, inferenza, trasformazione, espansione e chat.

4.8
24h
916 studenti
8 mi piace
Intelligenza Artificiale

Panoramica del corso

📚 Riepilogo del Contenuto

Questo corso è un adattamento cinese della serie in tre parti sui Modelli Linguistici di Grande Dimensione (LLM) sviluppata congiuntamente da Andrew Ng e OpenAI. Copre l'ingegneria dei prompt, la creazione di sistemi basati sull'API ChatGPT, lo sviluppo applicativo con LangChain e l'utilizzo di LangChain per accedere a dati privati. Il corso offre un'introduzione approfondita ma accessibile all'utilizzo delle capacità dei LLM per sviluppare applicazioni caratterizzate da funzionalità di riassunto, inferenza, trasformazione, espansione e chat.

Padroneggia l'ingegneria dei prompt e il framework LangChain per diventare uno sviluppatore di applicazioni AI nell'era dei grandi modelli.

🎯 Obiettivi di Apprendimento

  1. Distinguere tra LLM di base e LLM addestrati su istruzioni.
  2. Applicare quattro tecniche specifiche per scrivere istruzioni chiare e precise (delimitatori, output strutturato, controlli di condizione e prompting con pochi esempi).
  3. Implementare strategie per dare ai modelli "tempo per pensare", specificando passaggi del compito e richiedendo risoluzione indipendente dei problemi.
  4. Implementare il trattamento strutturato del testo: riassumere e estrarre informazioni specifiche da un documento singolo o da più documenti, controllando lunghezza e focalizzazione dell'output.
  5. Eseguire analisi automatica del testo: classificare sentimenti, identificare emozioni specifiche ed eseguire una classificazione tematica zero-shot tramite prompt.
  6. Eseguire trasformazioni multimodali: tradurre tra lingue, convertire formati di dati (ad esempio JSON in HTML) e correggere grammatica e ortografia in modo programmatico.
  7. Distinguere tra LLM di base e LLM addestrati su istruzioni, comprendendo l'impatto della tokenizzazione sul comportamento del modello.
  8. Implementare architetture di sistema strutturate utilizzando ruoli messaggio System, User e Assistant per definire personalità del modello.
  9. Applicare tecniche di classificazione e moderazione per valutare gli input utente in termini di sicurezza e instradamento.
  10. Implementare il chaining dei prompt: decomporre compiti complessi in sotto-compiti gestibili per migliorare affidabilità e ridurre i costi.

🔹 Lezione 1: Principi del Prompting e Sviluppo Iterativo

Panoramica: Questa lezione copre i principi fondamentali dell'ingegneria dei prompt per sviluppatori, passando dai modelli linguistici di base ("Base LLMs") ai modelli addestrati su istruzioni ("Instruction Tuned LLMs"). Introduce due pilastri principali per un'interazione efficace: scrivere istruzioni chiare e specifiche e concedere al modello sufficiente "tempo per pensare". Inoltre, stabilisce un flusso di lavoro iterativo per affinare i prompt in base a requisiti aziendali specifici, come vincoli di lunghezza e necessità di formattazione.

Risultati dell'Apprendimento:

  • Distinguere tra LLM di base e LLM addestrati su istruzioni.
  • Applicare quattro tecniche specifiche per scrivere istruzioni chiare e precise (delimitatori, output strutturato, controlli di condizione e prompting con pochi esempi).
  • Implementare strategie per dare ai modelli "tempo per pensare", specificando passaggi del compito e richiedendo risoluzione indipendente dei problemi.

🔹 Lezione 2: Funzionalità Fondamentali del Prompting e Chatbot

Panoramica: Questa lezione esplora l'applicazione pratica dei Modelli Linguistici di Grande Dimensione (LLMs) in cinque aree funzionali chiave: Riassunto, Inferenza, Trasformazione, Espansione e costruzione di chatbot interattivi. Fornisce agli sviluppatori una guida pratica per utilizzare Python e l'API OpenAI per elaborare testi, estrarre dati strutturati, modificare stili linguistici e mantenere il contesto conversazionale per applicazioni reali come bot di assistenza clienti.

Risultati dell'Apprendimento:

  • Implementare il trattamento strutturato del testo: riassumere e estrarre informazioni specifiche da un documento singolo o da più documenti, controllando lunghezza e focalizzazione dell'output.
  • Eseguire analisi automatica del testo: classificare sentimenti, identificare emozioni specifiche ed eseguire una classificazione tematica zero-shot tramite prompt.
  • Eseguire trasformazioni multimodali: tradurre tra lingue, convertire formati di dati (ad esempio JSON in HTML) e correggere grammatica e ortografia in modo programmatico.

🔹 Lezione 3: Logica del Sistema: Classificazione degli Input e Ragionamento

Panoramica: Questa lezione esplora i meccanismi fondamentali dei Modelli Linguistici di Grande Dimensione (LLMs), passando dalla tokenizzazione di base e dai ruoli dei messaggi a strategie avanzate di gestione degli input. Gli studenti impareranno a costruire sistemi robusti classificando l'intento dell'utente, moderando il contenuto per sicurezza e implementando il ragionamento a catena di pensiero (Chain of Thought, CoT) per migliorare l'accuratezza e controllare l'esperienza utente attraverso "monologhi interni".

Risultati dell'Apprendimento:

  • Distinguere tra LLM di base e LLM addestrati su istruzioni, comprendendo l'impatto della tokenizzazione sul comportamento del modello.
  • Implementare architetture di sistema strutturate utilizzando ruoli messaggio System, User e Assistant per definire personalità del modello.
  • Applicare tecniche di classificazione e moderazione per valutare gli input utente in termini di sicurezza e instradamento.

🔹 Lezione 4: Flussi di Lavoro Complessi e Valutazione del Sistema

Panoramica: Questa lezione copre la transizione da prompt semplici a flussi di lavoro LLM complessi e multistep. Si concentra sul "chaining dei prompt" per decomporre compiti, implementare livelli di sicurezza tramite l'API di Moderazione e stabilire quadri rigorosi di valutazione – sia per casi con una sola risposta corretta che per quelli che richiedono valutazioni soggettive basate su criteri.

Risultati dell'Apprendimento:

  • Implementare il chaining dei prompt: decomporre compiti complessi in sotto-compiti gestibili per migliorare affidabilità e ridurre i costi.
  • Creare un sistema end-to-end sicuro: integrare meccanismi di moderazione input/output e verifica dei fatti in un flusso produttivo.
  • Sviluppare strategie di valutazione: creare insiemi di validazione per misurare le prestazioni del LLM confrontandole con risposte "ideali" e usando rubriche assistite dal LLM.

🔹 Lezione 5: Fondamenti di LangChain: Modelli, Prompt e Memoria

Panoramica: Questa lezione introduce i componenti fondamentali del framework LangChain, concentrando l'attenzione sulla possibilità di astrarre le interazioni con i Modelli Linguistici di Grande Dimensione (LLM). Copre il passaggio dalle chiamate API dirette all'utilizzo dei componenti modulari di LangChain: Modelli, Template di Prompt e Parser di Output, concludendo con un'approfondita analisi di quattro diverse strategie di Memoria per mantenere lo stato della conversazione.

Risultati dell'Apprendimento:

  • Implementare chiamate di base ai LLM utilizzando ChatOpenAI e componenti modulari di LangChain.
  • Costruire strutture riutilizzabili di ChatPromptTemplate per gestire logiche promp complesse e variabili.
  • Estrae dati strutturati (JSON/Dizionari Python) da risposte non strutturate del LLM utilizzando StructuredOutputParser.

🔹 Lezione 6: Chain di LangChain, Q&A e Agenti Autonomi

Panoramica: Questa lezione copre gli elementi architettonici fondamentali di LangChain, passando da sequenze lineari semplici di prompt-completamento a sistemi complessi guidati dalla logica. Gli studenti impareranno a orchestrare più chiamate LLM tramite Chain, implementare la Generazione Aumentata da Recupero (Q&A) su documenti privati tramite archivi vettoriali e attivare Agenti Autonomi che usano il ragionamento per selezionare ed eseguire strumenti. Il materiale enfatizza il superamento delle interazioni a singolo prompt verso applicazioni LLM automatizzate e scalabili.

Risultati dell'Apprendimento:

  • Costruire flussi di lavoro lineari e complessi multistep utilizzando SequentialChain e RouterChain.
  • Creare un sistema di Q&A basato su documenti utilizzando embedding, archivi vettoriali e la chain RetrievalQA.
  • Implementare la valutazione automatizzata delle applicazioni LLM utilizzando QAGenerateChain e QAEvalChain.

🔹 Lezione 7: Preparazione dei Dati Privati: Caricamento e Vettorizzazione

Panoramica: Questa lezione copre le fasi iniziali della costruzione di un sistema di Generazione Aumentata da Recupero (RAG) con LangChain. Guida gli sviluppatori nel caricamento di dati non strutturati da fonti diverse (PDF, YouTube, Web, Notion), nella suddivisione di tali dati in frammenti semanticamente significativi e nella trasformazione di questi frammenti in embedding numerici per memorizzazione e ricerca di similarità in database vettoriali.

Risultati dell'Apprendimento:

  • Implementare diversi Caricatori di Documenti LangChain per importare dati da PDF, audio di YouTube, URL web e database Notion.
  • Configurare e confrontare diversi Divisori di Testo (Carattere, Ricorsivo, Token e Markdown) utilizzando parametri come chunk_size e chunk_overlap.
  • Eseguire il processo di vettorizzazione creando embedding e memorizzandoli in un archivio vettoriale Chroma per abilitare ricerche di similarità semantica.

🔹 Lezione 8: Generazione Aumentata da Recupero (RAG) e Interazione

Panoramica: Questo materiale esplora la transizione dal recupero semantico di base alle tecniche avanzate di recupero e interazione conversazionale all'interno delle applicazioni LLM. Copre tecniche di recupero sofisticate – come Massima Marginalità (MMR), filtraggio metadata e compressione contestuale – prima di dimostrare come costruire chain di Q&A stateful e chatbot completi utilizzando componenti di memoria e GUI di LangChain.

Risultati dell'Apprendimento:

  • Implementare strategie avanzate di recupero (MMR, Self-Querying e Compressione) per migliorare la diversità e la rilevanza dei documenti recuperati.
  • Confrontare e distribuire tipi diversi di chain (stuff, MapReduce, Refine) per elaborare il contesto recuperato in compiti di domanda-risposta.
  • Costruire un'interfaccia chatbot stateful utilizzando ConversationalRetrievalChain e ConversationBufferMemory per mantenere il contesto della conversazione.