配置 SSOT(TOML + .env) 统一错误契约 Auth 与事务边界 Redis / Celery 可靠性:业务 Redis(DB/0)与 Celery broker/backend(DB/1)显式拆分;连接池、sync client 可观测性(OpenTelemetry + LGTM)
39 lines
1.3 KiB
Python
39 lines
1.3 KiB
Python
from __future__ import annotations
|
|
|
|
from typing import Annotated
|
|
|
|
from fastapi import Depends
|
|
|
|
from app.core.deps_types import DbDep
|
|
from app.features.evaluation.admin_service import EvaluationAdminService
|
|
from app.features.evaluation.judge_manual_service import EvalJudgeManualService
|
|
from app.features.evaluation.memoir_readiness_service import MemoirReadinessService
|
|
from app.features.evaluation.replay_service import ReplayConversationService
|
|
from app.features.quota.deps import get_quota_service
|
|
from app.features.quota.service import QuotaService
|
|
|
|
|
|
def get_session_catalog_service(db: DbDep) -> "SessionCatalogService":
|
|
from app.features.evaluation.session_catalog_service import SessionCatalogService
|
|
|
|
return SessionCatalogService(db)
|
|
|
|
|
|
def get_evaluation_admin_service(db: DbDep) -> EvaluationAdminService:
|
|
return EvaluationAdminService(db)
|
|
|
|
|
|
def get_replay_conversation_service(
|
|
db: DbDep,
|
|
quota: Annotated[QuotaService, Depends(get_quota_service)],
|
|
) -> ReplayConversationService:
|
|
return ReplayConversationService(db, quota)
|
|
|
|
|
|
def get_eval_judge_manual_service(db: DbDep) -> EvalJudgeManualService:
|
|
return EvalJudgeManualService(db)
|
|
|
|
|
|
def get_memoir_readiness_service(db: DbDep) -> MemoirReadinessService:
|
|
return MemoirReadinessService(db)
|