Add project proposals for intelligent course planning, crypto analysis, and travel planning agents; update requirements with new libraries and recommendations
This commit is contained in:
60
proposte/Progetto 1 - Corsi.md
Normal file
60
proposte/Progetto 1 - Corsi.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
### **Progetto di Esame: Agente di Pianificazione Corsi Intelligente**
|
||||||
|
|
||||||
|
#### **Obiettivo del Progetto**
|
||||||
|
|
||||||
|
Creare un sistema basato su **LLM Agents** capace di generare un piano didattico completo e personalizzato per un corso, a partire da input dell'utente. Il sistema dovrà dimostrare capacità di **ragionamento** , **pianificazione adattiva** e **collaborazione tra agenti** per produrre output strutturati e coerenti.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **1. Architettura del Sistema**
|
||||||
|
|
||||||
|
Il sistema è basato su un'architettura a **due livelli** : una **UI** per l'input e un **sistema multi-agente** lato server per l'elaborazione.
|
||||||
|
|
||||||
|
* **Interfaccia Utente (UI)** : Frontend semplice e intuitivo che raccoglie i parametri del corso.
|
||||||
|
* **Input obbligatori** : Argomento del corso, ore totali, numero di lezioni.
|
||||||
|
* **Input opzionali** : Descrizione aggiuntiva, livello degli studenti (basso, medio, alto), generazione esercizi (toggle), parte pratica (toggle), upload di file (per libri, dispense, ecc.).
|
||||||
|
* **Motore di Ragionamento (Server)** : Core del sistema, dove agenti autonomi collaborano per produrre i materiali didattici.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **2. Flusso di Lavoro e Ruolo degli Agenti**
|
||||||
|
|
||||||
|
Il processo si svolge in una sequenza di passaggi orchestrati dall' **Agente Principale** .
|
||||||
|
|
||||||
|
* **Agente `PianificatoreCorso` (Orchestratore)**
|
||||||
|
|
||||||
|
* **Funzione** : Riceve tutti gli input dalla UI. È responsabile della coerenza e della coesione del progetto.
|
||||||
|
|
||||||
|
1. **Validazione** : Valuta la coerenza degli input (es. se le ore totali corrispondono a `lezioni * ore_per_lezione`).
|
||||||
|
2. **Ragionamento e Pianificazione** : Genera una bozza di piano del corso, suddividendo l'argomento principale in lezioni e argomenti secondari, bilanciando teoria e pratica in base alle richieste.
|
||||||
|
3. **Orchestrazione Agenti** : Delega la creazione dei contenuti specifici (presentazioni, dispense, esercizi) agli agenti specializzati, fornendo loro gli input necessari.
|
||||||
|
* **Agente `GeneratoreContenuti` (Collaboratore)**
|
||||||
|
|
||||||
|
* **Funzione** : Crea i documenti testuali per le dispense e le note del relatore per ogni lezione.
|
||||||
|
* **Input** : Argomenti specifici per la lezione, livello degli studenti.
|
||||||
|
* **Tool** : Utilizza un LLM (es. `Ollama` o API `OpenAI`) per la generazione di testo dettagliato.
|
||||||
|
* **Output** : Un file `.md` o `.txt` per ogni lezione.
|
||||||
|
* **Agente `GeneratorePresentazioni` (Collaboratore)**
|
||||||
|
|
||||||
|
* **Funzione** : Realizza le presentazioni `.pptx` per ogni lezione, basandosi sul contenuto generato e su un tema predefinito.
|
||||||
|
* **Input** : Punti chiave e testo delle slide per ogni argomento, tema grafico.
|
||||||
|
* **Tool** : Combina un LLM per la generazione del testo delle slide con la libreria **`python-pptx`** per la creazione del file.
|
||||||
|
* **Output** : Un file `.pptx` per ogni lezione.
|
||||||
|
* **Agente `GeneratoreEsercizi` (Collaboratore, Opzionale)**
|
||||||
|
|
||||||
|
* **Funzione** : Crea esercizi pratici a partire dagli argomenti teorici, in base al livello degli studenti.
|
||||||
|
* **Input** : Argomenti specifici, tipo di corso (pratico/teorico), livello.
|
||||||
|
* **Tool** : Utilizza un LLM per descrivere gli esercizi in formato testuale.
|
||||||
|
* **Output** : Un file di testo con la descrizione degli esercizi per ogni lezione.
|
||||||
|
* **Agente `RicercatoreWeb` (Collaboratore, Opzionale)**
|
||||||
|
|
||||||
|
* **Funzione** : Convalida e arricchisce il piano del corso con informazioni aggiornate o conferme sugli argomenti.
|
||||||
|
* **Input** : Argomenti del corso.
|
||||||
|
* **Tool** : Utilizza uno strumento di ricerca web (ad esempio, un'API di ricerca) per trovare riferimenti o dati aggiuntivi.
|
||||||
|
* **Output** : Dati di supporto da passare agli altri agenti.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **3. Output Finale**
|
||||||
|
|
||||||
|
Una volta che tutti gli agenti hanno completato i loro compiti, il programma finale raccoglie i documenti prodotti (`.md`, `.txt`, `.pptx`). L'output sarà una **cartella compressa (`.zip`)** che conterrà tutti i materiali, organizzati per lezione (es. `Lezione_1_Intro_Python/`, `Lezione_2_Variabili/`). Questa struttura permette all'utente di avere subito un pacchetto pronto all'uso.
|
||||||
46
proposte/Progetto 2 - Crypto.md
Normal file
46
proposte/Progetto 2 - Crypto.md
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
### **Progetto di Esame: Agente di Analisi e Consulenza Crypto/Scommesse**
|
||||||
|
|
||||||
|
#### **Obiettivo**
|
||||||
|
|
||||||
|
Creare un sistema di consulenza basato su **LLM Agents** che analizza dati di mercato in tempo reale per fornire raccomandazioni strategiche e motivate su criptovalute o scommesse sportive. L'obiettivo è dimostrare la capacità dell'agente di interpretare dati complessi, ragionare su di essi e presentare un'analisi comprensibile e razionale.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### **1. Input Utente e Analisi Preliminare**
|
||||||
|
|
||||||
|
L'utente fornisce una richiesta di analisi che include:
|
||||||
|
|
||||||
|
* **Tipo di analisi:** Criptovalute o scommesse sportive.
|
||||||
|
* **Dettagli specifici:** Nome della criptovaluta (es. "Ethereum") o nome dell'evento sportivo (es. "Partita di calcio Juventus vs. Inter").
|
||||||
|
* **Fattori da considerare:** Intervallo di tempo (es. "prossime 24 ore"), infortuni, condizioni meteo.
|
||||||
|
* **Stile di approccio:** Stile di investimento (aggressivo, conservativo) o tipo di scommessa.
|
||||||
|
|
||||||
|
L'**Agente Orchestratore** riceve queste informazioni e le prepara per gli agenti successivi.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### **2. Processo di Analisi e Acquisizione Dati**
|
||||||
|
|
||||||
|
Questo processo si basa sulla collaborazione di più agenti specializzati, in linea con l'approccio dei modelli di ragionamento.
|
||||||
|
|
||||||
|
* **Agente RicercatoreDati:** Recupera dati di trading da API di exchange (es. Binance) per le criptovalute, o da database di statistiche sportive per le scommesse.
|
||||||
|
* **Agente AnalistaSentiment:** Esegue l'analisi di news e post su forum e social media per valutare il sentiment del mercato o del pubblico, individuando trend ed emozioni che possono influenzare l'andamento.
|
||||||
|
* **Agente MotorePredittivo:** Combina i dati numerici e le analisi di sentiment per generare previsioni e strategie plausibili, come un **modello di ragionamento trasparente** .
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### **3. Valutazione e Selezione Strategica**
|
||||||
|
|
||||||
|
L'**Agente Orchestratore** valuta le previsioni generate e, in base al suo ragionamento, seleziona le strategie più appropriate per l'utente.
|
||||||
|
|
||||||
|
* **Valutazione Logica:** Analizza i dati raccolti, come volumi di scambio o statistiche di gioco.
|
||||||
|
* **Analisi Integrata:** Scarta o modifica le strategie se i dati del sentiment o altri fattori esterni lo rendono necessario. Ad esempio, potrebbe consigliare di non puntare su una squadra anche se le statistiche sono a suo favore, a causa di un report di infortunio.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
#### **4. Presentazione dei Risultati**
|
||||||
|
|
||||||
|
Infine, il sistema presenta all'utente le raccomandazioni strategiche.
|
||||||
|
|
||||||
|
* **Consulenza Dettagliata:** Ogni proposta include un riassunto della strategia, le ragioni che la supportano e i dati presi in considerazione.
|
||||||
|
* **Ragionamenti (Note):** Vengono aggiunte note esplicative che descrivono il processo decisionale degli agenti, dimostrando il "perché" di una certa scelta. Ad esempio: "Questa strategia è consigliata perché l'analisi del sentiment indica un forte interesse nella criptovaluta X, nonostante un recente calo di prezzo."
|
||||||
@@ -1,14 +1,15 @@
|
|||||||
Assolutamente. Ecco il piano di lavoro completo per il tuo progetto di esame, formattato come documento interno per una consultazione più semplice.
|
|
||||||
|
|
||||||
---
|
|
||||||
### **Progetto di Esame: Agente di Pianificazione Viaggi Intelligente**
|
### **Progetto di Esame: Agente di Pianificazione Viaggi Intelligente**
|
||||||
|
|
||||||
#### **Obiettivo**
|
#### **Obiettivo**
|
||||||
|
|
||||||
Creare un sistema di pianificazione viaggi basato su **LLM Agents** che genera itinerari personalizzati e adattivi in base a vincoli e informazioni in tempo reale. L'obiettivo è dimostrare la capacità del sistema di ragionare, adattarsi a eventi esterni e comunicare in modo intelligente.
|
Creare un sistema di pianificazione viaggi basato su **LLM Agents** che genera itinerari personalizzati e adattivi in base a vincoli e informazioni in tempo reale. L'obiettivo è dimostrare la capacità del sistema di ragionare, adattarsi a eventi esterni e comunicare in modo intelligente.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### **1. Input Utente e Analisi Preliminare**
|
#### **1. Input Utente e Analisi Preliminare**
|
||||||
|
|
||||||
L'utente interagisce con una semplice interfaccia, fornendo una richiesta di viaggio che include:
|
L'utente interagisce con una semplice interfaccia, fornendo una richiesta di viaggio che include:
|
||||||
|
|
||||||
* **Vincoli finanziari:** Budget massimo.
|
* **Vincoli finanziari:** Budget massimo.
|
||||||
* **Preferenze di viaggio:** Tipologia di vacanza (es. mare, montagna, città) e mezzo di trasporto preferito (es. treno, aereo).
|
* **Preferenze di viaggio:** Tipologia di vacanza (es. mare, montagna, città) e mezzo di trasporto preferito (es. treno, aereo).
|
||||||
* **Tempistiche:** Date di viaggio e durata.
|
* **Tempistiche:** Date di viaggio e durata.
|
||||||
@@ -16,22 +17,31 @@ L'utente interagisce con una semplice interfaccia, fornendo una richiesta di via
|
|||||||
L'**Agente di Comunicazione** riceve queste informazioni e, usando un **LLM**, le interpreta e le formatta per gli agenti successivi.
|
L'**Agente di Comunicazione** riceve queste informazioni e, usando un **LLM**, le interpreta e le formatta per gli agenti successivi.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### **2. Processo di Pianificazione e Acquisizione Dati**
|
#### **2. Processo di Pianificazione e Acquisizione Dati**
|
||||||
|
|
||||||
Questo processo si basa sulla collaborazione di più agenti specializzati, in linea con l'approccio dei modelli di ragionamento.
|
Questo processo si basa sulla collaborazione di più agenti specializzati, in linea con l'approccio dei modelli di ragionamento.
|
||||||
|
|
||||||
* **Agente Pianificatore:** Sulla base della richiesta iniziale, questo agente genera internamente una serie di **idee di viaggio** iniziali.
|
* **Agente Pianificatore:** Sulla base della richiesta iniziale, questo agente genera internamente una serie di **idee di viaggio** iniziali.
|
||||||
* **Agente Meteo:** Per ogni destinazione, richiede le previsioni del tempo tramite un'API REST, come quella di `open-meteo.com`.
|
* **Agente Meteo:** Per ogni destinazione, richiede le previsioni del tempo tramite un'API REST, come quella di `open-meteo.com` e `openstreetmap.org`.
|
||||||
* **Agente Notizie:** Interroga un'API di notizie (`newsapi.com`) per rilevare eventuali eventi imprevisti o avvisi importanti per le località considerate.
|
* **Agente Notizie:** Interroga un'API di notizie (`newsapi.com`) per rilevare eventuali eventi imprevisti o avvisi importanti per le località considerate.
|
||||||
* **Agente Ricerca:** Per ogni idea di viaggio, raccoglie informazioni essenziali sui **punti di interesse**, sfruttando un database statico o un'API semplificata, come suggerito nelle linee guida del progetto.
|
* **Agente Ricerca:** Per ogni idea di viaggio, raccoglie informazioni essenziali sui **punti di interesse**, sfruttando un database statico o un'API semplificata, come suggerito nelle linee guida del progetto.
|
||||||
* **Agente Logistico:** Ottiene dati simulati su opzioni di viaggio (voli, treni) e costi per ciascuna destinazione.
|
* **Agente Logistico:** Ottiene dati simulati su opzioni di viaggio (voli, treni) e costi per ciascuna destinazione o da una API esterna (`serpapi.com/google-flights-api`)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### **3. Valutazione e Selezione Adattiva**
|
#### **3. Valutazione e Selezione Adattiva**
|
||||||
|
|
||||||
L'**Agente Pianificatore** valuta le idee di viaggio in base alle informazioni raccolte dagli altri agenti.
|
L'**Agente Pianificatore** valuta le idee di viaggio in base alle informazioni raccolte dagli altri agenti.
|
||||||
|
|
||||||
* **Valutazione Logica:** Analizza il budget e la compatibilità dei mezzi di trasporto.
|
* **Valutazione Logica:** Analizza il budget e la compatibilità dei mezzi di trasporto.
|
||||||
* **Adattabilità:** Scarta o modifica le proposte se le condizioni esterne lo rendono necessario. Ad esempio, non proporrà un viaggio al mare se sono previste forti piogge, o cambierà l'ordine delle tappe in base a notizie rilevanti.
|
* **Adattabilità:** Scarta o modifica le proposte se le condizioni esterne lo rendono necessario. Ad esempio, non proporrà un viaggio al mare se sono previste forti piogge, o cambierà l'ordine delle tappe in base a notizie rilevanti.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
#### **4. Presentazione dei Risultati**
|
#### **4. Presentazione dei Risultati**
|
||||||
|
|
||||||
Infine, il sistema presenta all'utente un massimo di tre proposte di viaggio.
|
Infine, il sistema presenta all'utente un massimo di tre proposte di viaggio.
|
||||||
|
|
||||||
* **Itinerari Dettagliati:** Ogni proposta include un riepilogo del viaggio, le tappe suggerite e i costi stimati.
|
* **Itinerari Dettagliati:** Ogni proposta include un riepilogo del viaggio, le tappe suggerite e i costi stimati.
|
||||||
* **Ragionamenti (Note):** Vengono aggiunte note esplicative che descrivono il processo decisionale degli agenti, dimostrando il "perché" della scelta fatta. Ad esempio, "Abbiamo evitato la città A perché le notizie riportano un evento di traffico locale".
|
* **Ragionamenti (Note):** Vengono aggiunte note esplicative che descrivono il processo decisionale degli agenti, dimostrando il "perché" della scelta fatta. Ad esempio, "Abbiamo evitato la città A perché le notizie riportano un evento di traffico locale".
|
||||||
82
proposte/Riassunto.md
Normal file
82
proposte/Riassunto.md
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
### **1. Proposta: Agente di Pianificazione Corsi Intelligente**
|
||||||
|
|
||||||
|
#### **Descrizione Dettagliata**
|
||||||
|
|
||||||
|
L'agente si concentra sulla generazione dinamica di programmi didattici completi e personalizzati. A differenza dei sistemi statici, questo progetto utilizza un'architettura multi-agente per ragionare sul contenuto, adattarsi a diversi livelli di competenza e produrre materiali didattici pronti all'uso. Il focus è sulla capacità del sistema di pianificare, generare e validare informazioni complesse, trasformando input semplici in una serie di documenti coerenti.
|
||||||
|
|
||||||
|
**Features Principali**
|
||||||
|
|
||||||
|
* **Pianificazione Adattiva** : Il sistema bilancia automaticamente gli argomenti teorici e pratici in base alle ore disponibili e al livello degli studenti.
|
||||||
|
* **Generazione di Contenuti Multipli** : Produce non solo il programma, ma anche dispense, presentazioni e note per il relatore, dimostrando la capacità di creare diversi tipi di output da un'unica fonte di dati.
|
||||||
|
* **Gestione di Dati Eterogenei** : Accetta input strutturati (ore, lezioni) e non strutturati (descrizioni, file di riferimento), dimostrando flessibilità.
|
||||||
|
* **Output Coerente** : Organizza tutti i materiali generati in una cartella compressa per una consegna facile e organizzata.
|
||||||
|
|
||||||
|
#### **Input Utente**
|
||||||
|
|
||||||
|
* **Argomento del corso** : Tema principale (es. "Introduzione a Python").
|
||||||
|
* **Ore totali** : Durata complessiva del corso.
|
||||||
|
* **Numero di lezioni** : Suddivisione del tempo.
|
||||||
|
* **Livello studenti** : Basso, medio o alto.
|
||||||
|
* **Opzioni Aggiuntive** : Toggle per esercizi e parte pratica, upload di file di riferimento.
|
||||||
|
|
||||||
|
#### **Agenti Lato Server**
|
||||||
|
|
||||||
|
* **Agente `PianificatoreCorso`** : L'orchestratore che riceve l'input, ragiona sulla struttura del corso e delega i compiti agli altri agenti.
|
||||||
|
* **Agente `GeneratoreDispense`** : Crea documenti testuali formattati per ogni lezione.
|
||||||
|
* **Agente `GeneratorePresentazioni`** : Genera file PowerPoint (.pptx) usando il contenuto fornito dall'LLM e la libreria `python-pptx`.
|
||||||
|
* **Agente `GeneratoreEsercizi`** : Produce esercizi pratici descritti testualmente, adattati al livello degli studenti.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **2. Proposta: Agente di Analisi e Consulenza Crypto**
|
||||||
|
|
||||||
|
#### **Descrizione Dettagliata**
|
||||||
|
|
||||||
|
Il progetto crea un consulente virtuale che utilizza gli **LLM** per analizzare il mercato delle criptovalute. A differenza dei semplici tracker di prezzo, questo agente combina dati di mercato in tempo reale con l'analisi del sentiment online per fornire raccomandazioni strategiche e il ragionamento che le supporta. L'intelligenza del sistema risiede nella sua capacità di elaborare grandi quantità di dati non strutturati (news, social media) e di presentarli in una forma comprensibile e contestualizzata per l'utente.
|
||||||
|
|
||||||
|
**Features Principali**
|
||||||
|
|
||||||
|
* **Analisi in Tempo Reale** : Si connette a un'API per monitorare prezzi e volumi di scambio.
|
||||||
|
* **Sentiment Analysis** : Scansiona fonti online per rilevare il sentiment del mercato e i trend.
|
||||||
|
* **Consigli Strategici** : Non si limita a mostrare i dati, ma propone una strategia (es. "compra", "vendi", "hold") e ne spiega le motivazioni.
|
||||||
|
* **Ragionamento Trasparente** : Fornisce un resoconto dettagliato del processo decisionale, elencando i fattori che hanno portato a una specifica raccomandazione.
|
||||||
|
|
||||||
|
#### **Input Utente**
|
||||||
|
|
||||||
|
* **Nome della criptovaluta** : La moneta da analizzare (es. "Bitcoin", "Ethereum").
|
||||||
|
* **Intervallo di tempo** : Ore, giorni o settimane.
|
||||||
|
* **Stile di trading** : Aggressivo, conservativo.
|
||||||
|
|
||||||
|
#### **Agenti Lato Server**
|
||||||
|
|
||||||
|
* **Agente `RicercatoreMercato`** : Recupera dati di trading da API pubbliche.
|
||||||
|
* **Agente `AnalistaSentiment`** : Esegue lo scraping di notizie e post sui social per l'analisi del sentiment.
|
||||||
|
* **Agente `ConsulenteStrategico`** : Combina i dati raccolti, il sentiment e le preferenze dell'utente per formulare una strategia e le sue motivazioni.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### **3. Proposta: Agente di Pianificazione Viaggi Intelligente**
|
||||||
|
|
||||||
|
#### **Descrizione Dettagliata**
|
||||||
|
|
||||||
|
Questo progetto è un sistema che pianifica viaggi personalizzati e adattivi. L'agente intelligente non si limita a proporre un itinerario fisso, ma ragiona e modifica il piano in base a informazioni in tempo reale, dimostrando la sua capacità di adattamento a eventi imprevisti. La forza del progetto sta nel mostrare come un LLM può integrare dati da fonti eterogenee (meteo, notizie, punti di interesse) per prendere decisioni complesse e generare un output coerente e personalizzato.
|
||||||
|
|
||||||
|
**Features Principali**
|
||||||
|
|
||||||
|
* **Adattabilità in Tempo Reale** : Il piano di viaggio si adatta a variabili come le condizioni meteorologiche o gli eventi locali.
|
||||||
|
* **Pianificazione Basata su Dati** : Il sistema utilizza informazioni reali e simulazioni per ottimizzare il viaggio in base ai vincoli dell'utente e alle condizioni esterne.
|
||||||
|
* **Ragionamento Esplicito** : Spiega all'utente il "perché" di ogni decisione presa (es. "Abbiamo evitato la città A a causa di un evento locale imprevisto").
|
||||||
|
* **Output Organizzato** : Il risultato è un itinerario chiaro e dettagliato con tutte le informazioni necessarie per l'utente.
|
||||||
|
|
||||||
|
#### **Input Utente**
|
||||||
|
|
||||||
|
* **Vincoli finanziari** : Budget massimo.
|
||||||
|
* **Preferenze di viaggio** : Mare, montagna, città, ecc.
|
||||||
|
* **Tempistiche** : Date di viaggio e durata.
|
||||||
|
|
||||||
|
#### **Agenti Lato Server**
|
||||||
|
|
||||||
|
* **Agente `Pianificatore`** : L'orchestratore che crea l'itinerario e lo adatta in base alle informazioni degli altri agenti.
|
||||||
|
* **Agente `Meteo`** : Interroga un'API per le previsioni meteorologiche.
|
||||||
|
* **Agente `Notizie`** : Cerca eventi locali e notizie che potrebbero influenzare il viaggio.
|
||||||
|
* **Agente `Ricerca`** : Recupera informazioni sui punti di interesse, voli e treni da database o API.
|
||||||
@@ -2,16 +2,28 @@
|
|||||||
# Se si nota che alcune non sono necessarie, si potrebbero rimuovere
|
# Se si nota che alcune non sono necessarie, si potrebbero rimuovere
|
||||||
# in modo da evitare conflitti o problemi futuri.
|
# in modo da evitare conflitti o problemi futuri.
|
||||||
# Per ogni roba ho fatto un commento per evitare di dimenticarmi cosa fa chi.
|
# Per ogni roba ho fatto un commento per evitare di dimenticarmi cosa fa chi.
|
||||||
|
# Inoltre ho messo una emoji per indicare se è raccomandato o meno.
|
||||||
|
|
||||||
# per fare richieste HTTP
|
# ✅ per gestire variabili d'ambiente (generalmente API keys o opzioni)
|
||||||
requests
|
|
||||||
# per l'elaborazione del linguaggio naturale in locale (https://huggingface.co/learn/llm-course/chapter1/3?fw=pt)
|
|
||||||
transformers
|
|
||||||
# per fare una UI web semplice con input e output
|
|
||||||
gradio
|
|
||||||
# per interagire con l'API di OpenAI e di altri (basta cambiare il baseurl)
|
|
||||||
openai
|
|
||||||
# per fare in modo di ottenere dati validati e strutturati
|
|
||||||
pydantic
|
|
||||||
# per gestire variabili d'ambiente (generalmente API keys o opzioni)
|
|
||||||
dotenv
|
dotenv
|
||||||
|
|
||||||
|
# 🟡 per fare richieste HTTP
|
||||||
|
requests
|
||||||
|
# 🟡 per fare scraping di pagine web
|
||||||
|
bs4
|
||||||
|
|
||||||
|
# ✅ per fare una UI web semplice con input e output
|
||||||
|
gradio
|
||||||
|
|
||||||
|
# 🟡 per fare in modo di ottenere dati validati e strutturati
|
||||||
|
pydantic
|
||||||
|
|
||||||
|
# ❌ per l'elaborazione del linguaggio naturale in locale (https://huggingface.co/learn/llm-course/chapter1/3?fw=pt)
|
||||||
|
transformers
|
||||||
|
# ❌ per interagire con l'API di OpenAI e di altri (basta cambiare il baseurl)
|
||||||
|
openai
|
||||||
|
# ❌ per fare chiamate a modelli indipendentemente dal modello specifico (astrae meglio rispetto a openai)
|
||||||
|
langchain
|
||||||
|
# ✅ per costruire agenti (ovvero modelli che possono fare più cose tramite tool) https://github.com/agno-agi/agno
|
||||||
|
# altamente consigliata dato che ha anche tools integrati per fare scraping, calcoli e molto altro
|
||||||
|
agno
|
||||||
|
|||||||
Reference in New Issue
Block a user