File size: 705 Bytes
e7e6099
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
from __future__ import annotations
from dataclasses import dataclass, field, asdict
from typing import List, Optional, Dict, Any

from src.enums import QuestionTypeEnum
from src.interfaces.choice import IChoice


@dataclass
class GeneratedQuestion:
    # Các trường cơ bản của câu hỏi
    list_words: List[str] = field(default_factory=list)
    paragraph: Optional[str]
    num_ans_per_question: int
    num_question: int

    content: str
    type: QuestionTypeEnum
    choices: List[IChoice] = field(default_factory=list)
    tags: List[str] = field(default_factory=list)
    
    # Tùy chọn: meta khác (CEFR level, grade, ... )
    metadata: Dict[str, Any] = field(default_factory=dict)