|
|
""" |
|
|
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() |
|
|
|
|
|
|
|
|
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) |
|
|
|
|
|
|
|
|
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() |
|
|
|