govbridge-api / config.py
harshrawat18's picture
Upload folder using huggingface_hub
aa68ee9 verified
Raw
History Blame Contribute Delete
2.69 kB
"""
GovBridge India β€” Centralized Configuration
All environment variables are declared here with Pydantic validation.
Usage: from config import settings
"""
from pydantic_settings import BaseSettings, SettingsConfigDict
from pydantic import Field
from typing import Optional
class Settings(BaseSettings):
# ── Database ─────────────────────────────────────────
SUPABASE_URL: str = Field(default="")
SUPABASE_KEY: str = Field(default="")
# ── LLM ──────────────────────────────────────────────
GROQ_API_KEY: str = Field(default="")
# ── Knowledge Extraction (Sprint 30 β€” INDRA Phase 1.5) ───
GROQ_EXTRACTION_MODEL: str = Field(
default="llama-3.3-70b-versatile",
description="Groq model for Knowledge Triplet extraction"
)
GROQ_MAX_CONCURRENCY: int = Field(
default=5,
description="Max concurrent Groq API calls during extraction"
)
# ── Admin ────────────────────────────────────────────
ADMIN_SECRET: str = Field(default="change-this-in-production")
# ── Translation (Bhashini) ───────────────────────────
BHASHINI_USER_ID: Optional[str] = Field(default=None)
BHASHINI_API_KEY: Optional[str] = Field(default=None)
# ── WhatsApp ─────────────────────────────────────────
WHATSAPP_TOKEN: Optional[str] = Field(default=None)
WHATSAPP_PHONE_NUMBER_ID: Optional[str] = Field(default=None)
WHATSAPP_VERIFY_TOKEN: Optional[str] = Field(default=None)
WHATSAPP_APP_SECRET: Optional[str] = Field(default=None)
# ── Feature Flags ────────────────────────────────────
ENVIRONMENT: str = Field(default="development")
# ── Migration Flag ───────────────────────────────────
# Set to "true" during the expand-contract migration window.
# When true, ingest writes to BOTH embedding AND embedding_v2.
# After migration 009 is complete, set back to "false".
DUAL_WRITE_EMBEDDINGS: str = Field(default="false")
model_config = SettingsConfigDict(
env_file=(".env", "../.env"),
env_file_encoding="utf-8",
extra="ignore"
)
settings = Settings()