# LLM provider (OpenAI-compatible endpoint) LLM_BASE_URL=http://localhost:11434/v1/ # For Ollama, API key is not required but a placeholder is needed. LLM_API_KEY=ollama # Default model for inline completions (e.g., gpt-oss:20b, qwen3:8b) LLM_MODEL=gpt-oss:20b # Pro-tier model (defaults to LLM_MODEL if unset) PRO_LLM_MODEL=gpt-oss:20b # Vision model for OCR (e.g., qwen3-vl:30b, llava) VLM_MODEL=qwen3-vl:30b # API key for the FastAPI app (change in production) API_KEY=your-secret-key-here # Job backend JOB_BACKEND=redis REDIS_URL=redis://localhost:6379/0 JOB_REDIS_PREFIX=llmtext:jobs JOB_CONSUMER_NAME= JOB_SHARED_TEMP_DIR=/tmp/llm-in-text-jobs JOB_STATE_TTL_SECONDS=600 JOB_EVENT_TTL_SECONDS=600 JOB_EVENT_STREAM_MAXLEN=512 JOB_CANCEL_POLL_SECONDS=0.5 JOB_BUSY_NORMAL_THRESHOLD=0.25 JOB_BUSY_HIGH_THRESHOLD=0.75 JOB_BUSY_FULL_THRESHOLD=1.0 # Per-queue concurrency and capacity JOB_COMPLETION_CONCURRENCY=2 JOB_COMPLETION_MAX_QUEUE=16 JOB_PRO_COMPLETION_CONCURRENCY=1 JOB_PRO_COMPLETION_MAX_QUEUE=8 JOB_COMPRESS_CONCURRENCY=1 JOB_COMPRESS_MAX_QUEUE=8 JOB_OCR_CONCURRENCY=1 JOB_OCR_MAX_QUEUE=8 JOB_CONVERT_CONCURRENCY=1 JOB_CONVERT_MAX_QUEUE=8 JOB_TTS_CONCURRENCY=1 JOB_TTS_MAX_QUEUE=4 JOB_ASR_CONCURRENCY=1 JOB_ASR_MAX_QUEUE=4 # Timeouts (seconds) LLM_COMPLETION_TIMEOUT=600 LLM_OCR_TIMEOUT=600 # Compression limit DOC_COMPRESS_CONTEXT_LIMIT=128000 # Legacy fallback: if LLM_BASE_URL is not set, OLLAMA_HOST will be auto-converted to /v1/ path #OLLAMA_HOST=http://localhost:11434 # TTS/ASR settings (see README for full list) TTS_ASR_DEVICE=auto