innoSageAgentOne / app /schemas /message_schema.py
Asaad Almutareb
cleaned branch, added final streaming callback handler
fa99d8f
raw
history blame
No virus
1.07 kB
from pydantic import BaseModel, validator
from typing import List, Tuple, Optional
from app.utils.utils import generate_uuid
from typing import Any
class InferRequest(BaseModel):
question: str
history: List[Tuple[str, str]]
class BotRequest(BaseModel):
history: List[Tuple[str, str]]
class IChatResponse(BaseModel):
"""Chat response schema."""
id: str
message_id: str
sender: str
message: Any
type: str
suggested_responses: list[str] = []
@validator("id", "message_id", pre=True, allow_reuse=True)
def check_ids(cls, v):
if v == "" or v is None:
return generate_uuid()
return v
# @validator("sender")
# def sender_must_be_bot_or_you(cls, v):
# if v not in ["bot", "you"]:
# raise ValueError("sender must be bot or you")
# return v
# @validator("type")
# def validate_message_type(cls, v):
# if v not in ["start", "stream", "end", "error", "info"]:
# raise ValueError("type must be start, stream or end")
# return v