MicroFish/azure/config.sh.example

80 lines
4.4 KiB
Bash

#!/usr/bin/env bash
# ─────────────────────────────────────────────────────────────────────────────
# Configuració de desplegament MiroFish a Azure
#
# INSTRUCCIONS:
# 1. Còpia aquest fitxer a azure/config.sh (NO comitegis config.sh — té secrets)
# cp azure/config.sh.example azure/config.sh
# 2. Omple tots els valors marcats amb <...>
# 3. Executa: az login
# 4. Executa: bash azure/1-infra.sh (una sola vegada)
# 5. Executa: bash azure/2-build-deploy.sh (a cada nova versió)
# ─────────────────────────────────────────────────────────────────────────────
# ── Subscripció i localització Azure ─────────────────────────────────────────
AZURE_SUBSCRIPTION_ID="<la-teva-subscription-id>"
AZURE_LOCATION="westeurope" # canvia si prefereixes altra regió
# ── Noms de recursos (pots deixar els valors per defecte) ─────────────────────
RESOURCE_GROUP="rg_mirofish"
PROJECT_NAME="mirofish" # prefix per a tots els recursos Azure
# Nota: el nom de l'ACR serà "${PROJECT_NAME}acr" (sense guions, tot minúscula)
# ── Secrets de l'aplicació ────────────────────────────────────────────────────
# Contrasenya de l'usuari "demo" per fer login a l'app
DEMO_PASSWORD="<contrasenya-segura>"
# Flask SECRET_KEY per signar tokens JWT
# Genera-la amb: python -c "import secrets; print(secrets.token_hex(32))"
SECRET_KEY="<flask-secret-key>"
# ── LLM principal (OpenAI-compatible) ─────────────────────────────────────────
LLM_API_KEY="<la-teva-llm-api-key>"
LLM_BASE_URL="https://dashscope.aliyuncs.com/compatible-mode/v1"
LLM_MODEL_NAME="qwen-plus"
# Proveïdor LLM especial (opcional):
# gemini → configura automàticament Google AI Studio (no cal LLM_BASE_URL)
# (buit) → qualsevol API compatible OpenAI
LLM_PROVIDER=""
# ── LLM accelerador (opcional — deixar buit per desactivar) ───────────────────
LLM_BOOST_API_KEY=""
LLM_BOOST_BASE_URL=""
LLM_BOOST_MODEL_NAME=""
# ── Backend de graf ───────────────────────────────────────────────────────────
# Opcions: zep (Zep Cloud, per defecte) | graphiti (Neo4j local/Azure)
GRAPH_BACKEND="zep"
# --- Zep Cloud (si GRAPH_BACKEND=zep) ---
ZEP_API_KEY="<la-teva-zep-api-key>"
# --- Graphiti + Neo4j (si GRAPH_BACKEND=graphiti) ---
# URI bolt del servidor Neo4j (pot ser una VM Azure, ACI, etc.)
# NEO4J_URI="bolt://<ip-o-hostname>:7687"
# NEO4J_USER="neo4j"
# NEO4J_PASSWORD="<contrasenya-neo4j>"
# GRAPHITI_BATCH_SIZE="10" # chunks per crida bulk; més alt = més ràpid però més paral·lelisme LLM
# --- Embedding LLM (usat per Graphiti per a indexació vectorial) ---
# Si no s'estableix, fa fallback a LLM_API_KEY / LLM_BASE_URL.
# LLM_EMBED_API_KEY="<la-teva-embed-api-key>"
# LLM_EMBED_BASE_URL="https://<recurs>.cognitiveservices.azure.com/openai/deployments/<embed-deployment>/embeddings?api-version=2024-05-01-preview"
# LLM_EMBED_MODEL_NAME="text-embedding-3-small"
# --- Small/fast LLM (usat per Graphiti per a reranking i tasques lleugeres) ---
# Si no s'estableix, fa fallback a LLM_API_KEY / LLM_BASE_URL / LLM_MODEL_NAME.
# LLM_SMALL_API_KEY="<la-teva-small-api-key>"
# LLM_SMALL_BASE_URL="https://<recurs>.cognitiveservices.azure.com/openai/deployments/<small-model>/chat/completions?api-version=2024-05-01-preview"
# LLM_SMALL_MODEL_NAME="gpt-4o-mini"
# ── Simulació OASIS (valors per defecte recomanats) ───────────────────────────
OASIS_DEFAULT_MAX_ROUNDS="10"
# ── Report Agent (valors per defecte recomanats) ──────────────────────────────
REPORT_AGENT_MAX_TOOL_CALLS="5"
REPORT_AGENT_MAX_REFLECTION_ROUNDS="2"
REPORT_AGENT_TEMPERATURE="0.5"