| import os | |
| from dataclasses import dataclass | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| # Load environment variables | |
| load_dotenv() | |
| class Settings: | |
| # Paths | |
| BASE_DIR: Path = Path(__file__).resolve().parent.parent | |
| DATA_DIR: Path = BASE_DIR / "data" | |
| DB_PATH: Path = DATA_DIR / "satellites.db" | |
| OUTPUT_FILE: Path = DATA_DIR / "satellites_detailed.json" | |
| CHROMA_PATH: Path = DATA_DIR / "chroma_db" | |
| # Vector DB | |
| COLLECTION_NAME: str = "satellites" | |
| # Models | |
| EMBEDDING_MODEL: str = "BAAI/bge-small-en-v1.5" | |
| LLM_MODEL: str = "llama-3.3-70b-versatile" | |
| # API Keys | |
| GROQ_API_KEY: str = os.getenv("GROQ_API_KEY", "") | |
| # Scraping | |
| MAX_WORKERS: int = 10 | |
| REQUEST_TIMEOUT: int = 10 | |
| settings = Settings() | |