| | from typing import Optional, Literal, List |
| | from pydantic import BaseModel, Field |
| | from config import MODEL_PATH |
| |
|
| | |
| | |
| | |
| | class PredictIn(BaseModel): |
| | title: Optional[str] = Field(default=None, description="Tiêu đề bài báo") |
| | text: Optional[str] = Field(default=None, description="Nội dung bài báo") |
| | text_all: Optional[str] = Field(default=None, description="title + text đã gộp sẵn") |
| |
|
| |
|
| | class PredictOut(BaseModel): |
| | label: Literal["real", "fake"] |
| | prob_real: float |
| | prob_fake: float |
| | calibrated: bool = Field( |
| | default=True, |
| | description="True vì đã dùng CalibratedClassifierCV(method='sigmoid').", |
| | ) |
| | model_path: str = Field(default=MODEL_PATH) |
| |
|
| |
|
| | class PredictBatchIn(BaseModel): |
| | items: List[PredictIn] |
| |
|
| |
|
| | class PredictBatchOut(BaseModel): |
| | results: List[PredictOut] |
| |
|
| |
|