Download backend/api/models.py from guardianrobot/screencomply_documents: direct link, hf CLI and curl.
- Browser
- Download file 2.15 kB
-
https://huggingface.co/spaces/guardianrobot/screencomply_documents/resolve/main/backend/api/models.py
- Command line
-
hf download hf://spaces/guardianrobot/screencomply_documents/backend/api/models.py
-
curl -L -o models.py https://huggingface.co/spaces/guardianrobot/screencomply_documents/resolve/main/backend/api/models.py
2.15 kB
| from pydantic import BaseModel | |
| from typing import Optional, Dict, List, Any | |
| from datetime import datetime | |
| # Request Models | |
| class AnalyzeTextRequest(BaseModel): | |
| """Request model for analyzing raw text""" | |
| text: str | |
| user_id: Optional[str] = None | |
| filename: Optional[str] = "untitled.txt" | |
| class GetResultRequest(BaseModel): | |
| """Request model for getting a specific result""" | |
| result_id: int | |
| class DeleteResultRequest(BaseModel): | |
| """Request model for deleting a result""" | |
| result_id: int | |
| class UpdateResultRequest(BaseModel): | |
| """Request model for updating a result""" | |
| result_id: int | |
| notes: Optional[str] = None | |
| is_flagged: Optional[bool] = None | |
| # Response Models | |
| class DetectorResultResponse(BaseModel): | |
| """Response model for single detector result""" | |
| detector_name: str | |
| score: float | |
| confidence: Optional[str] = None | |
| explanation: Optional[str] = None | |
| suspicious_spans: List[Dict[str, Any]] = [] | |
| metadata: Dict[str, Any] = {} | |
| class AnalysisResponse(BaseModel): | |
| """Response model for analysis result""" | |
| status: str # success, error | |
| message: str | |
| result_id: Optional[int] = None | |
| file_id: Optional[str] = None | |
| overall_ai_score: Optional[float] = None | |
| overall_ai_score_percentage: Optional[str] = None | |
| overall_confidence: Optional[str] = None | |
| status_label: Optional[str] = None | |
| detector_results: Optional[Dict[str, DetectorResultResponse]] = None | |
| enabled_detectors: Optional[List[str]] = None | |
| text_stats: Optional[Dict[str, Any]] = None | |
| error_details: Optional[str] = None | |
| class ResultListResponse(BaseModel): | |
| """Response model for list of results""" | |
| status: str | |
| message: str | |
| total_count: int | |
| results: List[Dict[str, Any]] = [] | |
| page: int = 1 | |
| page_size: int = 10 | |
| class SummaryResponse(BaseModel): | |
| """Response model for summary statistics""" | |
| status: str | |
| message: str | |
| summary: Dict[str, Any] = {} | |
| class StatusResponse(BaseModel): | |
| """Response model for system status""" | |
| status: str | |
| message: str | |
| detector_status: Dict[str, Any] = {} | |
| config_summary: Optional[str] = None | |