# ── API Keys ────────────────────────────────────────────────────────────────── # TypeSafe AI — required for Jev (System One) routing classifier TYPESAFE_API_KEY= # Underlying LLMs that Jev routes requests to GROQ_API_KEY= GEMINI_API_KEY= OPENROUTER_API_KEY= # ── Jev / TypeSafe SDK ──────────────────────────────────────────────────────── # Model used for routing decisions (classification step) # jev-latest — always points to the current stable release # jev-1.13.0 — pin to a specific release for reproducibility TYPESAFE_DEFAULT_MODEL=jev-latest # Override the API endpoint (optional — leave blank to use the default) # TYPESAFE_BASE_URL=https://api.typesafe.ai # SDK log verbosity: debug | info | warning | error | off TYPESAFE_LOG_LEVEL=warning # ── Model Routing ───────────────────────────────────────────────────────────── # # Jev classifies the latest user message and selects a tier; the chosen model # is then used for the full agent run. # # FAST tier — direct lookups, extraction, localised changes # LangChain model strings use "provider:model-name" (colon separator). # groq:llama-3.3-70b-versatile 30 RPM 1,000/day ← best quality # groq:llama-3.1-8b-instant 30 RPM 1,000/day ← fastest # groq:deepseek-r1-distill-llama-70b 30 RPM 1,000/day ← reasoning # groq:gemma2-9b-it 30 RPM 1,000/day # groq:mixtral-8x7b-32768 30 RPM 1,000/day # groq:llama3-70b-8192 30 RPM 1,000/day # groq:llama3-8b-8192 30 RPM 1,000/day # google_genai:gemini-2.0-flash 15 RPM ~1,500/day # ────────────────────────────────────────────────────── # Groq + Gemini combined: 225 RPM reliable # # POWERFUL tier — architecture, high-stakes, multi-step reasoning # Same pool of models; Jev picks this tier when the task is complex. # # OpenRouter :free diversity fallback (use sparingly): # openrouter:nvidia/nemotron-3-ultra-550b-a55b:free 20 RPM 50/day # openrouter:poolside/laguna-s-2.1:free 20 RPM 50/day # WARNING: 50 req/day free cap exhausts in ~2.5 min at full RPM. # Add $10 credits to raise the cap to 1,000/day. # # Paid options: # openai:gpt-4o-mini | openai:gpt-4o # anthropic:claude-haiku-4-5-20251001 # ollama:llama3.2 # Model assigned when Jev classifies a task as "fast" LLM_FAST_MODEL=groq:llama-3.3-70b-versatile # Model assigned when Jev classifies a task as "powerful" LLM_POWERFUL_MODEL=groq:deepseek-r1-distill-llama-70b # Fallback list (tried in order if the primary provider fails) LLM_FALLBACK_MODELS=["groq:llama-3.1-8b-instant","groq:gemma2-9b-it","groq:mixtral-8x7b-32768","groq:llama3-70b-8192","groq:llama3-8b-8192","google_genai:gemini-2.0-flash","openrouter:nvidia/nemotron-3-ultra-550b-a55b:free","openrouter:poolside/laguna-s-2.1:free"] # Probability threshold: tasks with P(hard) >= this value use the powerful model # 0.5 = balanced; lower to bias toward powerful; raise to bias toward fast LLM_ROUTING_THRESHOLD=0.5 LLM_TEMPERATURE=0.7 LLM_MAX_TOKENS=2048 # ── LangSmith (optional tracing) ────────────────────────────────────────────── # LANGSMITH_API_KEY= # LANGSMITH_TRACING=true