29 lines
1.0 KiB
Python
29 lines
1.0 KiB
Python
"""
|
|
聊天相关的请求模型
|
|
"""
|
|
|
|
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="用户问题")
|