InsuranceBot / .env.example
rohitsar567's picture
Deploy: Stack A (NIM brain + Maverick judge + Sarvam voice). D-019.
629dfe2 verified
Raw
History Blame Contribute Delete
2.82 kB
# Copy this to .env and fill in. Do NOT commit .env.
# Voice + Indic translation β€” Sarvam AI (STT, TTS, Indic translation)
SARVAM_API_KEY=sk_your_sarvam_api_key_here
# (legacy β€” embeddings now run locally via BGE-small; this is kept only for back-compat
# with old extracted/ artifacts.)
VOYAGE_API_KEY=pa-your_voyage_key_here
# NVIDIA NIM β€” single provider for the entire reasoning stack:
# Brain = qwen/qwen3-next-80b-a3b-instruct (Qwen 80B, primary)
# Judge = mistralai/mistral-large-3-675b-instruct-2512 (Mistral Large 3, different family from brain)
# Free tier: 40 req/min, no daily cap, no card. Get a key at https://build.nvidia.com.
NVIDIA_NIM_API_KEY=nvapi-your_nim_key_here
# ---------------------------------------------------------------------------
# CROSS-PROVIDER FALLBACKS (optional but recommended)
# ---------------------------------------------------------------------------
# Last-resort entries appended to BRAIN_CHAIN + FAST_BRAIN_CHAIN + JUDGE_CHAIN
# so the brain + judge survive a FULL NIM outage (regional ingress brownout,
# pool-wide 5xx, DNS, etc.). NIM remains primary β€” these only get hit after
# every NIM candidate in the chain has failed. Both keys are optional: if
# unset the corresponding fallback is simply skipped and the chain continues.
# OpenRouter β€” aggregates dozens of free + paid OSS models behind one API.
# Free-tier model 'openai/gpt-oss-120b' is the cross-provider fallback used
# in BRAIN_CHAIN + JUDGE_CHAIN. Get a key at https://openrouter.ai/keys
OPENROUTER_API_KEY=sk-or-your_openrouter_key_here
# Groq β€” LPU inference, lowest TTFT of any free-tier 70B option.
# 'llama-3.3-70b-versatile' is the cross-provider fallback used at the bottom
# of BRAIN_CHAIN + FAST_BRAIN_CHAIN + JUDGE_CHAIN. Get a key at
# https://console.groq.com/keys
GROQ_API_KEY=gsk_your_groq_key_here
# Hugging Face β€” used by tools/upload_*.py for Space + dataset sync
HF_TOKEN=hf_your_token_here
# ---------------------------------------------------------------------------
# Admin control panel (LLM control UI)
# ---------------------------------------------------------------------------
# The /admin/llm-control.html page + /api/admin/* endpoints are HIDDEN from
# non-allowlisted callers. BOTH gates must pass:
# 1. Client IP must match one of the IPs in ADMIN_IP_ALLOWLIST (comma-sep)
# 2. Request must include header X-Admin-Password matching ADMIN_PASSWORD
# Unauthorized requests get 404 (not 401) so the existence of /api/admin/* is
# concealed. Set BOTH or admin endpoints are disabled by default.
# Find your public IP at https://api.ipify.org (run from where you'll use admin)
ADMIN_IP_ALLOWLIST=your.public.ip.here
# A strong unique passphrase. Min 16 chars recommended. Keep out of git.
ADMIN_PASSWORD=replace_with_a_strong_random_passphrase