diff options
Diffstat (limited to 'src/personalization/config')
| -rw-r--r-- | src/personalization/config/registry.py | 5 | ||||
| -rw-r--r-- | src/personalization/config/settings.py | 4 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/personalization/config/registry.py b/src/personalization/config/registry.py index 6048044..c7a6a09 100644 --- a/src/personalization/config/registry.py +++ b/src/personalization/config/registry.py @@ -7,6 +7,9 @@ import yaml from personalization.config import settings +# Project root for resolving config paths +_PROJECT_ROOT = Path(__file__).parent.parent.parent.parent + # Avoid circular imports by NOT importing extractors here at top level # from personalization.models.preference_extractor.base import PreferenceExtractorBase # from personalization.models.preference_extractor.rule_extractor import QwenRuleExtractor @@ -54,7 +57,7 @@ def get_chat_model(name: str, device_override: Optional[str] = None): cfg = settings.load_local_models_config() # Try to load raw config to support multi-backend map - with open("configs/local_models.yaml", "r") as f: + with open(_PROJECT_ROOT / "configs/local_models.yaml", "r") as f: raw_cfg = yaml.safe_load(f) models = raw_cfg.get("models", {}).get("llm", {}) diff --git a/src/personalization/config/settings.py b/src/personalization/config/settings.py index 1bb1bbe..8f0cc8a 100644 --- a/src/personalization/config/settings.py +++ b/src/personalization/config/settings.py @@ -37,7 +37,9 @@ def _resolve_config_path(env_key: str, default_rel: str) -> Path: value = os.getenv(env_key) if value: return Path(value).expanduser().resolve() - return (Path.cwd() / default_rel).resolve() + # Use project root (parent of src/personalization/config) instead of cwd + project_root = Path(__file__).parent.parent.parent.parent + return (project_root / default_rel).resolve() def load_local_models_config(path: Optional[str] = None) -> LocalModelsConfig: |
