mirror of
https://github.com/fastapiadmin/FastapiAdmin.git
synced 2026-09-21 12:52:26 +00:00
chore: 批量整理代码格式与优化细节
- 修复多处代码缩进、换行不规范问题 - 调整部分配置注释与字符串格式对齐 - 优化导入语句与多行表达式的排版 - 统一枚举、模型字段的注释风格 - 调整部分校验逻辑与提示文案 - 重构部分长函数参数与查询语句格式
This commit is contained in:
@@ -1,31 +1,52 @@
|
||||
import re
|
||||
from dataclasses import dataclass
|
||||
from typing import Any
|
||||
|
||||
from fastapi import Query
|
||||
from pydantic import BaseModel, ConfigDict, Field
|
||||
from pydantic import BaseModel, ConfigDict, Field, field_validator
|
||||
|
||||
from app.core.validator import DateTimeStr
|
||||
|
||||
|
||||
class ChatQuerySchema(BaseModel):
|
||||
"""WebSocket聊天查询模型"""
|
||||
message: str = Field(..., description="消息内容")
|
||||
|
||||
message: str = Field(..., min_length=1, description="消息内容")
|
||||
session_id: str | None = Field(None, description="会话ID")
|
||||
files: list[dict[str, Any]] | None = Field(None, description="文件信息")
|
||||
|
||||
|
||||
class ChatSessionCreateSchema(BaseModel):
|
||||
"""创建会话模型"""
|
||||
title: str = Field(..., description="会话标题")
|
||||
|
||||
title: str = Field(..., min_length=1, max_length=200, description="会话标题")
|
||||
|
||||
@field_validator("title")
|
||||
@classmethod
|
||||
def validate_title(cls, v: str) -> str:
|
||||
v = v.strip()
|
||||
if len(v) < 1 or len(v) > 200:
|
||||
raise ValueError("会话标题长度必须在1-200个字符之间")
|
||||
return v
|
||||
|
||||
|
||||
class ChatSessionUpdateSchema(BaseModel):
|
||||
"""更新会话模型"""
|
||||
title: str = Field(..., description="会话标题")
|
||||
|
||||
title: str = Field(..., min_length=1, max_length=200, description="会话标题")
|
||||
|
||||
@field_validator("title")
|
||||
@classmethod
|
||||
def validate_title(cls, v: str) -> str:
|
||||
v = v.strip()
|
||||
if len(v) < 1 or len(v) > 200:
|
||||
raise ValueError("会话标题长度必须在1-200个字符之间")
|
||||
return v
|
||||
|
||||
|
||||
class ChatSessionMessageSchema(BaseModel):
|
||||
"""会话消息模型"""
|
||||
|
||||
id: str = Field(..., description="消息ID")
|
||||
role: str = Field(..., description="消息角色")
|
||||
content: str = Field(..., description="消息内容")
|
||||
@@ -37,6 +58,7 @@ class ChatSessionMessageSchema(BaseModel):
|
||||
@dataclass
|
||||
class ChatSessionQueryParam:
|
||||
"""会话查询参数"""
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
title: str | None = Query(None, description="会话标题"),
|
||||
@@ -58,12 +80,22 @@ class ChatSessionQueryParam:
|
||||
|
||||
class AiChatRequestSchema(BaseModel):
|
||||
"""AI 对话请求模型(非流式)"""
|
||||
message: str = Field(..., description="用户消息内容")
|
||||
|
||||
message: str = Field(..., min_length=1, description="用户消息内容")
|
||||
session_id: str | None = Field(None, description="会话ID,不传则创建新会话")
|
||||
|
||||
@field_validator("message")
|
||||
@classmethod
|
||||
def validate_message(cls, v: str) -> str:
|
||||
v = v.strip()
|
||||
if len(v) < 1:
|
||||
raise ValueError("用户消息内容不能为空")
|
||||
return v
|
||||
|
||||
|
||||
class AiChatResponseSchema(BaseModel):
|
||||
"""AI 对话响应模型(非流式)"""
|
||||
|
||||
response: str = Field(..., description="AI 回复内容")
|
||||
session_id: str = Field(..., description="会话ID")
|
||||
function_calls: list[dict[str, Any]] | None = Field(None, description="函数调用信息")
|
||||
|
||||
Reference in New Issue
Block a user