File size: 1,071 Bytes
b26b1fd 790aee0 b26b1fd a9f96b8 b26b1fd 790aee0 b26b1fd 8cceab7 cc7e275 b26b1fd a9f96b8 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
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()
|