Fix relative path resolution for models.yaml config
- Change working directory to PROJECT_ROOT on startup - Resolve models_config path relative to PROJECT_ROOT - Add debug logging for config path and available models - This fixes "Unknown model" error when running from different directories 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
22
main.py
22
main.py
@@ -3,11 +3,18 @@
|
|||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
import logging
|
import logging
|
||||||
|
import os
|
||||||
import sys
|
import sys
|
||||||
from pathlib import Path
|
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
|
# 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 config.settings import get_settings
|
||||||
from src.core.gpu_manager import GPUMemoryManager
|
from src.core.gpu_manager import GPUMemoryManager
|
||||||
@@ -50,8 +57,13 @@ async def initialize_services():
|
|||||||
|
|
||||||
# Initialize model registry
|
# Initialize model registry
|
||||||
logger.info("Initializing 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(
|
model_registry = ModelRegistry(
|
||||||
config_path=settings.models_config,
|
config_path=config_path,
|
||||||
gpu_manager=gpu_manager,
|
gpu_manager=gpu_manager,
|
||||||
max_cached_models=settings.max_loaded_models,
|
max_cached_models=settings.max_loaded_models,
|
||||||
idle_timeout_minutes=settings.idle_unload_minutes,
|
idle_timeout_minutes=settings.idle_unload_minutes,
|
||||||
@@ -61,6 +73,12 @@ async def initialize_services():
|
|||||||
logger.info("Registering model adapters...")
|
logger.info("Registering model adapters...")
|
||||||
register_all_adapters(model_registry)
|
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
|
# Initialize services
|
||||||
logger.info("Initializing services...")
|
logger.info("Initializing services...")
|
||||||
generation_service = GenerationService(
|
generation_service = GenerationService(
|
||||||
|
|||||||
Reference in New Issue
Block a user