diff --git a/main.py b/main.py index 68fcd38..d412677 100644 --- a/main.py +++ b/main.py @@ -3,11 +3,18 @@ import asyncio import logging +import os import sys from pathlib import Path +# Get project root directory +PROJECT_ROOT = Path(__file__).parent.absolute() + +# Change to project root to ensure relative paths work +os.chdir(PROJECT_ROOT) + # Add project root to path -sys.path.insert(0, str(Path(__file__).parent)) +sys.path.insert(0, str(PROJECT_ROOT)) from config.settings import get_settings from src.core.gpu_manager import GPUMemoryManager @@ -50,8 +57,13 @@ async def initialize_services(): # Initialize model registry logger.info("Initializing model registry...") + config_path = Path(settings.models_config) + if not config_path.is_absolute(): + config_path = PROJECT_ROOT / config_path + logger.info(f"Models config path: {config_path} (exists: {config_path.exists()})") + model_registry = ModelRegistry( - config_path=settings.models_config, + config_path=config_path, gpu_manager=gpu_manager, max_cached_models=settings.max_loaded_models, idle_timeout_minutes=settings.idle_unload_minutes, @@ -61,6 +73,12 @@ async def initialize_services(): logger.info("Registering model adapters...") register_all_adapters(model_registry) + # Log available models for debugging + available_models = model_registry.list_models() + logger.info(f"Available models: {len(available_models)}") + for model in available_models[:5]: # Log first 5 + logger.info(f" - {model['model_id']}/{model['variant']} (has_adapter: {model['has_adapter']})") + # Initialize services logger.info("Initializing services...") generation_service = GenerationService(