Spaces:
Running
Running
| """ | |
| Request Schemas | |
| =============== | |
| DTOs for API requests | |
| """ | |
| from pydantic import BaseModel, Field, field_validator | |
| class AnalysisRequest(BaseModel): | |
| """Request for text analysis""" | |
| text: str = Field( | |
| ..., | |
| description="Text to analyze for toxicity", | |
| min_length=1, | |
| max_length=5000, | |
| examples=["Đồ ngu ngốc, mất dạy!"] | |
| ) | |
| include_html: bool = Field( | |
| default=True, | |
| description="Include HTML highlighting in response" | |
| ) | |
| include_word_scores: bool = Field( | |
| default=True, | |
| description="Include detailed word-level scores" | |
| ) | |
| include_summary_table: bool = Field( | |
| default=False, | |
| description="Include summary table of all words" | |
| ) | |
| def validate_text(cls, v: str) -> str: | |
| """Validate text input""" | |
| if not v or not v.strip(): | |
| raise ValueError("Text cannot be empty or only whitespace") | |
| return v.strip() | |
| class Config: | |
| json_schema_extra = { | |
| "example": { | |
| "text": "Đồ ngu ngốc, mất dạy! Cảm ơn bạn đã chia sẻ.", | |
| "include_html": True, | |
| "include_word_scores": True, | |
| "include_summary_table": False | |
| } | |
| } | |