Service 'lumee'

enaio® • 12.0 »

Der Service 'lumee' bindet das enaio® lumee-Dashlet ein. Über das Dashlet können Benutzer mit dem enaio® lumee Assistenten über Daten in enaio® chatten und Informationen zusammenstellen.

Der Assistent kann ebenfalls Objekte anlegen, bearbeiten und löschen. Berechtigungen dazu müssen Sie zusätzlich über Gruppen vergeben.

Informationen verweisen immer auf ihre Quellen.

Der Zugriff auf Informationen wird über das Rechtesystem gesteuert. Benutzer erhalten nur Informationen aus Objekten, auf die sie selbst Zugriff haben.

Über die Konfiguration kann die Benutzung des Dashlets auf Gruppen eingeschränkt werden.

Lizenz

enaio® lumee benötigt die Lizenz 'LUM'. Lizenzen werden von enaio® server verwaltet und über enaio® enterprise-manager eingebunden.

Konfiguration

Der Service 'lumee' wird über enaio® service-manager installiert.

Die Konfiguration erfolgt über die Konfigurationsdatei lumee-prod.yml aus dem Verzeichnis \config von enaio® service-manager.

Benutzer mit der Systemrolle 'Administrator: Konfiguration Gesamtsystem' können die Prompt-Einstellungen in enaio® lumee-administrator anpassen und speichern. Dort konfigurieren sie auch die Berechtigungen für das Anlegen, Bearbeiten und Löschen über schreibende Tools.

Das Einbinden eines KI-Providers und der spezifischen Modelle erfolgt über die Konfigurationsdatei lumee-prod.yml.

Sensible Konfigurationswerte können in der Konfigurationsdatei verschlüsselt angegeben werden.

Zugriffsrechte

Zugriff auf das enaio® lumee-Dashlet erhalten als Standard alle Benutzer. Eingeschränkt werden kann der Zugriff auf Benutzer in Gruppen, die Sie in der Datei lumee-prod.yml angeben:

lumee:
  allowedGroups: GROUP1,GROUP2

Benutzer, die kein Zugriffsrecht haben, sehen in enaio® client und enaio® webclient im Dashlet 'lumee' einen entsprechenden Hinweis auf fehlende Rechte.

Für enaio® webclient können Benutzer und Gruppen angegeben werden, für die das Dashlet angezeigt wird.

Mit dem Assistenten können alle berechtigten Benutzer suchen und Daten lesen. Objekte anlegen, bearbeiten und löschen kann der Assistent nur für Mitglieder angegebener Gruppen. Diese Gruppen werden in enaio® lumee-administrator unter Einstellungen > Prompt > Schreibende Tools im Chat angegeben (siehe Schreibende Tools im Chat).

Als Standard ist keine Gruppe eingetragen. Der Assistent arbeitet dann für alle Benutzer nur lesend.

Gelöschte Objekte werden immer in den Papierkorb verschoben. Ein endgültiges Löschen ist über enaio® lumee nicht möglich.

Die Berechtigungen in enaio® gelten immer. Jede Aktion wird im Namen des angemeldeten Benutzers ausgeführt.

Semantische Suche über Vektordaten

Der Assistent kann eine semantische Suche über Vektordaten ausführen.

Die semantische Suche findet im Unterschied zur Volltextsuche Inhalte nach ihrer Bedeutung. Synonyme, Umschreibungen, andere Formulierungen und Fragen in natürlicher Sprache führen zum Ziel, ohne dass die genauen Suchbegriffe enthalten sein müssen. Die semantische Suche eignet sich deshalb besonders für Wissens-, Vorgehens- und offene Fragen.

Für die semantische Suche muss Elasticsearch angebunden sein und die Konfiguration der Indexierung für eine Vektordatenbank über Batches vorliegen.

Als Standard ist die semantische Suche in der Datei lumee-prod.yml deaktiviert:

lumee:
  useVectorStore: false

Zum Aktivieren ändern Sie den Wert des Parameters useVectorStore auf true. Ohne Aktivierung wird in enaio® lumee-administrator der Bereich Index mit den Funktionen zum Indexieren nicht angezeigt.

Nach Änderung des Parameters und dem Neustart des Services 'lumee' wird die Vektordatenbank angelegt und eingerichtete Batches werden ausgeführt.

Als Standard ist in Elasticsearch die Replikation deaktiviert.
Über den Parameter lumee:elasticsearch:number-of-replicas mit dem Wert -1 kann angegeben werden, dass die Replikation nicht deaktiviert wird, sondern die Einstellung in Elasticsearch verwaltet und nicht geändert wird.
Standardwert: 0

