SwedenTaxRAGService / src /core /dependencies.py
gokceai's picture
fix for hf deployment
e23b947
Raw
History Blame Contribute Delete
1.49 kB
from functools import lru_cache
from src.core.config import settings
from src.core.exceptions import ConfigurationError, InfrastructureError
from src.core.security import EncryptionManager
from src.db.chroma_client import VectorDBManager
from src.db.sqlite_document_repo import SQLiteDocumentRepository
from src.engine.llm_engine import AnswerGenerator
from src.engine.rag_core import RAGEngine
@lru_cache
def get_encryption_manager() -> EncryptionManager:
if not settings.MASTER_ENCRYPTION_KEY:
raise ConfigurationError("MASTER_ENCRYPTION_KEY is not configured.")
return EncryptionManager(settings.MASTER_ENCRYPTION_KEY)
@lru_cache
def get_vector_db_manager() -> VectorDBManager:
try:
return VectorDBManager()
except Exception as e:
raise InfrastructureError(f"Vector DB init failed: {e}") from e
@lru_cache
def get_document_repository() -> SQLiteDocumentRepository:
try:
return SQLiteDocumentRepository(
db_path=settings.SQLITE_DB_PATH,
encryption_manager=get_encryption_manager(),
)
except Exception as e:
raise InfrastructureError(f"Document repository init failed: {e}") from e
@lru_cache
def get_rag_engine() -> RAGEngine:
return RAGEngine(
vector_db=get_vector_db_manager(),
document_repo=get_document_repository(),
settings=settings,
)
@lru_cache
def get_answer_generator() -> AnswerGenerator:
return AnswerGenerator(settings=settings)