Spaces:
Sleeping
Sleeping
File size: 1,357 Bytes
e3d4ce2 47ab43e d58382a e3d4ce2 84c0d42 e3d4ce2 84c0d42 d58382a e3d4ce2 d58382a e3d4ce2 d58382a 84c0d42 e3d4ce2 d58382a e3d4ce2 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | from pydantic import BaseModel, Field
from typing import Optional
from enum import Enum
class OpenRouterModel(str, Enum):
GLM_5 = "z-ai/glm-5"
GPT_4O_MINI = "openai/gpt-4o-mini"
CLAUDE_SONNET = "anthropic/claude-sonnet-4.6"
class ColumnConfig(BaseModel):
name: str = Field(..., description="Column name")
type: str = Field(..., description="Column type: sampler, llm_text")
params: dict = Field(default_factory=dict)
class GenerateRequest(BaseModel):
num_records: int = Field(default=10, ge=1, le=100)
model: OpenRouterModel = Field(default=OpenRouterModel.GLM_5)
columns: list[ColumnConfig] = Field(...)
temperature: float = Field(default=0.7, ge=0.0, le=2.0)
max_tokens: int = Field(default=256, ge=64, le=4096)
class PreviewRequest(BaseModel):
model: OpenRouterModel = Field(default=OpenRouterModel.GLM_5)
columns: list[ColumnConfig] = Field(...)
temperature: float = Field(default=0.7)
max_tokens: int = Field(default=256)
class GenerateResponse(BaseModel):
success: bool
data: Optional[list[dict]] = None
record_count: int = 0
error: Optional[str] = None
class PreviewResponse(BaseModel):
success: bool
sample: Optional[dict] = None
error: Optional[str] = None
class HealthResponse(BaseModel):
status: str
model: str
api_configured: bool
|