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