-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path.env.example
More file actions
47 lines (42 loc) · 2.38 KB
/
Copy path.env.example
File metadata and controls
47 lines (42 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# ─────────────────────────────────────────────────────────────
# Model provider — choose how the coach runs Gemma.
# ollama → local, free, private (requires Ollama running)
# google → Google AI hosted API (requires GOOGLE_API_KEY)
# ─────────────────────────────────────────────────────────────
LLM_PROVIDER=ollama
# --- Ollama (local) -------------------------------------------
# Install: https://ollama.com then pull the model (check tag with `ollama list`).
# For the model to actually HEAR your audio, use an audio-capable Gemma 4 variant
# (E2B/E4B), e.g. gemma-4-E4B-it. Audio input is capped at 30 seconds.
OLLAMA_BASE_URL=http://localhost:11434
OLLAMA_MODEL=gemma4
# --- Google AI (hosted) ---------------------------------------
# Get a key: https://aistudio.google.com/apikey
# Hosted Gemma 4 models on the Gemini API (text + image only, NO audio):
# gemma-4-26b-a4b-it (MoE, lighter/cheaper — recommended)
# gemma-4-31b-it (dense, higher quality)
GOOGLE_API_KEY=
# Alias also accepted for PDF vision extraction:
GEMINI_API_KEY=
GOOGLE_MODEL=gemma-4-26b-a4b-it
# Used only for visual PDF extraction when a PDF has little/no embedded text
# (for example slide decks and scanned PDFs). Requires GOOGLE_API_KEY.
PDF_EXTRACTOR_MODEL=gemini-3.5-flash
# Local PDF vision fallback. Requires Ollama plus Poppler's `pdftoppm`.
PDF_EXTRACTOR_OLLAMA_BASE_URL=http://localhost:11434
PDF_EXTRACTOR_OLLAMA_MODEL=gemma3:4b
PDF_EXTRACTOR_OLLAMA_MAX_PAGES=3
PDF_EXTRACTOR_OLLAMA_DPI=120
# Send recorded audio to the model. Keep "false" for the hosted Google models
# (they reject audio). Set "true" ONLY with a local audio-capable variant
# (E2B/E4B). Either way, transcript + delivery signals drive the coaching.
SEND_AUDIO=false
# --- Rate limiting (protects your paid API on a public URL) ---
# Max model calls per IP per window. Set to 0 to disable.
RATE_LIMIT_MAX=30
RATE_LIMIT_WINDOW_SEC=3600
# Optional: durable limits across Vercel's serverless fleet via Upstash Redis
# (free tier). Without these, a best-effort in-memory limiter is used.
# Create a DB at https://console.upstash.com and paste the REST creds:
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=