* Aggiungi supporto per il bot Telegram: aggiorna .env.example, pyproject.toml e uv.lock * demo per bot Telegram con gestione comandi e inline keyboard * Implementazione del bot Telegram con gestione dei comandi e stati di conversazione iniziali * Aggiorna la gestione delle configurazioni nel bot Telegram: modifica gli stati della conversazione e aggiungi il supporto per la gestione dei messaggi. * fix static models & readme * aggiunto il supporto per la query dell'utente e modificata la visualizzazione dei messaggi di stato. * Aggiunto il supporto per la gestione del bot Telegram e aggiornata la configurazione del pipeline * Aggiornato .gitignore per includere la cartella .gradio e rimosso chroma_db. Aggiunto il supporto per la generazione di report in PDF utilizzando markdown-pdf nel bot Telegram. * Refactor pipeline and chat manager for improved structure and functionality * Better logging * Aggiornato il comportamento del logging per i logger di agno. Aggiunto il supporto per l'opzione check_for_async nella configurazione di RedditWrapper. * Rimosso codice commentato e import non utilizzati nella classe Pipeline per semplificare la struttura * Aggiornata la sezione "Applicazione" nel README & fix main * Telegram instance instead of static * Fix logging to use labels for team model, leader model, and strategy * Rinomina il lock da _lock a __lock per garantire l'incapsulamento nella classe AppConfig * Rinomina i logger per una migliore identificazione e gestisce le eccezioni nel bot di Telegram * Aggiorna i messaggi di errore nel gestore Telegram per una migliore chiarezza e modifica il commento nel file di configurazione per riflettere lo stato del modello. * Aggiungi un messaggio di attesa durante la generazione del report nel bot di Telegram
32 lines
1003 B
Python
32 lines
1003 B
Python
import asyncio
|
|
import logging
|
|
from dotenv import load_dotenv
|
|
from app.configs import AppConfig
|
|
from app.interface import *
|
|
from app.agents import Pipeline
|
|
|
|
|
|
if __name__ == "__main__":
|
|
load_dotenv()
|
|
|
|
configs = AppConfig.load()
|
|
pipeline = Pipeline(configs)
|
|
|
|
chat = ChatManager(pipeline)
|
|
gradio = chat.gradio_build_interface()
|
|
_app, local_url, share_url = gradio.launch(server_name="0.0.0.0", server_port=configs.port, quiet=True, prevent_thread_lock=True, share=configs.gradio_share)
|
|
logging.info(f"UPO AppAI Chat is running on {share_url or local_url}")
|
|
|
|
try:
|
|
telegram = TelegramApp(pipeline)
|
|
telegram.add_miniapp_url(share_url)
|
|
telegram.run()
|
|
except AssertionError as e:
|
|
try:
|
|
logging.warning(f"Telegram bot could not be started: {e}")
|
|
asyncio.get_event_loop().run_forever()
|
|
except KeyboardInterrupt:
|
|
logging.info("Shutting down due to KeyboardInterrupt")
|
|
finally:
|
|
gradio.close()
|