File size: 840 Bytes
ba54b37 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
from pydantic import BaseModel, Field
from typing import List, Optional
class ProductOut(BaseModel):
id: int
name: str
description: Optional[str] = None
notes: Optional[str] = None
price: Optional[float] = None
class Config:
from_attributes = True
class CustomerOut(BaseModel):
id: int
name: str
attributes: str
wcltv: float
n: int
class Config:
from_attributes = True
class CustomerUpdate(BaseModel):
name: str
attributes: Optional[str] = None
wcltv: Optional[float] = None
n: Optional[int] = None
class ChatTurn(BaseModel):
sender: str = Field(pattern="^(customer|agent)$")
text: str
class ConversationOut(BaseModel):
id: int
profile_name: str
history: List[ChatTurn]
class ChatRequest(BaseModel):
profile_name: str
user_text: str
class ChatResponse(BaseModel):
reply: str
conversation_id: int |