Files

1 line
9.1 KiB
JSON

{"repo": "abhishekjhajhria1/brewdiary", "files": {".env.example": {"67d9076d2f5a97f4fdca4300c75eb3f127968ebb": {"t": 1785747077.280234, "n": 2943, "h": "542387d797834a5f", "c": "# brewdiary — AI bartender provider (any OpenAI-compatible chat API).\n# Copy to .env.local and fill in. WITHOUT a key, the bartender still works on\n# built-in scripted suggestions. The key is read server-side only (never shipped\n# to the browser). Pick whichever provider is cheapest for you — code is identical.\n\n# Required to go live:\nAI_API_KEY=\n\n# Provider endpoint + model. Default = Groq: it is the chosen TEACHER model\n# while we distill our own Ninkasi (see scripts/ninkasi/README.md) — cheap,\n# fast, and its answers accumulate (with user consent) into ninkasi_exchanges,\n# the corpus our own fine-tuned model trains on. When that model is hosted,\n# point AI_BASE_URL/AI_MODEL at it — nothing else changes.\n#\n# Groq (teacher) AI_BASE_URL=https://api.groq.com/openai/v1\n# AI_MODEL=llama-3.3-70b-versatile\n#\n# Our own Ninkasi AI_BASE_URL=https://<your-vllm-or-together-host>/v1\n# (student) AI_MODEL=ninkasi-8b\n#\n# xAI Grok AI_BASE_URL=https://api.x.ai/v1 AI_MODEL=grok-4-fast\n# Google Gemini AI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai\n# AI_MODEL=gemini-2.0-flash\n# OpenAI AI_BASE_URL=https://api.openai.com/v1 AI_MODEL=gpt-4o-mini\n# DeepSeek AI_BASE_URL=https://api.deepseek.com AI_MODEL=deepseek-chat\n#\n# Set AI_MODEL to the exact id your provider uses — they change over time.\nAI_BASE_URL=https://api.groq.com/openai/v1\nAI_MODEL=llama-3.3-70b-versatile\n\n# ── The SEPARATE AI database (the \"Ninkasi Data Plane\") ──────────────────────\n# A SECOND Supabase project, dedicated to the AI's data (the training corpus +\n# anonymized trend snapshots). It is reached ONLY from our server, never the browser.\n# Apply ai-db/schema.sql in that project, then fill these in (server-side only):\n# AI_SUPABASE_URL the second project's URL (https://<ref>.supabase.co)\n# AI_SUPABASE_SERVICE_KEY its service_role key (full access; SERVER-ONLY, never NEXT_PUBLIC)\n# AI_DB_SALT a long random string — pseudonymizes user ids in the corpus\n# (set once and NEVER change it, or past rows can't be matched)\n# Leave blank and the app runs fine; consented exchanges just aren't recorded centrally yet.\nAI_SUPABASE_URL=\nAI_SUPABASE_SERVICE_KEY=\nAI_DB_SALT=\n\n# Optional: the second project's Postgres connection string, only if you want to run\n# DDL from the CLI (node scripts/db.mjs ai-db/schema.sql) instead of the SQL editor.\nAI_SUPABASE_DB_URL=\n\n# ── RAG embeddings (Ninkasi's memory) ────────────────────────────────────────\n# By DEFAULT embeddings run locally & free with the open-source gte-small model\n# (no key needed). Only set these to OFFLOAD embedding to a hosted OpenAI-compatible\n# /embeddings endpoint if you outgrow the local model. EMBED_MODEL must output 384\n# dims to match ai-db/002_rag.sql (or change the vector size there).\nEMBED_API_URL=\nEMBED_API_KEY=\nEMBED_MODEL=\n"}, "85b8016c11847036d04136fa98830bfebf434c3b": {"t": 1785770275.004732, "n": 2943, "h": "542387d797834a5f", "c": "# brewdiary — AI bartender provider (any OpenAI-compatible chat API).\n# Copy to .env.local and fill in. WITHOUT a key, the bartender still works on\n# built-in scripted suggestions. The key is read server-side only (never shipped\n# to the browser). Pick whichever provider is cheapest for you — code is identical.\n\n# Required to go live:\nAI_API_KEY=\n\n# Provider endpoint + model. Default = Groq: it is the chosen TEACHER model\n# while we distill our own Ninkasi (see scripts/ninkasi/README.md) — cheap,\n# fast, and its answers accumulate (with user consent) into ninkasi_exchanges,\n# the corpus our own fine-tuned model trains on. When that model is hosted,\n# point AI_BASE_URL/AI_MODEL at it — nothing else changes.\n#\n# Groq (teacher) AI_BASE_URL=https://api.groq.com/openai/v1\n# AI_MODEL=llama-3.3-70b-versatile\n#\n# Our own Ninkasi AI_BASE_URL=https://<your-vllm-or-together-host>/v1\n# (student) AI_MODEL=ninkasi-8b\n#\n# xAI Grok AI_BASE_URL=https://api.x.ai/v1 AI_MODEL=grok-4-fast\n# Google Gemini AI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai\n# AI_MODEL=gemini-2.0-flash\n# OpenAI AI_BASE_URL=https://api.openai.com/v1 AI_MODEL=gpt-4o-mini\n# DeepSeek AI_BASE_URL=https://api.deepseek.com AI_MODEL=deepseek-chat\n#\n# Set AI_MODEL to the exact id your provider uses — they change over time.\nAI_BASE_URL=https://api.groq.com/openai/v1\nAI_MODEL=llama-3.3-70b-versatile\n\n# ── The SEPARATE AI database (the \"Ninkasi Data Plane\") ──────────────────────\n# A SECOND Supabase project, dedicated to the AI's data (the training corpus +\n# anonymized trend snapshots). It is reached ONLY from our server, never the browser.\n# Apply ai-db/schema.sql in that project, then fill these in (server-side only):\n# AI_SUPABASE_URL the second project's URL (https://<ref>.supabase.co)\n# AI_SUPABASE_SERVICE_KEY its service_role key (full access; SERVER-ONLY, never NEXT_PUBLIC)\n# AI_DB_SALT a long random string — pseudonymizes user ids in the corpus\n# (set once and NEVER change it, or past rows can't be matched)\n# Leave blank and the app runs fine; consented exchanges just aren't recorded centrally yet.\nAI_SUPABASE_URL=\nAI_SUPABASE_SERVICE_KEY=\nAI_DB_SALT=\n\n# Optional: the second project's Postgres connection string, only if you want to run\n# DDL from the CLI (node scripts/db.mjs ai-db/schema.sql) instead of the SQL editor.\nAI_SUPABASE_DB_URL=\n\n# ── RAG embeddings (Ninkasi's memory) ────────────────────────────────────────\n# By DEFAULT embeddings run locally & free with the open-source gte-small model\n# (no key needed). Only set these to OFFLOAD embedding to a hosted OpenAI-compatible\n# /embeddings endpoint if you outgrow the local model. EMBED_MODEL must output 384\n# dims to match ai-db/002_rag.sql (or change the vector size there).\nEMBED_API_URL=\nEMBED_API_KEY=\nEMBED_MODEL=\n"}, "ed3a99562a15beae3f6a4e263b094bac26793933": {"t": 1785770276.5473385, "n": 2502, "h": "ad43c3588fc3fb3e", "c": "# brewdiary — AI bartender provider (any OpenAI-compatible chat API).\n# Copy to .env.local and fill in. WITHOUT a key, the bartender still works on\n# built-in scripted suggestions. The key is read server-side only (never shipped\n# to the browser). Pick whichever provider is cheapest for you — code is identical.\n\n# Required to go live:\nAI_API_KEY=\n\n# Provider endpoint + model. Default = Groq: it is the chosen TEACHER model\n# while we distill our own Ninkasi (see scripts/ninkasi/README.md) — cheap,\n# fast, and its answers accumulate (with user consent) into ninkasi_exchanges,\n# the corpus our own fine-tuned model trains on. When that model is hosted,\n# point AI_BASE_URL/AI_MODEL at it — nothing else changes.\n#\n# Groq (teacher) AI_BASE_URL=https://api.groq.com/openai/v1\n# AI_MODEL=llama-3.3-70b-versatile\n#\n# Our own Ninkasi AI_BASE_URL=https://<your-vllm-or-together-host>/v1\n# (student) AI_MODEL=ninkasi-8b\n#\n# xAI Grok AI_BASE_URL=https://api.x.ai/v1 AI_MODEL=grok-4-fast\n# Google Gemini AI_BASE_URL=https://generativelanguage.googleapis.com/v1beta/openai\n# AI_MODEL=gemini-2.0-flash\n# OpenAI AI_BASE_URL=https://api.openai.com/v1 AI_MODEL=gpt-4o-mini\n# DeepSeek AI_BASE_URL=https://api.deepseek.com AI_MODEL=deepseek-chat\n#\n# Set AI_MODEL to the exact id your provider uses — they change over time.\nAI_BASE_URL=https://api.groq.com/openai/v1\nAI_MODEL=llama-3.3-70b-versatile\n\n# ── The SEPARATE AI database (the \"Ninkasi Data Plane\") ──────────────────────\n# A SECOND Supabase project, dedicated to the AI's data (the training corpus +\n# anonymized trend snapshots). It is reached ONLY from our server, never the browser.\n# Apply ai-db/schema.sql in that project, then fill these in (server-side only):\n# AI_SUPABASE_URL the second project's URL (https://<ref>.supabase.co)\n# AI_SUPABASE_SERVICE_KEY its service_role key (full access; SERVER-ONLY, never NEXT_PUBLIC)\n# AI_DB_SALT a long random string — pseudonymizes user ids in the corpus\n# (set once and NEVER change it, or past rows can't be matched)\n# Leave blank and the app runs fine; consented exchanges just aren't recorded centrally yet.\nAI_SUPABASE_URL=\nAI_SUPABASE_SERVICE_KEY=\nAI_DB_SALT=\n\n# Optional: the second project's Postgres connection string, only if you want to run\n# DDL from the CLI (node scripts/db.mjs ai-db/schema.sql) instead of the SQL editor.\nAI_SUPABASE_DB_URL=\n"}}}}