Fix configs validation (#66)

* fix configs validation of models

* added validation for defaults configs

* better error handling in main if any of error occurs during setup
This commit was merged in pull request #66.
This commit is contained in:
Giacomo Bertolazzi
2025-10-30 15:47:07 +01:00
committed by GitHub
parent b480888806
commit df14ae5bc6
2 changed files with 63 additions and 32 deletions

View File

@@ -1,32 +1,38 @@
import asyncio
import logging
import sys
from dotenv import load_dotenv
from app.configs import AppConfig
from app.interface import *
if __name__ == "__main__":
# =====================
load_dotenv()
configs = AppConfig.load()
# =====================
chat = ChatManager()
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()
telegram.add_miniapp_url(share_url)
telegram.run()
except AssertionError as e:
# =====================
load_dotenv()
configs = AppConfig.load()
# =====================
chat = ChatManager()
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:
logging.warning(f"Telegram bot could not be started: {e}")
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_forever()
except KeyboardInterrupt:
logging.info("Shutting down due to KeyboardInterrupt")
finally:
gradio.close()
telegram = TelegramApp()
telegram.add_miniapp_url(share_url)
telegram.run()
except AssertionError as e:
try:
logging.warning(f"Telegram bot could not be started: {e}")
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
loop.run_forever()
except KeyboardInterrupt:
logging.info("Shutting down due to KeyboardInterrupt")
finally:
gradio.close()
except Exception as e:
logging.error(f"Application failed to start: {e}")
sys.exit(1)