Files

29 lines
963 B
Python
Raw Permalink Normal View History

2026-03-29 14:44:32 +08:00
from typing import Optional
from pydantic import BaseModel, Field
class EmbeddingModelConfigBase(BaseModel):
name: str = Field(..., description="Display name for the model configuration")
provider: str = Field("openai", description="Provider type (e.g. openai)")
model: str = Field(..., description="Model name (e.g. text-embedding-3-small)")
api_base: Optional[str] = None
api_key: Optional[str] = None
class EmbeddingModelConfigCreate(EmbeddingModelConfigBase):
pass
class EmbeddingModelConfigUpdate(BaseModel):
name: Optional[str] = None
provider: Optional[str] = None
model: Optional[str] = None
api_base: Optional[str] = None
api_key: Optional[str] = None
class EmbeddingModelConfig(EmbeddingModelConfigBase):
id: str
class EmbeddingModelConnectionTestRequest(BaseModel):
provider: str = Field("openai")
model: str = Field(...)
api_base: Optional[str] = None
api_key: Optional[str] = None