import os from pathlib import Path from dotenv import load_dotenv ROOT = Path(__file__).resolve().parents[1] load_dotenv(ROOT / ".env", override=False) for _flag in ("LANGSMITH_TRACING", "LANGCHAIN_TRACING_V2", "LANGCHAIN_TRACING"): os.environ[_flag] = "false" GEMINI_MODEL = os.getenv("GEMINI_MODEL", "gemini-3.5-flash-lite").strip() or "gemini-3.5-flash-lite" GEMINI_TIMEOUT = float(os.getenv("LEXQUERY_GEMINI_TIMEOUT", "120")) OCR_MAX_TOKENS = 32768 MAX_PDF_BYTES = 40 * 1024**2 MAX_PDF_PAGES = 100 FULL_CONTEXT_CHAR_LIMIT = 160000 SARVAM_REPO = "mradermacher/sarvam-translate-GGUF" SARVAM_FILE = "sarvam-translate.Q4_K_M.gguf" EMBEDDING_MODEL = "sentence-transformers/all-MiniLM-L6-v2" THREADS = int(os.getenv("LEXQUERY_THREADS", str(min(8, max(1, (os.cpu_count() or 4) // 2))))) CONTEXT = 8192 LANGUAGES = ["English", "Assamese", "Bengali", "Bodo", "Dogri", "Gujarati", "Hindi", "Kannada", "Kashmiri", "Konkani", "Maithili", "Malayalam", "Manipuri", "Marathi", "Nepali", "Odia", "Punjabi", "Sanskrit", "Santali", "Sindhi", "Tamil", "Telugu", "Urdu"] FIELD_NAMES = ["case_number", "court", "parties", "judges", "order_date", "outcome"]