Files
glpi-ai-agent/UPGRADE.md
T
jbergner a01b53097a
release-tag / release-image (push) Successful in 1m41s
RC-1
2026-07-28 20:02:03 +02:00

4.4 KiB

Upgrade-Hinweise: Learning + Web-KB

Neue/empfohlene Variablen

OLLAMA_NUM_PREDICT=768
OLLAMA_JSON_RETRIES=1

LEARNING_ENABLED=true
LEARNING_MAX_EXAMPLES=500
LEARNING_EXAMPLES_PER_CATEGORY=5

# Nur bei authentifiziertem Dashboard aktivieren:
KNOWLEDGE_WEB_EDIT_ENABLED=true

KNOWLEDGE_DIR bleibt statisch/read-only. Im Dashboard erzeugte Artikel werden automatisch unter DATA_DIR/knowledge-managed/ gespeichert. Bestätigte Kategorie-Lernbeispiele liegen in DATA_DIR/category-learning.json.

Gitea-Registry / Linux

Das Image weiterhin in Gitea bauen. Auf dem Zielsystem ist kein lokaler Build erforderlich:

export AGENT_IMAGE=gitea.example.de/organisation/glpi-ai-agent:latest
mkdir -p data knowledge
sudo chown 65532:65532 data
docker compose -f docker-compose.registry.yml up -d --pull always

Der statische Ordner ./knowledge bleibt read-only. Da Web-KB und Lernspeicher unter ./data liegen, müssen nur die Daten für UID/GID 65532:65532 beschreibbar sein.

Sicherer Start

Für die ersten Lernläufe empfohlen:

DRY_RUN=true
AUTO_CATEGORY=true
AUTO_REPLY=false
CATEGORY_CONFIDENCE=0.90

Im Dashboard anschließend Entscheidungen bestätigen/korrigieren. Erst nach genügend beobachteten Tickets Schwellwerte oder Schreibrechte anpassen.

GLPI Knowledge Base Connector

Für den neuen read-only GLPI-KB-Sync ergänzen Sie bei Bedarf:

KNOWLEDGE_ALLOWED_SOURCES=internal-kb,glpi-kb
GLPI_KB_ENABLED=true
GLPI_KB_PATH=auto
GLPI_KB_SYNC_INTERVAL=10m
GLPI_KB_LIMIT=500
GLPI_KB_SOURCE=glpi-kb
GLPI_KB_AUTO_REPLY=false
GLPI_KB_AUTO_REPLY_CATEGORY_IDS=

Der sichere Start ist GLPI_KB_AUTO_REPLY=false. Erst nachdem die importierten Artikel im Dashboard geprüft wurden, sollte glpi-kb optional in KNOWLEDGE_AUTO_REPLY_SOURCES aufgenommen und eine explizite Whitelist von GLPI-Knowledge-Base-Kategorie-IDs gesetzt werden.

Zweistufiges Knowledge-Retrieval

Die bisherige harte Regel Hybridscore >= KNOWLEDGE_MIN_SCORE wurde ersetzt. Der Hybridscore dient jetzt primär zum Finden und Sortieren von Kandidaten. Nach der KI-Auswahl wird ein separater Evidenzscore verwendet.

Für bestehende .env-Dateien ergänzen:

KNOWLEDGE_MIN_SCORE=0.70
KNOWLEDGE_RETRIEVAL_FLOOR=0.30
KNOWLEDGE_EVIDENCE_WEIGHT_RETRIEVAL=0.45
KNOWLEDGE_EVIDENCE_WEIGHT_AI=0.35
KNOWLEDGE_EVIDENCE_WEIGHT_CATEGORY=0.20

KNOWLEDGE_WEIGHT_SEMANTIC=0.45
KNOWLEDGE_WEIGHT_TITLE=0.20
KNOWLEDGE_WEIGHT_LEXICAL=0.20
KNOWLEDGE_WEIGHT_KEYWORDS=0.075
KNOWLEDGE_WEIGHT_CATEGORY=0.075
KNOWLEDGE_CHUNK_WORDS=160
KNOWLEDGE_CHUNK_OVERLAP_WORDS=30
KNOWLEDGE_MAX_CHUNKS_PER_DOC=24
KNOWLEDGE_MAX_QUERY_CHUNKS=64

KNOWLEDGE_MIN_SCORE ist ab dieser Version der finale Evidenz-Schwellwert. KNOWLEDGE_RETRIEVAL_FLOOR ist der niedrigere Schutzwert für die erste Kandidatensuche. Das Dashboard zeigt beide Werte getrennt.

Das lexikalische Matching wurde für deutsche Supportbegriffe verbessert, insbesondere für Flexionen und Komposita wie anmelden, Anmeldung, Benutzeranmeldung, Nutzerkonto und Benutzerkonto.

Dashboard / Knowledge-Editor v2

Das Dashboard wurde grundlegend überarbeitet. Es zeigt jetzt:

  • eine Betriebsübersicht mit GLPI-/Ollama-/GLPI-KB-Gesundheit,
  • die effektiven, nicht geheimen ENV-Werte gruppiert nach Agent, Ollama, RAG, GLPI-KB und Kontextquellen,
  • eine Detailansicht je Verarbeitung mit KI- und Policy-Entscheidung,
  • die Top-Knowledge-Kandidaten inklusive Hybrid-, Semantik-, Titel-, Keyword- und Kategorie/Lernscore,
  • die tatsächlich verwendeten Ticket-/KB-Chunks,
  • kompakte Details zu Changes, Major Incidents, Uptime-Kuma-Störungen und Benutzergeräten,
  • Filter für Verarbeitungen, Knowledge Base und Lernbeispiele.

Geänderte Knowledge-API

Der Webeditor verwendet jetzt explizite CRUD-Semantik:

  • GET /api/knowledge/{id} lädt einen Artikel frisch vom Server.
  • POST /api/knowledge legt einen neuen Web-Artikel an und liefert bei einer bereits existierenden ID 409 Conflict.
  • PUT /api/knowledge/{id} aktualisiert ausschließlich einen bestehenden, Web-verwalteten Artikel.
  • Die ID eines Artikels kann beim Bearbeiten nicht geändert werden.
  • DELETE /api/knowledge/{id} löscht weiterhin nur Web-verwaltete Artikel.

Statische Git-/Datei-Artikel und synchronisierte GLPI-KB-Artikel bleiben read-only.

Neue Läufe speichern zusätzlich die Top-Knowledge-Kandidaten und kompakte Kontextdetails im Audit. Ältere runs.jsonl-Einträge bleiben kompatibel; dort sind diese neuen Detailfelder naturgemäß leer.