semantic-catalogue / src /common /settings.py
cjber's picture
increase premitted max k
cd1dc1d
raw
history blame contribute delete
827 Bytes
import tomllib
from pydantic import Field
from pydantic_settings import BaseSettings
with open("./config/config.toml", "rb") as f:
Config = tomllib.load(f)
class DataStoreSettings(BaseSettings):
index_name: str = Field(min_length=1)
host: str = Field(min_length=1)
embed_model: str = Field(min_length=1)
embed_dim: int = Field(gt=0, le=10_000)
chunk_size: int = Field(gt=0, le=10_000)
chunk_overlap: int = Field(ge=0, le=10_000)
class ModelSettings(BaseSettings):
llm: str = Field(min_length=1)
top_k: int = Field(gt=0, le=15_000)
alpha: float = Field(ge=0.0, le=1.0)
class Settings(BaseSettings):
model: ModelSettings = ModelSettings.model_validate(Config["model"])
datastore: DataStoreSettings = DataStoreSettings.model_validate(Config["datastore"])
cfg = Settings()