Spaces:
Sleeping
Sleeping
| import os | |
| from pathlib import Path | |
| from dotenv import load_dotenv | |
| from pydantic import BaseModel | |
| load_dotenv() | |
| class Settings(BaseModel): | |
| VECTOR_DB_PATH: Path = Path(os.getenv("VECTOR_DB_PATH", "./storage/vector_db")) | |
| EMBEDDING_MODEL: str = os.getenv("EMBEDDING_MODEL", "all-MiniLM-L6-v2") | |
| CHUNK_SIZE: int = int(os.getenv("CHUNK_SIZE", "512")) | |
| CHUNK_OVERLAP: int = int(os.getenv("CHUNK_OVERLAP", "50")) | |
| TOP_K: int = int(os.getenv("TOP_K", "5")) | |
| GROQ_API_KEY: str = os.getenv("GROQ_API_KEY", "") | |
| SERPER_API_KEY: str = os.getenv("SERPER_API_KEY", "") | |
| TAVILY_API_KEY: str = os.getenv("TAVILY_API_KEY", "") | |
| ALLOWED_MODES: list = ["web", "pdf", "hybrid", "restricted"] | |
| UPLOAD_DIR: Path = Path(os.path.abspath("./storage/uploads")) | |
| MAX_FILE_SIZE: int = 10 * 1024 * 1024 | |
| ALLOWED_FILE_TYPES: list = ["application/pdf"] | |
| GROQ_MODEL: str = os.getenv("GROQ_MODEL", "llama-3.3-70b-versatile") | |
| GROQ_MODEL_PRIMARY: str = os.getenv("GROQ_MODEL_PRIMARY", "llama-3.1-8b-instant") | |
| GROQ_MODEL_SECONDARY: str = os.getenv("GROQ_MODEL_SECONDARY", "mixtral-8x7b-32768") | |
| GROQ_MODEL_FALLBACK: str = os.getenv( | |
| "GROQ_MODEL_FALLBACK", "llama-3.3-70b-versatile" | |
| ) | |
| MAX_TOKENS: int = int(os.getenv("MAX_TOKENS", "2048")) | |
| TEMPERATURE: float = float(os.getenv("TEMPERATURE", "0.1")) | |
| WEB_SEARCH_MAX_RESULTS: int = int(os.getenv("WEB_SEARCH_MAX_RESULTS", "5")) | |
| SIMILARITY_THRESHOLD: float = float(os.getenv("SIMILARITY_THRESHOLD", "0.7")) | |
| CORS_ORIGINS: list = [ | |
| "http://localhost:3000", | |
| "http://localhost:5173", | |
| "https://yuvis-web-based-rag.hf.space", | |
| "https://*.hf.space", | |
| ] | |
| settings = Settings() | |