Aggiornata la sezione "Applicazione" nel README & fix main
This commit is contained in:
21
README.md
21
README.md
@@ -91,15 +91,22 @@ uv run python src/app
|
|||||||
|
|
||||||
# **Applicazione**
|
# **Applicazione**
|
||||||
|
|
||||||
***L'applicazione è attualmente in fase di sviluppo.***
|
> [!CAUTION]\
|
||||||
|
> ***L'applicazione è attualmente in fase di sviluppo.***
|
||||||
|
|
||||||
Usando la libreria ``gradio`` è stata creata un'interfaccia web semplice per interagire con l'agente principale. Gli agenti secondari si trovano nella cartella `src/app/agents` e sono:
|
L'applicazione viene fatta partire tramite il file [src/app/\_\_main\_\_.py](src/app/__main__.py) che inizializza l'agente principale e gli agenti secondari.
|
||||||
- **Market Agent**: Agente unificato che supporta multiple fonti di dati con auto-retry e gestione degli errori.
|
|
||||||
- **News Agent**: Recupera le notizie finanziarie più recenti sul mercato delle criptovalute.
|
|
||||||
- **Social Agent**: Analizza i sentimenti sui social media riguardo alle criptovalute.
|
|
||||||
- **Predictor Agent**: Utilizza i dati raccolti dagli altri agenti per fare previsioni.
|
|
||||||
|
|
||||||
Si può accedere all'interfaccia anche tramite un Bot di Telegram se si inserisce la chiave ottenuta da [BotFather](https://core.telegram.org/bots/features#creating-a-new-bot).
|
In esso viene creato il server `gradio` per l'interfaccia web e viene anche inizializzato il bot di Telegram (se è stata inserita la chiave nel file `.env` ottenuta da [BotFather](https://core.telegram.org/bots/features#creating-a-new-bot)).
|
||||||
|
|
||||||
|
L'interazione è guidata, sia tramite l'interfaccia web che tramite il bot di Telegram; l'utente può scegliere prima di tutto delle opzioni generali (come il modello e la strategia di investimento), dopodiché può inviare un messaggio di testo libero per chiedere consigli o informazioni specifiche. Per esempio: "Qual è l'andamento attuale di Bitcoin?" o "Consigliami quali sono le migliori criptovalute in cui investire questo mese".
|
||||||
|
|
||||||
|
L'applicazione, una volta ricevuta la richiesta, la passa al [Team](src/app/agents/team.py) di agenti che si occupano di raccogliere i dati necessari per rispondere in modo completo e ragionato.
|
||||||
|
|
||||||
|
Gli agenti coinvolti nel Team sono:
|
||||||
|
- **Leader**: Coordina gli altri agenti e fornisce la risposta finale all'utente.
|
||||||
|
- **Market Agent**: Recupera i dati di mercato attuali delle criptovalute da Binance e Yahoo Finance.
|
||||||
|
- **News Agent**: Recupera le ultime notizie sul mercato delle criptovalute da NewsAPI e GNews.
|
||||||
|
- **Social Agent**: Recupera i dati dai social media (Reddit) per analizzare il sentiment del mercato.
|
||||||
|
|
||||||
## Struttura del codice del Progetto
|
## Struttura del codice del Progetto
|
||||||
|
|
||||||
|
|||||||
@@ -54,5 +54,9 @@ if __name__ == "__main__":
|
|||||||
_app, local_url, share_url = gradio.launch(server_name=server, server_port=port, quiet=True, prevent_thread_lock=True, share=share)
|
_app, local_url, share_url = gradio.launch(server_name=server, server_port=port, quiet=True, prevent_thread_lock=True, share=share)
|
||||||
logging.info(f"UPO AppAI Chat is running on {local_url} and {share_url}")
|
logging.info(f"UPO AppAI Chat is running on {local_url} and {share_url}")
|
||||||
|
|
||||||
|
try:
|
||||||
telegram = BotFunctions.create_bot(share_url)
|
telegram = BotFunctions.create_bot(share_url)
|
||||||
telegram.run_polling()
|
telegram.run_polling()
|
||||||
|
except Exception as _:
|
||||||
|
logging.warning("Telegram bot could not be started. Continuing without it.")
|
||||||
|
gradio.queue().block_thread() # Keep the Gradio interface running
|
||||||
|
|||||||
Reference in New Issue
Block a user