25 lines
663 B
Python
25 lines
663 B
Python
from __future__ import annotations
|
|
|
|
from functools import lru_cache
|
|
|
|
from app.core.config import Settings, get_settings
|
|
|
|
@lru_cache()
|
|
def get_settings_cached() -> Settings:
|
|
return get_settings()
|
|
|
|
|
|
# Placeholder for future DI wiring. Tests patch classes directly, so we keep
|
|
# a minimal API here to avoid import-time side effects.
|
|
def get_llm_client():
|
|
settings = get_settings_cached()
|
|
from app.services.llm_client import LLMClient
|
|
return LLMClient(settings)
|
|
|
|
|
|
def get_rag_service():
|
|
# Import lazily to avoid circular imports in tests
|
|
from app.services.rag import RAGService
|
|
llm = get_llm_client()
|
|
return RAGService(llm_client=llm)
|