33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
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
|
|
from app.features.evaluation.judge_manual_service import EvalJudgeManualService
|
|
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_evaluation_admin_service(
|
|
db: Annotated[AsyncSession, Depends(get_async_db)],
|
|
) -> EvaluationAdminService:
|
|
return EvaluationAdminService(db)
|
|
|
|
|
|
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)
|