Zum Inhalt

AI-Chat & Analyse

Vesana hat zwei AI-Features:

  1. AI-Chat — frei stellbare IT-Fragen, mit RAG aus dem Wiki und Web-Suche als Fallback
  2. AI-Service-Analyse — automatische Diagnose eines Check-Problems, mit reichhaltigem Kontext

Beides nutzt dieselbe Kontext-Pipeline und denselben konfigurierten Provider.

Provider

Drei Möglichkeiten, siehe AI-Provider einrichten:

Provider Privatsphäre Kosten
Ollama lokal Anfragen an das Modell bleiben im Stack (Web-Suche siehe Datenschutz) Hardware (mehrere GB RAM)
Anthropic (Cloud) Frage + Kontext gehen zur Anthropic-API API-Tokens
Extern (OpenAI-kompatibler Endpoint) je nach Anbieter je nach Anbieter

Embeddings brauchen ein separates Modell

Anthropic hat keine Embedding-API. Bei Provider Anthropic läuft das Embedding-Modell trotzdem über Ollama — beides ist im Provider-Setup getrennt konfigurierbar.

Such-Pipeline

Chat und Service-Analyse durchlaufen dieselben Quellen-Schritte:

flowchart LR
    Q[Anfrage] --> RAG[1. RAG: pgvector]
    RAG --> FTS[2. FTS Deutsch/Englisch]
    FTS --> ILIKE[3. ILIKE Fallback]
    ILIKE --> WEB[4. Web-Suche, nur bei wenig Wiki-Treffern]
    WEB --> CTX[Kontext für LLM]
    CTX --> LLM[Provider]
    LLM --> RESP[Antwort + Quellen]
Schritt Was er macht
RAG Vector-Cosine-Similarity gegen Wiki-Embeddings, Top-Artikel
FTS PostgreSQL-Volltext, zuerst Deutsch, bei zu wenig Treffern zusätzlich Englisch
ILIKE partielle Substring-Suche als letzter Wiki-Anker
Web DuckDuckGo HTML-Suche (kein API-Key nötig) — läuft nur, wenn das Wiki bis dahin weniger als zwei Treffer geliefert hat

AI-Chat

Der KI-Assistent öffnet sich wahlweise als Bubble unten rechts oder als Seitenleiste — per Knopf im Kopf des Fensters umschaltbar, die Wahl (und die Breite der Seitenleiste) bleibt pro Browser gespeichert. Auf Kiosk-/TV-Ansichten und öffentlichen Seiten erscheint er nicht.

Bedienung

  • Frage tippen, Enter — die Antwort streamt herein.
  • Verlauf: Unterhaltungen werden gespeichert. Verlauf öffnen, ältere Unterhaltung anklicken, weiterfragen — die Wiki-/Web-Belege der Antworten bleiben erhalten. Suche auch im Text der Nachrichten; Gruppierung Heute / Gestern / Letzte 7 Tage; umbenennen, anheften, löschen.
  • Neuer Chat beginnt eine neue Unterhaltung.
  • Eine Unterhaltung gehört genau einer Person: fremde Verläufe sind für niemanden lesbar, auch nicht für Administratoren. Die Betreiber-Sicht zeigt nur Zahlen, nie Inhalte.
  • Admin → System → KI → Chat-Verlauf: mitschreiben an/aus und Aufbewahrungszeit (Default 90 Tage; beliebige Tageszahl, Schnellwahl 7 Tage bis 1 Jahr oder unbegrenzt = 0). Gelöscht wird eine Unterhaltung, wenn sie so lange keine neue Nachricht bekommen hat; angeheftete sind immer ausgenommen. Alle Verläufe löschen entfernt die Unterhaltungen aller Personen der Instanz.
  • Admin → System → KI → Gleichzeitige KI-Anfragen je Person (Erweiterte Einstellungen): Obergrenze für gleichzeitig laufende KI-Anfragen je Person (Standard 3; 0 = unbegrenzt, höchstens 50). Wird sie erreicht, steht im Chat „Es laufen bereits N KI-Anfragen …“; bereits laufende Anfragen laufen weiter. Die Einstellung wird sofort gespeichert.

Wissensquellen-Toggles

Unter dem Eingabefeld drei Schalter, alle standardmäßig an:

Toggle Bedeutung
📖 Wiki RAG + FTS aus dem eigenen Wiki — nur, wenn die Vorschau-Funktion „Wiki“ freigeschaltet ist; sonst fehlt der Schalter und die KI sucht dort nicht
🌐 Internet Web-Suche als Fallback (nur bei weniger als zwei Wiki-Treffern)
🧠 Eigenes Wissen standardmäßig an — erlaubt dem Modell, sein Grundwissen zusätzlich zum gefundenen Wiki-/Web-Kontext einzubringen. Ausschalten zwingt strikte Quellentreue: das Modell antwortet nur noch aus den gefundenen Wiki-Artikeln und Web-Ergebnissen und sagt offen, wenn es keine Quelle findet, statt zu raten

Für sensible Diskussionen ohne Web-Zugriff: nur Wiki an lassen, Internet aus.

Quellen-Badges

Die Antwort zeigt, welche Wiki-Artikel und Web-Ergebnisse als Kontext eingeflossen sind, mit Titel/Link — so ist nachvollziehbar, woher eine Aussage stammt.

Tenant-Scope

