2026-04-03 14:44:46 +08:00
|
|
|
from __future__ import annotations
|
|
|
|
|
|
|
|
|
|
from typing import Annotated
|
|
|
|
|
|
|
|
|
|
from fastapi import Depends
|
|
|
|
|
from sqlalchemy.ext.asyncio import AsyncSession
|
|
|
|
|
|
|
|
|
|
from app.core.db import get_async_db
|
|
|
|
|
from app.features.evaluation.admin_service import EvaluationAdminService
|
2026-04-06 23:19:20 +08:00
|
|
|
from app.features.evaluation.judge_manual_service import EvalJudgeManualService
|
2026-04-08 09:38:07 +08:00
|
|
|
from app.features.evaluation.memoir_readiness_service import MemoirReadinessService
|
2026-04-06 23:19:20 +08:00
|
|
|
from app.features.evaluation.replay_service import ReplayConversationService
|
|
|
|
|
from app.features.quota.deps import get_quota_service
|
|
|
|
|
from app.features.quota.service import QuotaService
|
2026-04-03 14:44:46 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_evaluation_admin_service(
|
|
|
|
|
db: Annotated[AsyncSession, Depends(get_async_db)],
|
|
|
|
|
) -> EvaluationAdminService:
|
|
|
|
|
return EvaluationAdminService(db)
|
2026-04-06 23:19:20 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_replay_conversation_service(
|
|
|
|
|
db: Annotated[AsyncSession, Depends(get_async_db)],
|
|
|
|
|
quota: Annotated[QuotaService, Depends(get_quota_service)],
|
|
|
|
|
) -> ReplayConversationService:
|
|
|
|
|
return ReplayConversationService(db, quota)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_eval_judge_manual_service(
|
|
|
|
|
db: Annotated[AsyncSession, Depends(get_async_db)],
|
|
|
|
|
) -> EvalJudgeManualService:
|
|
|
|
|
return EvalJudgeManualService(db)
|
2026-04-08 09:38:07 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_memoir_readiness_service(
|
|
|
|
|
db: Annotated[AsyncSession, Depends(get_async_db)],
|
|
|
|
|
) -> MemoirReadinessService:
|
|
|
|
|
return MemoirReadinessService(db)
|