Build lightweight AI agent admin
This commit is contained in:
@@ -0,0 +1,76 @@
|
||||
"""
|
||||
对话 Schema
|
||||
"""
|
||||
from typing import Optional
|
||||
from datetime import datetime
|
||||
|
||||
from pydantic import BaseModel, Field, ConfigDict
|
||||
|
||||
from app.base_schema import CSTDatetime
|
||||
|
||||
|
||||
class ConversationCreate(BaseModel):
|
||||
"""创建对话"""
|
||||
app_id: str = Field(..., description="应用 ID")
|
||||
title: str = Field(default="", description="对话标题")
|
||||
|
||||
|
||||
class ConversationUpdate(BaseModel):
|
||||
"""更新对话"""
|
||||
title: Optional[str] = None
|
||||
is_pinned: Optional[bool] = None
|
||||
|
||||
|
||||
class ConversationResponse(BaseModel):
|
||||
"""对话输出"""
|
||||
id: str
|
||||
app_id: str
|
||||
app_name: str = ""
|
||||
title: str = ""
|
||||
message_count: int = 0
|
||||
total_tokens: int = 0
|
||||
is_pinned: bool = False
|
||||
sort: int = 0
|
||||
sys_create_datetime: Optional[CSTDatetime] = None
|
||||
sys_update_datetime: Optional[CSTDatetime] = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class ConversationListResponse(BaseModel):
|
||||
"""对话列表输出"""
|
||||
id: str
|
||||
title: str = ""
|
||||
message_count: int = 0
|
||||
is_pinned: bool = False
|
||||
sys_update_datetime: Optional[CSTDatetime] = None
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class MessageResponse(BaseModel):
|
||||
"""消息输出"""
|
||||
model_config = ConfigDict(from_attributes=True, protected_namespaces=())
|
||||
|
||||
id: str
|
||||
role: str
|
||||
content: str = ""
|
||||
status: str = "completed"
|
||||
prompt_tokens: int = 0
|
||||
completion_tokens: int = 0
|
||||
total_tokens: int = 0
|
||||
model_name: str = ""
|
||||
latency: int = 0
|
||||
error_message: str = ""
|
||||
feedback: str = ""
|
||||
sys_create_datetime: Optional[CSTDatetime] = None
|
||||
|
||||
|
||||
class SendMessageInput(BaseModel):
|
||||
"""发送消息"""
|
||||
content: str = Field(..., description="消息内容")
|
||||
|
||||
|
||||
class MessageFeedbackInput(BaseModel):
|
||||
"""消息反馈"""
|
||||
feedback: str = Field(..., description="反馈: like/dislike")
|
||||
Reference in New Issue
Block a user