20 lines
574 B
Python
20 lines
574 B
Python
from abc import ABC, abstractmethod
|
|
from typing import Optional, List
|
|
|
|
from fastapi import UploadFile
|
|
|
|
|
|
class IWritingService(ABC):
|
|
|
|
@abstractmethod
|
|
async def get_writing_task_general_question(self, task: int, topic: str, difficulty: List[str]):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def get_writing_task_academic_question(self, task: int, attachment: UploadFile, difficulty: List[str]):
|
|
pass
|
|
|
|
@abstractmethod
|
|
async def grade_writing_task(self, task: int, question: str, answer: str, attachment: Optional[str]):
|
|
pass
|