mindchain commited on
Commit
e3d4ce2
·
verified ·
1 Parent(s): 986a71a

Upload models.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. models.py +57 -0
models.py ADDED
@@ -0,0 +1,57 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from pydantic import BaseModel, Field
2
+ from typing import Optional
3
+ from enum import Enum
4
+
5
+
6
+ class ZaiModel(str, Enum):
7
+ GLM_5 = "glm-5"
8
+ GLM_47 = "glm-4.7"
9
+ GLM_45_AIR = "glm-4.5-air"
10
+
11
+
12
+ class SamplerType(str, Enum):
13
+ CATEGORY = "CATEGORY"
14
+ UNIFORM = "UNIFORM"
15
+ GAUSSIAN = "GAUSSIAN"
16
+ UUID = "UUID"
17
+ DATETIME = "DATETIME"
18
+
19
+
20
+ class ColumnConfig(BaseModel):
21
+ name: str = Field(..., description="Column name")
22
+ type: str = Field(..., description="Column type: sampler, llm_text, llm_code, llm_structured")
23
+ params: dict = Field(default_factory=dict, description="Column-specific parameters")
24
+
25
+
26
+ class GenerateRequest(BaseModel):
27
+ num_records: int = Field(default=10, ge=1, le=1000, description="Number of records to generate")
28
+ model: ZaiModel = Field(default=ZaiModel.GLM_47, description="z.ai model to use")
29
+ columns: list[ColumnConfig] = Field(..., description="Column configurations")
30
+ temperature: float = Field(default=0.7, ge=0.0, le=2.0)
31
+ max_tokens: int = Field(default=512, ge=64, le=4096)
32
+
33
+
34
+ class PreviewRequest(BaseModel):
35
+ model: ZaiModel = Field(default=ZaiModel.GLM_47)
36
+ columns: list[ColumnConfig] = Field(..., description="Column configurations")
37
+ temperature: float = Field(default=0.7)
38
+ max_tokens: int = Field(default=512)
39
+
40
+
41
+ class GenerateResponse(BaseModel):
42
+ success: bool
43
+ data: Optional[list[dict]] = None
44
+ record_count: int = 0
45
+ error: Optional[str] = None
46
+
47
+
48
+ class PreviewResponse(BaseModel):
49
+ success: bool
50
+ sample: Optional[dict] = None
51
+ error: Optional[str] = None
52
+
53
+
54
+ class HealthResponse(BaseModel):
55
+ status: str
56
+ model: str
57
+ api_configured: bool