methunraj
feat: initialize project structure with core components
cfeb3a6
raw
history blame
1.56 kB
import os
from pathlib import Path
from dotenv import load_dotenv
load_dotenv()
class Settings:
GOOGLE_AI_API_KEY = os.getenv("GOOGLE_AI_API_KEY")
MAX_FILE_SIZE_MB = 50
SUPPORTED_FILE_TYPES = [
"pdf",
"txt",
"png",
"jpg",
"jpeg",
"docx",
"xlsx",
"csv",
"md",
"json",
"xml",
"html",
"py",
"js",
"ts",
"doc",
"xls",
"ppt",
"pptx",
]
# Use /tmp for temporary files on Hugging Face Spaces (or override with TEMP_DIR env var)
TEMP_DIR = Path(os.getenv("TEMP_DIR", "/tmp/data_extractor_temp"))
DOCKER_IMAGE = os.getenv("DOCKER_IMAGE", "python:3.12-slim")
COORDINATOR_MODEL = os.getenv("COORDINATOR_MODEL", "gemini-2.5-pro")
PROMPT_ENGINEER_MODEL = os.getenv("PROMPT_ENGINEER_MODEL", "gemini-2.5-pro")
DATA_EXTRACTOR_MODEL = os.getenv("DATA_EXTRACTOR_MODEL", "gemini-2.5-pro")
DATA_ARRANGER_MODEL = os.getenv("DATA_ARRANGER_MODEL", "gemini-2.5-pro")
CODE_GENERATOR_MODEL = os.getenv("CODE_GENERATOR_MODEL", "gemini-2.5-pro")
COORDINATOR_MODEL_THINKING_BUDGET=2048
PROMPT_ENGINEER_MODEL_THINKING_BUDGET=2048
DATA_EXTRACTOR_MODEL_THINKING_BUDGET=-1
DATA_ARRANGER_MODEL_THINKING_BUDGET=3072
CODE_GENERATOR_MODEL_THINKING_BUDGET=3072
@classmethod
def validate_config(cls):
if not cls.GOOGLE_AI_API_KEY:
raise ValueError("GOOGLE_AI_API_KEY required")
cls.TEMP_DIR.mkdir(exist_ok=True)
settings = Settings()