ai-prof / .env.example
pranavkarthik10's picture
Deploy AI Prof hackathon submission
81e3ca2 verified
Raw
History Blame Contribute Delete
2.63 kB
# AI Prof configuration.
# Leave everything blank to run in MOCK mode (no weights needed — great for UI dev / demo recording).
# --- Eyes: MiniCPM-V (vision) ---
# Hosted on Modal through llama.cpp (modal_app_vision.py).
# Bring up with: modal run modal_app_vision.py::download_model
# modal run modal_app_vision.py::warm
# modal deploy modal_app_vision.py
# Set VISION_BASE_URL to the printed serve URL, with or without /v1.
VISION_BASE_URL=
VISION_API_KEY=sk-no-key-required
VISION_MODEL=minicpm-v
# --- Brain: Nemotron 3 Nano (explanation + Q&A) ---
# Any OpenAI-compatible chat endpoint (vLLM, llama.cpp, etc.)
# vllm serve nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 --port 8000
BRAIN_BASE_URL=
BRAIN_API_KEY=sk-no-key-required
BRAIN_MODEL=nemotron-3-nano
# --- Voice (TTS): VoxCPM2 served via vLLM-Omni (modal_app_vox.py) ---
# Used by the WebRTC voice layer (ai_prof/rtc.py) to speak AI Prof answers aloud.
# Bring up with: modal run modal_app_vox.py::download_model
# modal run modal_app_vox.py::warm
# modal deploy modal_app_vox.py
# Set TTS_BASE_URL to either the printed *.modal.run URL or that URL + /v1.
# Leave blank to fall back to a silent-audio mock (voice UI still works, just mute).
TTS_BASE_URL=
TTS_API_KEY=sk-no-key-required
TTS_MODEL=voxcpm2
# Use a precomputed vLLM-Omni voice name when available. Otherwise AI Prof
# creates one voice on the first utterance and reuses it for the lecture.
TTS_VOICE=default
# --- Voice (STT): distil-whisper-large-v3 via faster-whisper-server (modal_app_vox.py) ---
# Used to transcribe student microphone audio (push-to-talk + WebRTC interjections).
# Bring up with: modal run modal_app_vox.py::download_stt
# modal deploy modal_app_vox.py
# Set STT_BASE_URL to the `transcribe` function URL, with or without /v1.
# Leave blank to fall back to a "[voice input]" mock.
STT_BASE_URL=
STT_API_KEY=sk-no-key-required
STT_MODEL=distil-whisper-large-v3
# Rendering DPI for slide images (higher = sharper, slower vision pass)
SLIDE_DPI=150
# --- Processed deck cache ---
# Every uploaded PDF is hashed. Rendered slide images, text layers, MiniCPM-V
# readings, and the complete deck index are cached locally under DECK_CACHE_DIR.
DECK_CACHE_DIR=.cache/ai-prof/decks
# Optional shared Hugging Face dataset cache. Public repos can be read without a
# token; private repos require HF_TOKEN. Keep writes disabled for arbitrary user
# uploads unless the dataset is private or you have explicit permission to
# publish the lecture material.
HF_DECK_CACHE_REPO=
HF_TOKEN=
HF_DECK_CACHE_WRITE=false