This commit is contained in:
2026-08-04 20:52:55 +02:00
parent f415434111
commit 1661c59a58
29 changed files with 4532 additions and 143 deletions
+71 -24
View File
@@ -225,40 +225,87 @@ GLPI_TICKET_FILTER=status.id==1
# HTTP-Timeout für GLPI-Aufrufe.
GLPI_TIMEOUT=20s
###############################################################################
# 10. GLPI AI AGENT - OLLAMA
# 10. GLPI AI AGENT - OLLAMA-POOL
###############################################################################
# Ollama-Adresse aus Sicht des Agent-Containers.
# Einzelnode-Kompatibilität. Wird nur verwendet, wenn OLLAMA_URLS leer ist.
OLLAMA_URL=http://ollama:11434
# Mehrere Ollama-Instanzen, durch Komma getrennt. Alle Nodes sollten dieselbe
# Ollama-Version, dasselbe Chat-Modell und dasselbe Embedding-Modell besitzen.
# Beispiel für vorhandene Lenovo-Nodes:
# OLLAMA_URLS=http://10.20.30.21:11434,http://10.20.30.22:11434,http://10.20.30.23:11434
OLLAMA_URLS=
# Optionale lesbare Namen; Anzahl muss exakt zu OLLAMA_URLS passen.
# OLLAMA_NODE_NAMES=lenovo-01,lenovo-02,lenovo-03
OLLAMA_NODE_NAMES=
# Optionale Gewichte 1..100; nur für OLLAMA_ROUTING_MODE=weighted relevant.
# OLLAMA_NODE_WEIGHTS=1,1,1
OLLAMA_NODE_WEIGHTS=
# Routing-Modi:
# least_inflight = Node mit den wenigsten laufenden Requests (empfohlen)
# round_robin = zyklische Verteilung
# weighted = Verteilung anhand OLLAMA_NODE_WEIGHTS und Auslastung
# fastest_recent = bevorzugt die zuletzt schnellsten Nodes
OLLAMA_ROUTING_MODE=least_inflight
# Maximale parallele Requests JE Node. Für integrierte GPUs/RAM-Sharing 1.
OLLAMA_NODE_MAX_INFLIGHT=1
# Regelmäßige Prüfung von /api/tags.
OLLAMA_NODE_HEALTH_INTERVAL=15s
# Nach einem retryfähigen Netzwerk-/HTTP-Fehler wird der Node so lange nicht
# für neue Requests verwendet.
OLLAMA_NODE_FAILURE_COOLDOWN=30s
# Maximalzeit für einen einzelnen Request an genau einen Node. Der übergeordnete
# Analyse-Timeout kann kürzer sein und hat dann Vorrang.
OLLAMA_NODE_REQUEST_TIMEOUT=10m
# Bei Netzwerkfehlern, HTTP 408/429/5xx oder ungültigem Response-JSON auf einen
# anderen kompatiblen Node wechseln.
OLLAMA_FAILOVER_ENABLED=true
# Maximale Anzahl verschiedener Nodes je logischem Request. 0 bedeutet:
# automatisch alle konfigurierten Nodes. Ein positiver Wert darf höchstens der
# Zahl der OLLAMA_URLS-Einträge entsprechen.
OLLAMA_FAILOVER_ATTEMPTS=0
# Bei abweichenden Chat-/Embedding-Modelldigests wird der Pool vollständig
# fail-closed. Für reproduzierbare Entscheidungen unbedingt true lassen.
OLLAMA_REQUIRE_SAME_MODEL_DIGEST=true
# true: Jeder Node muss auch OLLAMA_EMBEDDING_MODEL installiert haben.
# Bei RAG empfohlen. false erlaubt Chat-only-Nodes; Embedding-Requests werden
# trotzdem nur an Nodes mit erkanntem Embedding-Modell gesendet.
OLLAMA_REQUIRE_EMBEDDING_MODEL=true
# OLLAMA_MODEL ist bereits oben im gemeinsamen Compose-/Ollama-Bereich gesetzt:
# OLLAMA_MODEL=qwen3:8b
# Embedding-Modell für RAG.
OLLAMA_EMBEDDING_MODEL=embeddinggemma
# Modellspezifisches Retrieval-Prompting.
#
# Mögliche Werte:
#
# auto
# Modell automatisch erkennen und passende Retrieval-Prompts verwenden.
# Für embeddinggemma empfohlen.
#
# plain
# keine modellspezifischen Retrieval-Prompts.
# auto = Modell automatisch erkennen; für embeddinggemma empfohlen.
# plain = keine modellspezifischen Retrieval-Prompts.
KNOWLEDGE_EMBEDDING_PROFILE=auto
# OLLAMA_TIMEOUT und OLLAMA_MAX_CONCURRENT sind bereits oben gesetzt.
# Gesamtbudget für Ollama-Aufrufe und Fallback für Node-Request-Timeouts.
# OLLAMA_TIMEOUT ist bereits oben gesetzt.
# OLLAMA_MAX_CONCURRENT bleibt als Legacy-Alias für
# OLLAMA_NODE_MAX_INFLIGHT erhalten, falls der neue Wert nicht gesetzt ist.
# Maximale Anzahl generierter Tokens für strukturierte Antworten.
OLLAMA_NUM_PREDICT=768
# Wiederholungen bei fehlerhaftem / abgeschnittenem JSON.
# Wiederholungen bei semantisch/strukturell fehlerhaftem Modell-JSON.
# Diese Wiederholungen sind von Netzwerk-Failover getrennt.
OLLAMA_JSON_RETRIES=1
# Ollama-Modell nach Benutzung im Speicher halten.
#
# Beispiele:
# 5m
# 10m
# 30m
OLLAMA_KEEP_ALIVE=10m
# Thinking bei unterstützten Modellen deaktivieren.
#
# Für strukturierte Klassifikations-/Policy-Aufgaben empfohlen.
OLLAMA_THINK=false
###############################################################################
# 11. KNOWLEDGE BASE / RAG - BASIS
@@ -726,8 +773,8 @@ GLPI_ESCALATION_LIMIT=100
###############################################################################
# Maximale Anzahl wartender Jobs.
QUEUE_SIZE=256
# Parallele Ticket-Worker.
#
# Darf größer als OLLAMA_MAX_CONCURRENT sein.
# Ollama wird separat begrenzt.
# Parallele Ticket-Worker. Der Ollama-Pool kann nur so viele unabhängige
# Ticketpipelines gleichzeitig verteilen, wie Worker aktiv sind. Für drei
# gleichartige Nodes ist WORKERS=3 ein sinnvoller Lasttest; jeder Node bleibt
# zusätzlich durch OLLAMA_NODE_MAX_INFLIGHT begrenzt.
WORKERS=2