rag-chatbot / app /models /schemas.py
Abeshith's picture
RAG Chatbot with LangChain, FastAPI, and service layer architecture
64d7fdf
Raw
History Blame Contribute Delete
1.04 kB
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)