File size: 1,774 Bytes
5e0ae28 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
"""
Main application entry point
"""
from src.config.env import load_environment
from src.config.settings import AppConfig
from src.config.constants import ReasoningMode, ModelConfig
from src.ui.app import create_ui
from src.utils.logger import logger
def main():
"""
π APPLICATION ENTRY POINT
"""
try:
# Load environment variables
load_environment()
# Print startup information
logger.info("="*60)
logger.info("π Starting Advanced AI Reasoning System Pro...")
logger.info(f"π Environment: {AppConfig.ENV}")
logger.info(f"π¨ Theme: {AppConfig.THEME_PRIMARY}/{AppConfig.THEME_SECONDARY}")
logger.info(f"π€ Available Models: {len(ModelConfig)}")
logger.info(f"π§ Reasoning Modes: {len(ReasoningMode)}")
logger.info(f"πΎ Cache: {AppConfig.CACHE_SIZE} entries")
logger.info(f"β±οΈ Rate Limit: {AppConfig.RATE_LIMIT_REQUESTS} req/{AppConfig.RATE_LIMIT_WINDOW}s")
logger.info("ποΈ Features: Collapsible Sidebar, PDF Export, Real-time Analytics")
logger.info("="*60)
# Create and launch UI
demo = create_ui()
demo.launch(
share=False,
server_name="0.0.0.0",
server_port=7860,
show_error=True,
show_api=False,
favicon_path=None,
max_threads=AppConfig.MAX_WORKERS
)
except KeyboardInterrupt:
logger.info("βΉοΈ Application stopped by user (Ctrl+C)")
except Exception as e:
logger.critical(f"β Failed to start application: {e}", exc_info=True)
raise
finally:
logger.info("π Shutting down gracefully...")
if __name__ == "__main__":
main()
|