from pydantic import BaseModel, EmailStr from typing import Optional, List from datetime import datetime class ModelConfig(BaseModel): """模型配置上传模型""" model_name: str provider_name: str model_type: str api_key: str endpoint_url: Optional[str] = None display_name: Optional[str] = None context_size: Optional[int] = None max_tokens_to_sample: Optional[int] = None class ModelResponse(BaseModel): """模型响应模型""" id: str model_name: str provider_name: str model_type: str created_at: datetime class TenantModelResponse(BaseModel): """租户模型响应模型""" tenant_id: str tenant_name: str models: List[ModelResponse] class AccountCreate(BaseModel): """创建账户请求模型""" username: str email: EmailStr password: str class AccountResponse(BaseModel): """账户响应模型""" id: str username: str email: EmailStr created_at: datetime class PasswordChange(BaseModel): """修改密码请求模型""" current_password: str new_password: str class TenantCreate(BaseModel): """创建租户请求模型""" name: str description: str class TenantResponse(BaseModel): """租户响应模型""" id: str name: str description: str created_at: datetime