Files
glpi-neural-brain/.env.example
2026-08-07 21:54:37 +02:00

163 lines
6.4 KiB
Plaintext

# HTTP
BRAIN_LISTEN_ADDR=:8090
BRAIN_DATA_DIR=./data
BRAIN_API_KEY=
# Read-only production knowledge; comma-separated paths are supported.
BRAIN_KNOWLEDGE_DIRS=../glpi-ai-agent/knowledge
# Writable staging used only for AI-THINK drafts. The Agent does not mount this path.
BRAIN_STAGING_DIRS=../glpi-ai-knowledgebase/staging
# Optional read-only audit streams. Multiple files may be comma-separated.
BRAIN_AGENT_RUNS_FILES=../glpi-ai-agent/data/runs.jsonl
# Batched disk persistence. AI-THINK files and caches are written first;
# changed graph rows follow in one SQLite/WAL transaction. A final flush is
# attempted during shutdown.
BRAIN_PERSIST_INTERVAL=5m
# Ollama pool. OLLAMA_URLS takes precedence over legacy OLLAMA_URL.
OLLAMA_URL=http://localhost:11434
OLLAMA_URLS=http://localhost:11434
OLLAMA_NODE_NAMES=local-gpu
OLLAMA_NODE_WEIGHTS=1
OLLAMA_ROUTING_MODE=least_inflight
OLLAMA_NODE_MAX_INFLIGHT=1
OLLAMA_NODE_HEALTH_INTERVAL=15s
OLLAMA_NODE_FAILURE_COOLDOWN=30s
OLLAMA_NODE_REQUEST_TIMEOUT=8m
OLLAMA_FAILOVER_ENABLED=true
# 0 = try all configured nodes.
OLLAMA_FAILOVER_ATTEMPTS=0
OLLAMA_REQUIRE_SAME_MODEL_DIGEST=true
OLLAMA_REQUIRE_EMBEDDING_MODEL=true
OLLAMA_CHAT_MODEL=qwen3:8b
OLLAMA_EMBEDDING_MODEL=embeddinggemma
# Optional read-only GLPI Knowledge Base ingest.
GLPI_KB_ENABLED=false
GLPI_URL=https://glpi.example.invalid
GLPI_API_VERSION=v2.3
GLPI_CLIENT_ID=
GLPI_CLIENT_SECRET=
GLPI_USERNAME=
GLPI_PASSWORD=
GLPI_ALLOW_INSECURE_HTTP=false
GLPI_TIMEOUT=20s
GLPI_KB_PATH=auto
GLPI_KB_FILTER=
GLPI_KB_LIMIT=500
GLPI_KB_SYNC_INTERVAL=10m
GLPI_KB_SOURCE=GLPI Knowledge Base
# Runtime controls. Boolean/view/performance values are WebUI defaults.
# Source lists are initial WebUI defaults only; runtime-settings.json takes precedence afterwards.
# Empty lists mean unrestricted. Values must exactly match the KB JSON source field.
BRAIN_LEARNING_ENABLED=true
BRAIN_THINKING_ENABLED=true
# Initial exact source selections; empty = all sources.
BRAIN_LEARNING_SOURCES=
BRAIN_DISPLAY_SOURCES=
BRAIN_THINKING_SOURCES=
BRAIN_DEFAULT_VIEW=neural # neural | honeycomb | constellation
# 0 = unbegrenzt; Webinterface kann den Wert zur Laufzeit ändern
BRAIN_MAX_DISPLAY_NODES=0
# Browser-Rendering auf 30 FPS, geringere DPR und reduzierte Effektkosten optimieren.
BRAIN_LOW_POWER_MODE=false
# Sequential enrichment
BRAIN_AUTO_ENRICH=true
BRAIN_SCAN_INTERVAL=20s
BRAIN_ENRICH_INTERVAL=90s
BRAIN_ENRICH_BATCH_SIZE=3
BRAIN_ENRICH_STEP_DELAY=3s
BRAIN_ENRICH_ANCHORS=48
# precise = vollständige Cosine-Suche; clustered = Semantic Hashing + exakte Top-K-Prüfung
BRAIN_PROCESSING_MODE=precise
BRAIN_CLUSTER_HASH_BITS=24
BRAIN_CLUSTER_HASH_TABLES=2
BRAIN_CLUSTER_CANDIDATES_PER_ANCHOR=96
BRAIN_CLUSTER_ARTICLE_CANDIDATES=192
BRAIN_CLUSTER_REVIEW_EVIDENCE=8
BRAIN_CLUSTER_REVIEW_CONTEXT_CHARS=8000
BRAIN_SIMILARITY_THRESHOLD=0.68
BRAIN_RELATION_THRESHOLD=0.72
BRAIN_TOP_K=8
BRAIN_MAX_CONTEXT_CHARS=16000
# Optional controlled web research through your own SearXNG instance.
# Use the root URL or a URL ending in /search. Inside Docker, localhost points
# to the Brain container; use the SearXNG service name or host.docker.internal.
BRAIN_RESEARCH_ENABLED=false
SEARXNG_URL=
# Knowledge synthesis after a verified relation has formed a useful source cluster.
# Relation thinking always remains separate and only creates graph edges.
BRAIN_ARTICLE_SYNTHESIS_ENABLED=true
# Language tag for generated KB drafts (for example de-DE or en-US).
BRAIN_ARTICLE_LANGUAGE=de-DE
# Generate-then-review pipeline. Use a dedicated author model if it is available
# on at least one healthy Ollama pool node, e.g. gemma3:12b.
# The review model should be different from the author model when possible.
BRAIN_ARTICLE_SYNTHESIS_MODEL=qwen3:8b
BRAIN_ARTICLE_REVIEW_MODEL=qwen3:8b
# Number of targeted research + rewrite loops after the reviewer finds unsupported claims.
BRAIN_ARTICLE_REVIEW_REPAIR_ROUNDS=1
BRAIN_ARTICLE_MIN_SOURCES=3
BRAIN_ARTICLE_MAX_SOURCES=8
BRAIN_ARTICLE_MIN_PRODUCTION_RATIO=0.70
BRAIN_ARTICLE_MAX_GENERATION_DEPTH=2
BRAIN_ARTICLE_MIN_CONFIDENCE=0.74
BRAIN_ARTICLE_MIN_TEXT_CHARS=180
BRAIN_ARTICLE_MIN_ANSWER_CHARS=420
# Maximal number of precise queries per research round.
BRAIN_ARTICLE_MAX_RESEARCH_QUERIES=6
# Raw SearXNG candidates per query.
BRAIN_ARTICLE_RESEARCH_RESULTS=12
# Upper research-planning budget. The active article pipeline performs one broad
# initial collection cycle; later targeted searches are driven by the reviewer.
BRAIN_ARTICLE_RESEARCH_ROUNDS=3
# Highest-ranked pages whose full content is downloaded.
BRAIN_ARTICLE_RESEARCH_FETCH_RESULTS=6
# Legacy/autonomous evidence mode and cached-material reuse still use these
# thresholds. The active generate-then-review article path itself fills its
# fetch budget from the highest-ranked SearXNG results without a semantic
# acceptance gate before drafting.
BRAIN_ARTICLE_RESEARCH_EXPLORATION_RESULTS=3
BRAIN_ARTICLE_RESEARCH_PREFETCH_MIN_RELEVANCE=0.25
BRAIN_ARTICLE_RESEARCH_MIN_RELEVANCE=0.55
BRAIN_ARTICLE_RESEARCH_MIN_QUALITY=0.35
BRAIN_ARTICLE_RESEARCH_PAGE_MAX_BYTES=2097152
BRAIN_ARTICLE_RESEARCH_PAGE_MAX_CHARS=14000
BRAIN_ARTICLE_RESEARCH_FETCH_TIMEOUT=20s
# Keep false unless private/intranet research URLs are intentionally trusted.
BRAIN_ARTICLE_RESEARCH_ALLOW_PRIVATE=false
# Research orchestration. All SearXNG requests, web fetches and Ollama calls
# share this bounded queue. With one Ollama node, 2 is a conservative default:
# one model request may run while one web request progresses.
BRAIN_RESEARCH_OLLAMA_MAX_INFLIGHT=2
BRAIN_RESEARCH_OLLAMA_QUEUE_SIZE=64
# Semantically equivalent research intents reuse a running/recent result bundle.
BRAIN_RESEARCH_DEDUPE_THRESHOLD=0.92
BRAIN_RESEARCH_DEDUPE_TTL=45m
# site: filters are always stripped at runtime. Research remains domain-open.
# Autonomous, persistent background research. Tasks are stored in graph.db and
# handed to Ollama asynchronously with low priority. Disabled by default.
BRAIN_AUTONOMOUS_RESEARCH_ENABLED=false
BRAIN_AUTONOMOUS_RESEARCH_IDLE_ONLY=true
BRAIN_AUTONOMOUS_RESEARCH_INTERVAL=30m
BRAIN_AUTONOMOUS_RESEARCH_TASKS_PER_CYCLE=1
BRAIN_AUTONOMOUS_RESEARCH_MAX_TASKS_PER_DAY=12
BRAIN_AUTONOMOUS_RESEARCH_MAX_QUERIES_PER_TASK=6
BRAIN_AUTONOMOUS_RESEARCH_MAX_PAGES_PER_TASK=8
BRAIN_AUTONOMOUS_RESEARCH_MAX_ROUNDS=3
BRAIN_AUTONOMOUS_RESEARCH_MIN_PRIORITY=0.65
BRAIN_AUTONOMOUS_RESEARCH_COOLDOWN=168h
BRAIN_AUTONOMOUS_RESEARCH_LEASE=45m
BRAIN_AUTONOMOUS_RESEARCH_MAX_ATTEMPTS=3
BRAIN_AUTONOMOUS_RESEARCH_QUERY_TRIGGERS=true
BRAIN_AUTONOMOUS_RESEARCH_OPPORTUNITY_LIMIT=8