Spaces:
Running
Running
| from typing import List, Dict, Any | |
| from pydantic import BaseModel, Field | |
| class ChatRequest(BaseModel): | |
| message: str = Field(..., min_length=1) | |
| history: List[Dict[str, str]] = Field(default_factory=list) | |
| session_id: str | None = Field(default=None, description="Unique session identifier for chat persistence") | |
| class ChatResponse(BaseModel): | |
| reply: str | |
| retrieved_chunks: List[Dict[str, Any]] = Field(default_factory=list) | |
| class HealthResponse(BaseModel): | |
| status: str | |
| docs_loaded: bool | |
| index_ready: bool | |
| chunk_count: int | |
| index_path: str | |
| class SessionUpdateNameRequest(BaseModel): | |
| session_id: str | |
| user_name: str | |
| class SessionInitRequest(BaseModel): | |
| session_id: str | |
| user_name: str | None = Field(default=None, description="User name to associate with the session at creation time") | |
| class RateRequest(BaseModel): | |
| session_id: str | |
| rating: int = Field(..., ge=1, le=5) | |
| chat_id: int | None = Field(default=None, description="Chat thread to rate; resolved server-side if omitted") | |
| class PollRequest(BaseModel): | |
| session_id: str | |
| last_id: int = Field(default=0) | |
| class ResetRequest(BaseModel): | |
| session_id: str | |
| class DeleteChatRequest(BaseModel): | |
| session_id: str | |