Spaces:
Sleeping
Sleeping
| from functools import lru_cache | |
| from os import getenv | |
| DEFAULT_MODEL_NAME = "sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2" | |
| DEFAULT_DIMENSION = 384 | |
| def _read_int(name: str, default: int, minimum: int, maximum: int) -> int: | |
| raw_value = getenv(name) | |
| if raw_value is None or raw_value.strip() == "": | |
| return default | |
| try: | |
| value = int(raw_value) | |
| except ValueError as exc: | |
| raise RuntimeError(f"{name} must be an integer") from exc | |
| if value < minimum or value > maximum: | |
| raise RuntimeError(f"{name} must be between {minimum} and {maximum}") | |
| return value | |
| class Settings: | |
| def __init__(self) -> None: | |
| self.model_name = getenv("MODEL_NAME", DEFAULT_MODEL_NAME) | |
| self.api_key = getenv("EMBEDDING_API_KEY") | |
| self.max_text_length = _read_int("MAX_TEXT_LENGTH", 3000, 1, 100_000) | |
| self.max_batch_size = _read_int("MAX_BATCH_SIZE", 64, 1, 512) | |
| self.dimension = DEFAULT_DIMENSION | |
| def get_settings() -> Settings: | |
| return Settings() | |