Spaces:
Sleeping
Sleeping
| from __future__ import annotations | |
| import os | |
| from dataclasses import dataclass | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| ROOT_DIR = Path(__file__).resolve().parents[2] | |
| load_dotenv(ROOT_DIR / ".env") | |
| class Settings: | |
| root_dir: Path = ROOT_DIR | |
| chroma_dir: Path = ROOT_DIR / "data" / "chroma" | |
| processed_dir: Path = ROOT_DIR / "data" / "processed" | |
| uploads_dir: Path = ROOT_DIR / "data" / "uploads" | |
| collection_name: str = os.getenv("CHROMA_COLLECTION", "class12_math_rag") | |
| ollama_base_url: str = os.getenv("OLLAMA_BASE_URL", "http://127.0.0.1:11434") | |
| llm_model: str = os.getenv("OLLAMA_LLM_MODEL", "qwen2.5:7b-instruct") | |
| embed_model: str = os.getenv("OLLAMA_EMBED_MODEL", "nomic-embed-text") | |
| chunk_size: int = 1200 | |
| chunk_overlap: int = 200 | |
| top_k: int = int(os.getenv("TOP_K", "5")) | |
| request_timeout: int = 120 | |
| def get_settings() -> Settings: | |
| return Settings() | |