Spaces:
Sleeping
Sleeping
File size: 1,707 Bytes
4d592a4 efaf8d5 4d592a4 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
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()
|