Spaces:
Running
Running
| from typing import Optional, List | |
| from pydantic import BaseModel, Field | |
| from datetime import datetime | |
| class ChatMessage(BaseModel): | |
| role: str | |
| content: str | |
| timestamp: Optional[datetime] = None | |
| class ChatRequest(BaseModel): | |
| message: str | |
| session_id: Optional[str] = None | |
| use_history: bool = True | |
| use_rag: bool = True | |
| class ChatResponse(BaseModel): | |
| response: str | |
| sources: Optional[List[dict]] = [] | |
| session_id: str | |
| timestamp: datetime = Field(default_factory=datetime.utcnow) | |
| class DocumentUpload(BaseModel): | |
| filename: str | |
| content_type: str | |
| size: int | |
| class DocumentResponse(BaseModel): | |
| id: str | |
| filename: str | |
| status: str | |
| created_at: datetime | |
| chunk_count: Optional[int] = 0 | |
| class HealthResponse(BaseModel): | |
| status: str | |
| timestamp: datetime = Field(default_factory=datetime.utcnow) | |
| services: dict | |
| class ErrorResponse(BaseModel): | |
| error: str | |
| detail: Optional[str] = None | |
| timestamp: datetime = Field(default_factory=datetime.utcnow) | |