SurfSense/surfsense_backend/app/schemas/search_space.py
2025-10-06 03:00:25 +05:30

36 lines
903 B
Python

import uuid
from datetime import datetime
from pydantic import BaseModel, ConfigDict, Field
from .base import IDModel, TimestampModel
class InferenceParams(BaseModel):
temperature: float | None = Field(None, ge=0.0, le=2.0)
max_tokens: int | None = Field(None, ge=0)
top_k: int | None = Field(None, ge=0)
top_p: float | None = Field(None, ge=0.0, le=1.0)
class SearchSpaceBase(BaseModel):
name: str
description: str | None = None
inference_params: InferenceParams | None = None
class SearchSpaceCreate(SearchSpaceBase):
pass
class SearchSpaceUpdate(SearchSpaceBase):
name: str | None = None
description: str | None = None
inference_params: InferenceParams | None = None
class SearchSpaceRead(SearchSpaceBase, IDModel, TimestampModel):
id: int
created_at: datetime
user_id: uuid.UUID
model_config = ConfigDict(from_attributes=True)