yuvrajsingh6
fix: Sync with main repo - web search scores, CORS, delete endpoint
efaf8d5
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()