llm-ready-data / app /api /deps.py
Soumik Bose
optimization 404
bd469c1
Raw
History Blame Contribute Delete
1.7 kB
from __future__ import annotations
from typing import Any, Dict, Optional, Tuple
from fastapi import Request
from app.services.converter_service import ConverterService
from app.services.embeddings_service import EmbeddingService
from app.services.extraction_service import ExtractionService
from app.services.text_cleaner_service import TextCleanerService
from app.services.scheduler_service import SchedulerService
from app.services.vector_store_service import VectorStoreService
_converter_service = ConverterService()
_extraction_service = ExtractionService()
_text_cleaner_service = TextCleanerService()
def get_text_cleaner_service() -> TextCleanerService:
return _text_cleaner_service
def get_converter_service() -> ConverterService:
return _converter_service
def get_extraction_service() -> ExtractionService:
return _extraction_service
def get_embeddings_service() -> EmbeddingService:
from app.api.server import _embedding_service
return _embedding_service
def get_vector_store_service() -> VectorStoreService:
from app.api.server import _vector_store_service
return _vector_store_service
def get_scheduler_service() -> SchedulerService:
from app.api.server import _scheduler_service
return _scheduler_service
def get_redis_scripts(request: Request) -> Tuple[Optional[Any], Dict[str, str]]:
"""Extract Redis client and Lua scripts from app state.
Consolidates the repeated pattern:
redis = getattr(request.app.state, "redis", None)
scripts = getattr(request.app.state, "scripts", None)
"""
return (
getattr(request.app.state, "redis", None),
getattr(request.app.state, "scripts", {}),
)