""" 聊天相关的请求模型 """ from pydantic import BaseModel, Field class ChatMessage(BaseModel): role: str = Field(default="user", description="消息角色: user / assistant / system") content: str = Field(default="你好,请介绍一下你自己", description="消息内容") class ChatCallbackRequest(BaseModel): """Custom LLM 回调请求体(带默认值方便 Swagger 调试)""" messages: list[ChatMessage] = Field( default=[ ChatMessage(role="user", content="你好,请介绍一下你自己"), ], description="对话消息列表,最后一条必须是 user 角色", ) temperature: float | None = Field(default=None, description="采样温度") max_tokens: int | None = Field(default=None, description="最大生成 token 数") top_p: float | None = Field(default=None, description="Top-P 采样") class DebugChatRequest(BaseModel): history: list[ChatMessage] = Field(default_factory=list) question: str = Field(default="你好", description="用户问题")