Pix-Agent-Test / app /models /mongodb_models.py
Cuong2004's picture
clear history and fix bug websocket connection
7be47d4
raw
history blame
1.64 kB
from pydantic import BaseModel, Field, ConfigDict
from typing import Optional, List, Dict, Any
from datetime import datetime
import uuid
class SessionBase(BaseModel):
"""Base model for session data"""
session_id: str = Field(default_factory=lambda: str(uuid.uuid4()))
factor: str
action: str
first_name: str
last_name: Optional[str] = None
message: Optional[str] = None
user_id: str
username: Optional[str] = None
class SessionCreate(SessionBase):
"""Model for creating new session"""
response: Optional[str] = None
class SessionResponse(SessionBase):
"""Response model for session data"""
created_at: str
response: Optional[str] = None
model_config = ConfigDict(
json_schema_extra={
"example": {
"session_id": "123e4567-e89b-12d3-a456-426614174000",
"factor": "user",
"action": "asking_freely",
"created_at": "2023-06-01 14:30:45",
"first_name": "John",
"last_name": "Doe",
"message": "How can I find emergency contacts?",
"user_id": "12345678",
"username": "johndoe",
"response": "You can find emergency contacts in the Emergency section..."
}
}
)
class HistoryRequest(BaseModel):
"""Request model for history"""
user_id: str
n: int = 3
class QuestionAnswer(BaseModel):
"""Model for question-answer pair"""
question: str
answer: str
class HistoryResponse(BaseModel):
"""Response model for history"""
history: List[QuestionAnswer]