File size: 602 Bytes
5dccc28 | 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 | from pydantic import BaseModel, EmailStr, Field
class UserCreate(BaseModel):
email: EmailStr
password: str
class UserLogin(BaseModel):
email: EmailStr
password: str
class TokenPayload(BaseModel):
sub: str
class AskRequest(BaseModel):
query: str
class AskResponse(BaseModel):
answer: str
sources: dict[str, list[dict[str, str]]] = Field(default_factory=lambda: {"vector": [], "web": []})
class DocumentResponse(BaseModel):
id: int
filename: str
file_hash: str
summary: str
page_count: int
class Config:
from_attributes = True
|