Die Suche respektiert den Tenant-Scope aus dem JWT: Super-Admin sieht tenantübergreifend, ein Tenant-User nur den eigenen Tenant. Clientseitig nicht manipulierbar.

AI-Service-Analyse

Auf der Fehlerübersicht, der Host-Detail-Seite und im Check-Detail gibt es pro Check einen Knopf für die KI-Analyse. Sie öffnet sich als Slide-In-Panel.

sequenceDiagram
    participant U as User
    participant API
    participant DB
    participant RAG
    participant LLM
    U->>API: POST /api/v1/ai/analyze/{service_id}/stream
    API->>DB: Status, Historie, Schwellwerte, Agent-/Collector-Status
    API->>RAG: Wiki-Suche zum Check
    API->>LLM: System-Prompt + Kontext + RAG
    LLM-->>API: Streaming-Antwort mit Quellen
    API-->>U: Slide-In-Panel

Reichhaltiger Kontext

Was die Analyse als Kontext bekommt:

  • Check-Name und -Typ, Hostname und Host-Adresse
  • Status, Statusmeldung, Statusdauer, letzter Wert, Versuch x von y
  • die letzten 10 Check-Ergebnisse und die letzten 5 Statuswechsel
  • Agent-/Collector-Verbindungsstatus (Version, Betriebssystem, zuletzt gesehen)
  • Intervall, Schwellwerte, ACK-/Downtime-Flags

Cache

Analysen werden mit dem aktuellen Status als Schlüssel zwischengespeichert — bei unverändertem Status liefert ein erneuter Aufruf die gecachte Antwort, keine neue LLM-Anfrage. Ändert sich der Status, wird der Cache ungültig.

Der Neu generieren-Button erzwingt eine frische Analyse mit um 0,3 erhöhter Temperature (höchstens 1,0) — sinnvoll, wenn die erste Antwort nicht half. Modelle, die keine Temperature annehmen, antworten trotzdem neu, aber ohne diesen Effekt.

Nach der Analyse

  • Nachfragen öffnet einen Chat zur Analyse („Nachfragen zur Analyse"), der die Diagnose als Kontext kennt (läuft über den Chat, braucht also ai.query).
  • Ähnliche Wiki-Artikel listet die Artikel, die als Kontext eingeflossen sind.
  • Als Wiki-Artikel speichern übernimmt die Diagnose in einen neuen Wiki-Artikel, der dem Check-Typ zugeordnet wird.

Die beiden Wiki-Punkte erscheinen nur, wenn die Vorschau-Funktion „Wiki“ eingeschaltet ist; Speichern braucht zusätzlich wiki.create.

Datenschutz

Was geht zum LLM?

Feature An den KI-Provider An die Web-Suche (DuckDuckGo)
Chat, Wiki und Internet aus deine Frage + bisheriger Verlauf (bis 10 Nachrichten) nichts
Chat, Wiki an + gefundene Wiki-Artikel –
Chat, Internet an + Web-Snippets deine Frage — nur wenn das Wiki weniger als zwei Treffer liefert
Analyse Check-Kontext (Hostname und Adresse nicht maskiert) + Wiki + ggf. Web-Snippets Check-Name, Check-Typ und Statusmeldung — bei weniger als zwei Wiki-Treffern; in der Analyse nicht abschaltbar

Was den Server verlässt

Bei Provider Anthropic oder Extern geht der Anfrage-Kontext zur konfigurierten API — Hostnamen werden dabei nicht maskiert. Mit Ollama bleiben die Anfragen an das Modell im eigenen Stack. Die Web-Suche läuft aber unabhängig vom Provider: auch mit Ollama gehen Chat-Fragen (Schalter „Internet" an) und bei der Analyse Check-Name, -Typ und Statusmeldung an DuckDuckGo, sobald das Wiki zu wenig liefert. Wer das nicht will, schaltet im Chat „Internet" aus — für die Analyse gibt es keinen Schalter, dann bleibt nur, die KI nicht zu verwenden.

Was geht NICHT zum LLM?

  • Keine Passwörter, Tokens, API-Keys, SNMP-Communities
  • Keine Audit-Log-Einträge
  • Keine tenant-fremden Daten
  • Keine User-Liste, keine SLA-Reports

Der System-Prompt ist versionierter Code, nicht user-konfigurierbar — kein Einfallstor für Prompt-Injection über eigene Eingaben.

Sichtbarkeit

flowchart LR
    A[AI sichtbar?]
    A --> S{Instanz aktiviert?}
    S -->|nein| H1[Ausgeblendet]
    S -->|ja| P{Permission ai.query/ai.analyze?}
    P -->|nein| H2[Ausgeblendet]
    P -->|ja| U{Präferenz: KI ausgeblendet?}
    U -->|an| H3[Ausgeblendet]
    U -->|aus| Y[Sichtbar]

Jede Person kann unter Einstellungen → Präferenzen → KI-Funktionen mit KI-Assistent und KI-Analyse anzeigen den Chat und die Analyse-Knöpfe für sich ausblenden — unabhängig davon, ob Instanz und Rolle sie erlauben.

Permissions

Permission Wirkung
ai.query Chat öffnen, Anfragen stellen
ai.analyze Service-Analyse starten
admin.system Provider und Modell konfigurieren (Admin)
wiki.create Analyse als Wiki-Artikel speichern

Anschluss