# Copy to .env and fill in real values. .env is gitignored. # # The LLM clustering pipeline (templates/pipeline/cluster_themes.py) uses an # OpenAI-compatible API. Any provider that speaks /chat/completions works: # # DeepSeek OPENAI_BASE_URL=https://api.deepseek.com/v1 OPENAI_MODEL=deepseek-chat # Qwen OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 OPENAI_MODEL=qwen-plus # Kimi OPENAI_BASE_URL=https://api.moonshot.cn/v1 OPENAI_MODEL=moonshot-v1-8k # GLM OPENAI_BASE_URL=https://open.bigmodel.cn/api/paas/v4 OPENAI_MODEL=glm-4 # Ollama OPENAI_BASE_URL=http://localhost:11434/v1 OPENAI_MODEL=qwen2.5:14b # OpenAI OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-4o-mini OPENAI_BASE_URL=https://api.deepseek.com/v1 OPENAI_API_KEY=sk-your-key-here OPENAI_MODEL=deepseek-chat # Reddit official API (optional but STRONGLY recommended). # Without these, the collector scrapes www.reddit.com unauthenticated — which # is frequently IP-blocked (403) and returns nothing, starving consumer-product # reports of their main data source. With them, the collector uses the official # oauth.reddit.com API: works even when the web frontend blocks your IP, much # higher rate limits, far more voices per report. # Setup (~5 min): see docs/reddit-oauth.md REDDIT_CLIENT_ID= REDDIT_CLIENT_SECRET= # Optional but most reliable for "script" apps: your Reddit login. # If set, uses password grant (Reddit's official path for script apps). # Leave blank to use app-only client_credentials (id+secret only). REDDIT_USERNAME= REDDIT_PASSWORD=