Spaces:
Sleeping
Sleeping
| 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 | |