studyhub-app / studyhub /app /config.py
parhamkhoshsolat's picture
StudyHub web — custom Docker frontend (FastAPI + SPA)
8db761b verified
Raw
History Blame Contribute Delete
829 Bytes
from __future__ import annotations
import os
from dataclasses import dataclass
@dataclass
class Settings:
index_dir: str
materials_dir: str
embedder_kind: str # "bge-m3" | "fake"
app_users_raw: str
title: str
fake_llm: bool
rerank_kind: str # "bge" | "fake" | "off"
def load_settings(env=None) -> Settings:
env = os.environ if env is None else env
return Settings(
index_dir=env.get("STUDYHUB_INDEX_DIR", "index"),
materials_dir=env.get("STUDYHUB_MATERIALS_DIR", "materials"),
embedder_kind=env.get("STUDYHUB_EMBEDDER", "bge-m3"),
app_users_raw=env.get("APP_USERS", ""),
title=env.get("STUDYHUB_TITLE", "StudyHub"),
fake_llm=env.get("STUDYHUB_FAKE_LLM", "0") == "1",
rerank_kind=env.get("STUDYHUB_RERANK", "off"),
)