Files
bianchengshequ/backend/schemas/conversation.py

56 lines
1.1 KiB
Python

"""对话相关Schema"""
from pydantic import BaseModel
from datetime import datetime
from typing import Optional, List
class MessageCreate(BaseModel):
content: str
image_urls: List[str] = []
class MessageResponse(BaseModel):
id: int
conversation_id: int
role: str
content: str
image_urls: str = ""
created_at: datetime
class Config:
from_attributes = True
class ConversationCreate(BaseModel):
type: str # requirement / architecture
title: str = "新对话"
class ConversationResponse(BaseModel):
id: int
user_id: int
title: str
type: str
created_at: datetime
updated_at: datetime
class Config:
from_attributes = True
class ConversationDetail(ConversationResponse):
messages: List[MessageResponse] = []
class RequirementAnalyzeRequest(BaseModel):
conversation_id: Optional[int] = None
content: str
image_urls: List[str] = []
model_config_id: Optional[int] = None
class ArchitectureRequest(BaseModel):
conversation_id: Optional[int] = None
content: str
model_config_id: Optional[int] = None