Ohne semantische Suche wird keine Vektordatenbank benötigt und keine Konfiguration der Indexierung.

Semantische Suche: Anbinden von Elasticsearch

Elasticsearch ist in enaio® als Volltextdatenbank angebunden und kann zusätzlich in der gleichen Instanz als Vektordatenbank angebunden werden. Das Anbinden erfolgt über die Konfigurationsdatei lumee-prod.yml.

Als Standard werden die Daten für die Anmeldung aus der Konfigurationsdatei application-es.yml übernommen.

spring:
  elasticsearch:
    uris: ${elasticsearch.hosts:http://localhost:8041}
    username: ${elasticsearch.user:elastic}
    password: ${elasticsearch.pwd}

Die Verbindung zu Elasticsearch muss in der Regel nicht angepasst werden. Sie können aber über die Parameter eine andere Elasticsearch-Installation angeben.

Elasticsearch kann in der Version 8 oder 9 für enaio® lumee verwendet werden.

Einbinden eines KI-Providers

Das Einbinden eines KI-Providers und der spezifischen Modelle erfolgt über die Konfigurationsdatei lumee-prod.yml aus dem Verzeichnis \config von enaio® service-manager.

KI-Proxy 'os-ai-proxy' von OPTIMAL SYSTEMS

Als Standard werden die KI-Provider über den KI-Proxy 'os-ai-proxy' von OPTIMAL SYSTEMS angebunden. Die Parameter sind in der Konfigurationsdatei lumee-prod.yml entsprechend vorkonfiguriert.

Wenn Sie den KI-Proxy nutzen, dann erhalten Sie von OPTIMAL SYSTEMS einen API-Key, den Sie über den Parameter lumee:key angeben.

Der API-Key sollte in der Konfigurationsdatei verschlüsselt angegeben werden.

Sie können bei der Bestellung wählen, ob Gemini oder STACKIT verwendet werden soll.

Über den KI-Proxy werden Aktualisierungen von Modellen automatisch von OPTIMAL SYSTEMS verwaltet.

KI-Provider

KI-Provider können projektspezifisch angebunden werden.

Die URL für die Verbindung zum KI-Provider und den API-Key geben Sie über folgende Parameter an:

lumee:base-url
lumee:key

Standard für lumee:base-url: https://ai.lumee.yuuvis.cloud/v1

Die Struktur der URL und der API-Key sind vom Provider abhängig.

Beispiel:

  • Google Gemini: https://generativelanguage.googleapis.com/v1beta/openai

Das Chat-Modell muss Tool-Aufrufe (Function Calling) unterstützen. Modelle ohne Tool-Aufrufe können nicht verwendet werden.

Wenn der Chat bei projektspezifischen Einbindungen fehlschlägt und eine 400-Antwort vom Provider protokolliert ist, dann prüfen Sie die Dokumentation des Providers. Dort ist angegeben, welcher Parameter für die maximale Tokenanzahl in der Antwort verwendet wird.
Wenn der Provider max_completion_tokens statt max_tokens (Standard) verwendet, dann tragen Sie Ihr Modell oder Ihre Modelle im Parameter lumee:completion-token-prefixes in der Konfigurationsdatei lumee-prod.yml ein. Damit aktivieren Sie die Verwendung von max_completion_tokens.

Semantische Suche: Embedding-Modell

Für die Indexierung müssen die Dokumente an den KI-Provider übertragen werden. Beachten Sie deshalb Datenschutz, Datensicherheit und Datenverbrauch.

Das Embedding-Modell geben Sie über folgenden Parameter an:

lumee:embedding:model

Standard: default. Mit dem Wert default wählt der KI-Proxy 'os-ai-proxy' das Modell. Für andere KI-Provider geben Sie einen konkreten Modellnamen an.

Die Dimensionalität der Vektoren wird als Standard automatisch ermittelt. Beim ersten Start überträgt der Service 'lumee' einen Probetext an das Embedding-Modell. Die Vektordatenbank wird mit der gemessenen Dimensionalität angelegt.

Optional können Sie die Dimensionalität über folgenden Parameter angeben:

lumee:embedding:dimensions

Wenn der Parameter angegeben ist, dann wird die Dimensionalität beim KI-Provider angefordert. Wenn der Provider eine andere Dimensionalität liefert, startet der Service 'lumee' nicht.

Höhere Werte führen zu größerem Speicherbedarf in der Vektordatenbank, aber zu genaueren Antworten.

Wenn das Embedding-Modell oder die Dimensionalität der Vektoren geändert wird, dann ist eine Neuindexierung notwendig. Eine bestehende Vektordatenbank kann nicht auf eine andere Dimensionalität umgestellt werden. Geben Sie dafür über den Parameter lumee:index:name einen neuen Indexnamen an. Standard: lumee-index

Folgende Parameter sind spezifisch für die Indexierung durch enaio® lumee-administrator relevant. Sie werden ebenfalls in enaio® lumee-administrator im Bereich Einstellungen > Indexierung angezeigt.

Indexierungs-Parameter
Parameter Bemerkung Standardwert
lumee:index:batch-size Anzahl der Objekte pro Batch beim Erstellen von Indexierungsaufgaben. 1000
lumee:index:max-retry Maximale Anzahl an Wiederholungen, bevor eine Aufgabe durch den Status FAILED als fehlgeschlagen markiert wird. 5
lumee:index:retry-delay

Verzögerung in Sekunden zwischen Wiederholungen, multipliziert mit der Wiederholungszahl.

Beispiel:

Beim Standardwert beträgt die Wartezeit vor dem ersten Wiederholungsversuch 30 Sekunden, vor dem zweiten 60 Sekunden, vor dem dritten 90 Sekunden.

30
lumee:index:job-max-age-days Maximales Alter in Tagen für abgeschlossene Batch-Jobs. Ein Bereinigungsprozess läuft einmal täglich im Hintergrund und entfernt abgeschlossene Jobs und deren Protokoll-Einträge, die älter als dieser Wert sind. 14
lumee:index:name Name des Elasticsearch-Index in der Vektordatenbank. lumee-index
lumee:embedding:dimensions Dimensionalität der Embedding-Vektoren. Ohne Angabe wird die Dimensionalität des Embedding-Modells verwendet. Eine Änderung erfordert einen neuen Index (lumee:index:name) und eine erneute Indexierung.  
lumee:embedding:rate-limit-max-retries Maximale Anzahl an Wiederholungen, wenn der KI-Provider eine Embedding-Anfrage wegen Überlastung (HTTP 429) ablehnt. Danach wird die Aufgabe als fehlgeschlagen markiert. 10
lumee:embedding:rate-limit-retry-delay Wartezeit in Sekunden vor einer Wiederholung nach HTTP 429, wenn der KI-Provider keine Wartezeit vorgibt. 60
lumee:embedding:store-batch-size Anzahl der Textabschnitte, die beim Speichern eines Dokuments in einer Anfrage an Elasticsearch geschrieben werden. Bei großen Vektoren oder einer kleinen Elasticsearch-Einstellung 'http.max_content_length' können Sie den Wert verringern. 500

Semantische Suche: Objekttypen einbinden

Die Objekttypen, die für die semantische Suche eingebunden werden sollen, benötigen die Eigenschaft Indexierung für KI-Suche.

Diese Eigenschaft geben Sie den Objekttypen über enaio® editor.

Für diese Objekttypen legen Sie einen Batch an.

Ohne semantische Suche ist diese Eigenschaft nicht notwendig.

Semantische Suche: Batches

Bestehende und neu angelegte Objekte von Objekttypen mit der Eigenschaft Indexierung für KI-Suche werden indexiert, wenn für den Objekttyp ein Batch angelegt ist.

Batches werden über enaio® lumee-administrator angelegt.

Angegeben wird der zu indexierende Objekttyp. Bedingungen für die Indexierung können angegeben werden.

Ohne semantische Suche ist keine Indexierung notwendig.

Für die Konfiguration der Indexierung muss der Parameter useVectorStore den Wert true haben.

Semantische Suche: Konfiguration der CPB-Queues

In enaio® enterprise-manager sind zwei CPB-Queues eingerichtet, deren Parameter ergänzt werden müssen.

Einstellungen\Registry-Einträge\Schema\CPB:

  • Ergänzen Sie für die Queue AISearchDocExportQueueNames den Wert AIDOC.

  • Ergänzen Sie für die Queue AISearchIdxExportQueueNames den Wert AIIDX.

Chat-Modelle

Mehrere Chat-Modelle können für die Generierung der Antworten konfiguriert werden. Das Modell kann dann im Dashlet gewählt werden. Damit können zum Testen von Modellen die Ergebnisse unterschiedlicher Chat-Modelle einfach verglichen werden.

Parameter:

lumee:modellist

Beispiel:

modellist:
    - llama3.2
    - mistral-nemo

Eines der Modelle wird für den Benutzer als Standard vorausgewählt.

Parameter:

lumee:model

Standard für beide Parameter: default. Mit dem Wert default wählt der KI-Proxy 'os-ai-proxy' das Modell. Für andere KI-Provider geben Sie konkrete Modellnamen an.

Im Bereich Einstellungen > KI in enaio® lumee-administrator werden die verwendeten Modelle angezeigt.

Bildanalyse

Der Assistent kann Bilder aus enaio® an die KI übertragen und analysieren lassen, zum Beispiel um den Inhalt eines gescannten Belegs zu beschreiben. Analysiert werden nur Bilder aus enaio®, die ausgewählt sind.

Dafür wird ein Chat-Modell benötigt, das Bilder verarbeiten kann.

Als Standard ist die Bildanalyse aktiviert. Wenn sie deaktiviert ist, verwendet der Assistent nur die Textdarstellung der Dokumente.

Parameter der Bildanalyse
Parameter Bemerkung Standardwert
lumee:agent:vision:enabled Aktiviert die Bildanalyse. true
lumee:agent:vision:max-bytes Maximale Größe eines Bildes in Bytes. 10485760 (10 MB)
lumee:agent:vision:allowed-mime-types Bildformate, die übertragen werden. PDF- und TIFF-Dateien werden nicht übertragen. image/png, image/jpeg, image/webp

Für die Bildanalyse werden Bilder an den KI-Provider übermittelt. Nutzen Sie diese Funktion nicht, wenn Ihre Unternehmensrichtlinien dies untersagen.

enaio® lumee-Dashlet einbinden

enaio® client

Das Dashlet wird in enaio® client über enaio® enterprise-manager eingebunden.

  • Home-URL: http(s)://<gateway>:<port>/lumee/?sessionguid={sessionguid}

  • Titel: enaio lumee

  • Beim Start laden: Ja

  • Als Icon-ID kann die ID 1073744243 angegeben werden.

enaio® webclient

Für enaio® webclient wird das Dashlet über die Datei dashlets.json eingebunden.

Beispiel:

[
    {
        "objectTypes": "*",
        "platforms": [
            "web",
            "desktop_app"
        ],
        "uri": "http://<service-manager-ip>/lumee/",
        "title_EN": "enaio lumee",
        "title_DE": "enaio lumee",
        "title_FR": "enaio lumee",
        "iconID": "1073744243",
        "groups": "STANDARD",
        "users": ["user1", "user2"]
    }
]

Wenn in der dashlets.json Benutzer und Gruppen angegeben werden, für die das Dashlet angezeigt wird, dann benötigen diese Benutzer ebenfalls die Rechte über die Datei lumee-prod.yml. Sonst erhalten diese Benutzer im Dashlet nur einen Hinweis auf fehlende Rechte.

Aus Sicherheitsgründen kann das enaio® lumee-Dashlet als Standard nur von der eigenen Adresse eingebunden werden. Wenn enaio® webclient über eine andere Adresse aufgerufen wird als enaio® lumee, dann geben Sie die Adresse von enaio® webclient in der Datei lumee-prod.yml an:

lumee:
  security:
    frame-ancestors: "https://<Name des Servers>"

Mehrere Adressen trennen Sie durch Leerzeichen. Ohne diese Angabe wird das Dashlet in enaio® webclient nicht angezeigt.

Standard: 'self'

Über den Parameter lumee:security:csp-override können Sie die gesamte Content-Security-Policy des Dashlets ersetzen, zum Beispiel wenn zusätzliche Adressen zugelassen werden müssen. Die Angabe aus frame-ancestors wird dabei immer übernommen. Ohne Angabe wird die mitgelieferte Richtlinie verwendet.

Konfiguration im Dashlet

Das enaio® lumee-Dashlet kann in enaio® client über die Menüband-Registerkarte Ansicht geöffnet werden und in enaio® webclient über das Dashlet-Icon in der Kopfzeile des Vorschaubereichs.

Als Anwendungseinstellung kann ein helles oder dunkles Farbschema gewählt werden.

Einstellungen für Prompts

Die Prompt-Einstellungen nehmen Sie in enaio® lumee-administrator unter Einstellungen > Prompt vor. Die Einstellungen gelten für alle Benutzer.

Gespeichert werden die Daten in der Datei prompt-config.yml im Verzeichnis \apps\lumeeservice von enaio® service-manager. Bei jeder Änderung wird ein Backup der vorherigen Version erstellt.

Das Einbinden der LLMs erfolgt ausschließlich über die Konfigurationsdatei lumee-prod.yml.

Benutzerdefinierte Prompts

Das Eingabefeld für Prompts wird als Standard mit einer Schaltflächen für den Zugriff auf vordefinierte Prompts erweitert. Benutzer mit der Systemrolle 'Administrator: Konfiguration Gesamtsystem' können diese vordefinierten Prompts im Dashlet bearbeiten, speichern und damit als Standard allen Benutzern zur Verfügung stellen. Sie können ebenfalls neue Prompts für alle Benutzer anlegen. Gespeichert werden die Daten in der Datei prompt-config.yml aus dem Verzeichnis \apps\lumeeservice von enaio® service-manager.

Andere Benutzer können im Dashlet eigene Prompts erstellen und bearbeiten. Diese Prompts werden benutzerspezifisch gespeichert.

Standard-Prompts
Bezeichnung Prompt-Inhalt Dokumente / Anzahl
Zusammenfassen Bitte fassen Sie dieses Dokument klar und präzise zusammen und heben Sie die wichtigsten Punkte und Hauptschlussfolgerungen hervor. 1
Vergleichen Bitte vergleichen Sie diese Dokumente und heben Sie Gemeinsamkeiten, Unterschiede und wichtige Erkenntnisse aus dem Vergleich hervor. 2 bis 5

Der Prompt Zusammenfassen wird nur angezeigt, wenn ein Dokument markiert ist, der Prompt Vergleichen nur, wenn mindestens 2 und maximal 5 Dokumente markiert sind.

Weitere Parameter

Folgende Parameter in der Datei lumee-prod.yml müssen in der Regel nicht angepasst werden:

Weitere Parameter
Parameter Bemerkung Standardwert
lumee:agent:max-iterations Maximale Anzahl an Anfragen an die KI für eine Benutzernachricht. 10
lumee:agent:max-distinct-tools Maximale Anzahl unterschiedlicher Tools, die der Assistent für eine Benutzernachricht verwendet. 10
lumee:httpClient:readTimeout Maximale Wartezeit auf eine Antwort des KI-Providers. 30s
lumee:dmsservice:connect-timeout-seconds Maximale Wartezeit in Sekunden für den Verbindungsaufbau zu enaio®. 10
lumee:dmsservice:read-timeout-seconds Maximale Wartezeit in Sekunden auf eine Antwort von enaio®. 30

Spracheingaben im Chat

Als Standard ist die Spracheingabe für Chats aktiviert.

Die Spracheingabe wird zur Erkennung vom Browser an einen Cloud-Dienst übermittelt. Über den Parameter lumee:enableSpeechRecognition in der Konfigurationsdatei lumee-prod.yml kann die Spracheingabe mit dem Wert false deaktiviert werden.

Für enaio® webclient werden für Spracheingaben nur die Browser Chrome und Edge unterstützt.
Für Chrome muss, falls enaio® gateway nicht über HTTPS eingebunden ist, folgende Einstellung aktiviert werden:
chrome://flags/#unsafely-treat-insecure-origin-as-secure
Geben Sie hier die Adresse von enaio® gateway an.

Dateien im Chat hochladen

Benutzer können im Chat über Datei anhängen Dateien hochladen. Der Assistent kann eine hochgeladene Datei als neuen Inhalt eines bestehenden Dokuments speichern oder damit ein neues Dokument anlegen. Dafür benötigen Benutzer die Berechtigung für schreibende Tools.

Bis zum Speichern ist die Datei bereitgestellt. Bereitgestellte Dateien werden in enaio® lumee-administrator im Bereich Nutzung > Bereitgestellte Dateien angezeigt (siehe Bereitgestellte Dateien).

Bereitgestellte Dateien werden in der lokalen Datenbank des Services 'lumee' zwischengespeichert und bleiben bei einem Neustart des Services erhalten.

Größe und Aufbewahrungsdauer können Sie über folgende Parameter in der Datei lumee-prod.yml ändern:

Parameter für hochgeladene Dateien
Parameter Bemerkung Standardwert
lumee:content-staging:ttl-seconds Zeit in Sekunden, nach der eine nicht verwendete Datei entfernt wird.

14400

(4 Stunden)

lumee:content-staging:max-bytes Maximale Größe einer Datei in Bytes.

52428800

(50 MB)

lumee:content-staging:max-total-bytes-per-user Maximale Gesamtgröße aller bereitgestellten Dateien eines Benutzers in Bytes.

209715200

(200 MB)

spring:servlet.multipart:max-file-size Maximale Größe einer Datei beim Hochladen. Der Wert muss größer sein als der Wert von lumee:content-staging:max-bytes. 60MB
spring:servlet:multipart.max-request-size Maximale Größe einer Anfrage beim Hochladen. 62MB