ExpenseCategorizeNotes / app /dependencies.py
HariLogicgo's picture
config corrected
cc7e275
from functools import lru_cache
from app.core.config import settings
from app.core.openai_client import openai_client
from app.db.mongo import get_api_logs_collection, get_autocategory_collection, get_subcategory_collection
from app.services.autocategorizer import AutoCategoryService
from app.services.api_logger import ApiLogger
@lru_cache
def _get_service() -> AutoCategoryService:
return AutoCategoryService(
collection_getter=get_autocategory_collection,
subcategory_collection_getter=get_subcategory_collection,
openai_client=openai_client,
model=settings.openai_model,
cache_ttl_seconds=settings.category_cache_ttl_seconds,
db_timeout_seconds=settings.db_query_timeout_seconds,
model_timeout_seconds=settings.openai_api_timeout_seconds,
)
def get_category_service() -> AutoCategoryService:
return _get_service()
@lru_cache
def _get_api_logger() -> ApiLogger:
return ApiLogger(collection_getter=get_api_logs_collection)
def get_api_logger() -> ApiLogger:
return _get_api_logger()