Syllabus del Corso di Prompt Engineering & AI

Obiettivi del Corso:

  • Comprendere i concetti fondamentali e le tecniche avanzate del Prompt Engineering applicati all'intelligenza artificiale.
  • Applicare tecniche di Prompt Engineering per migliorare l'efficacia dei Large Language Models (LLM).
  • Sviluppare competenze pratiche nell'uso di diversi tipi di prompt e nel loro adattamento a vari casi d'uso.
  • Progettare e implementare un progetto finale che dimostri l'applicazione pratica delle tecniche apprese.

Durata del Corso: 30 ore, suddivise in 20 lezioni da 1 ora e 30 minuti ciascuna.

________________________

Lezione 1: Introduzione a Prompt Engineering & AI

  • Panoramica del corso
  • Definizione di Prompt Engineering
  • Panoramica sui Large Language Models (LLM)

Lezione 2: Impostazioni LLM

  • Configurazione e ottimizzazione di base per LLM
  • Scelta del modello giusto per il task specifico

Lezione 3: I fondamentali del Prompt

  • Struttura e elementi essenziali di un prompt efficace
  • Analisi di esempi base

Lezione 4: Elementi di un Prompt

  • Componenti critici di un prompt
  • Linguaggio e tono

Lezione 5: Suggerimenti generali per la progettazione di Prompt

  • Best practices e strategie comuni
  • Evitare ambiguità e migliorare la precisione

Lezione 6: Esempi di Prompt

  • Analisi e discussione di casi studio
  • Esercizi pratici

Lezione 7: Tecniche Avanzate di Prompt Engineering - Parte 1

  • Prompt Zero-shot e Few-shot
  • Chain-of-Thought e Self-Consistency

Lezione 8: Tecniche Avanzate di Prompt Engineering - Parte 2

  • Generate Knowledge e Prompt Chaining
  • Tree of Thoughts e Retrieval Augmented Generation

Lezione 9: Tecniche Innovative nel Prompt Engineering

  • Automatic Reasoning and Tool-use
  • Program-Aided Language Models e ReAct

Lezione 10: Approcci Avanzati e Multimodali

  • Reflexion, Multimodal CoT, e Graph Prompt
  • Analisi di casi pratici

Lezione 11: Applicazioni del Prompt Engineering - Parte 1

  • Generazione di dati e codice
  • Applicazioni nel machine learning e nella classificazione

Lezione 12: Applicazioni del Prompt Engineering - Parte 2

  • Funzioni avanzate di prompt: Function Calling, synthetic_rag
  • Creatività e interdisciplinarità

Lezione 13: Valutazione e Estrazione di Informazioni

  • Metodi di valutazione per i prompt
  • Estrazione di informazioni specifiche

Lezione 14: Generazione di Immagini e Applicazioni Matematiche

  • Tecniche di generazione di immagini tramite prompt
  • Applicazioni nel question answering e nel reasoning

Lezione 15: Riassunto di Testi e Verità

  • Tecniche di text summarization
  • Identificazione di verità e gestione delle allucinazioni

Lezione 16: Sicurezza e Etica nel Prompt Engineering

  • Identificazione e mitigazione di prompt conflittuali e pregiudizi
  • Discussione su articoli scientifici e ricerca su LLM

Lezione 17: Panoramica sui Modelli di LLM

  • Caratteristiche e differenze tra Flan, ChatGPT, LLaMA, GPT-4, e altri
  • Scelta del modello giusto per il proprio progetto

Lezione 18: Strumenti e Risorse per il Prompt Engineering

  • Uso di notebook, dataset, e letture selezionate
  • Creazione di un ambiente di sviluppo efficace

Lezione 19: Laboratorio e Workshop su Progetti di Prompt Engineering

  • Sviluppo guidato di progetti individuali o di gruppo
  • Supporto, Q&A, e sessioni interattive

Lezione 20: Presentazione del Progetto Finale e Revisione

  • Presentazione dei progetti finali degli studenti
  • Feedback collettivo e individuale, discussione dei risultati

________________________

Metodologia Didattica:

  • Lezioni interattive con dimostrazioni pratiche
  • Esercizi pratici per consolidare le conoscenze
  • Utilizzo di quiz e test per la valutazione dell'apprendimento
  • Forum di discussione per il supporto tra pari e il chiarimento dei dubbi

Materiale Fornito:

  • Slide delle lezioni
  • Video tutorial
  • Guide e risorse online selezionate

Valutazione:

  • Compiti pratici per ogni modulo
  • Partecipazione ai forum di discussione
  • Progetto finale per valutare il raggiungimento degli obiettivi di apprendimento