from typing import Any, Optional
from pydantic import BaseModel, Field
class LLMConfig(BaseModel):
"""LLM 配置模型
与前端和配置文件结构保持一致:
- type: 供应商类型(openai、deepseek、anthropic、tongyi 等)
- model: 模型名称(如 gpt-4、deepseek-chat 等)
- base_url: 供应商或代理的基础 URL(可选)
- api_key: API Key(可选)
- setting: 生成参数(LLMSetting,可选)
"""
type: Optional[str] = Field(None, description="LLM provider, e.g., openai, deepseek, anthropic")
model: str = Field(..., description="Model name, e.g., gpt-4")
base_url: Optional[str] = Field(None, description="Model API base URL")
api_key: Optional[str] = Field(None, description="Model API key")
setting: Optional[Any] = Field(
None, description="Configuration for model generation parameters"
)