Spaces:
Sleeping
Sleeping
File size: 2,031 Bytes
0e39d80 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 | from typing import Any
from pydantic import BaseModel, Field
class UploadResponse(BaseModel):
doc_id: str
doc_type: str
class AnalyzeResponse(BaseModel):
doc_id: str
doc_type: str
confidence_score: float
flags: list[str]
extracted_fields: dict[str, Any]
status: str
text_source: str | None = None
score_breakdown: dict[str, float] | None = None
full_text: str | None = None
ocr_confidence: float | None = None
ai_powered: bool | None = None
forgery_score: float | None = None
forgery_reason: str | None = None
ai_confidence: float | None = None
class StatusResponse(BaseModel):
doc_id: str
doc_type: str
status: str
confidence_score: float | None
flags: list[str]
extracted_fields: dict[str, Any]
text_source: str | None = None
verification_status: str | None = None
masked_image_path: str | None = None
created_at: str | None = None
score_breakdown: dict[str, float] | None = None
full_text: str | None = None
ocr_confidence: float | None = None
reviewer_notes: str | None = None
reviewed_by: str | None = None
original_filename: str | None = None
ai_powered: bool | None = None
forgery_score: float | None = None
forgery_reason: str | None = None
ai_confidence: float | None = None
class ManualReviewRequest(BaseModel):
action: str = Field(..., pattern="^(approve|reject|request_reupload)$")
notes: str | None = None
reviewer_name: str | None = None
edited_fields: dict[str, Any] | None = None
class VerifyExperienceResponse(BaseModel):
doc_id: str
verification_status: str
flags: list[str]
demo_mode: bool = False
class GovVerifyResponse(BaseModel):
verified: bool
message: str
class StatsResponse(BaseModel):
total: int
verified: int
pending_review: int
rejected: int
pending: int
avg_confidence: float
avg_ocr_accuracy: float
by_doc_type: dict[str, int]
recent_uploads: list[StatusResponse]
|