# app.py # app.py import os import sys import logging import gradio as gr import spaces import torch # Asegurarnos que el directorio raíz está en el path sys.path.insert(0, os.path.dirname(os.path.abspath(__file__))) # Importaciones del proyecto from modules.ui.router import create_router from modules.database.database_init import initialize_database_connections # Configuración de CUDA/GPU zero = torch.Tensor([0]).cuda() print(zero.device) @spaces.GPU def greet(n): print(zero.device) return f"Hello {zero + n} Tensor" # Configuración de logging logging.basicConfig(level=logging.INFO) logger = logging.getLogger(__name__) def initialize_app(): """Inicializa la aplicación y sus dependencias""" # Verificar variables de entorno if not all([os.getenv("COSMOS_ENDPOINT"), os.getenv("COSMOS_KEY")]): raise ValueError("Faltan variables de entorno: COSMOS_ENDPOINT y COSMOS_KEY") # Inicializar conexiones a la base de datos if not initialize_database_connections(): raise ValueError("No se pudo inicializar la conexión a la base de datos") logger.info("Inicialización completada exitosamente") def main(): """Función principal que inicia la aplicación""" try: initialize_app() app = create_router() app.launch( server_name="0.0.0.0", server_port=7860, show_error=True # Ayuda a depurar ) except Exception as e: logger.error(f"Error iniciando la aplicación: {str(e)}") raise if __name__ == "__main__": main()