stock-ai-agent/backend/app/models/chat.py
2026-02-03 10:08:15 +08:00

38 lines
1.1 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
对话相关的Pydantic模型
"""
from datetime import datetime
from typing import Optional, Dict, Any
from pydantic import BaseModel, Field
class ChatMessage(BaseModel):
"""聊天消息"""
role: str = Field(..., description="角色user或assistant")
content: str = Field(..., description="消息内容")
metadata: Optional[Dict[str, Any]] = Field(None, description="元数据")
class ChatRequest(BaseModel):
"""聊天请求"""
message: str = Field(..., description="用户消息", min_length=1)
session_id: Optional[str] = Field(None, description="会话ID")
user_id: Optional[str] = Field(None, description="用户ID")
class ChatResponse(BaseModel):
"""聊天响应"""
message: str = Field(..., description="助手回复")
session_id: str = Field(..., description="会话ID")
metadata: Optional[Dict[str, Any]] = Field(None, description="元数据")
class ConversationHistory(BaseModel):
"""对话历史"""
session_id: str
messages: list[ChatMessage]
created_at: datetime
class Config:
from_attributes = True