Service 'lumee'
Der Service 'lumee' bindet das Dashlet 'lumee' ein. Über das Dashlet können Benutzer mit einem KI-Assistenten über Daten in enaio® chatten und Informationen zusammenstellen.
Eingebunden werden können folgende Daten:
-
Kontextbezug: die Daten von Objekten, die Benutzer in Trefferlisten oder Standorten markiert haben.
-
Datenbezug: die Daten aller Objekte von Objekttypen, die in enaio® editor für die KI-Suche konfiguriert und in der Vektor-Datenbank von Elasticsearch indexiert sind.
Benutzer können in diesem Modus ebenfalls den Bezug auf markierte Objekte einschränken.
Die Informationen verweisen auf die Quelldokumente der Informationen.
Der Zugriff auf Informationen ist ü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.
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 Prompt-Einstellungen im Dashlet anpassen und speichern.
Das Einbinden eines KI-Providers und der spezifischen Modelle erfolgt im Projekt über die Konfigurationsdatei lumee-prod.yml.
Zugriffsrechte
Zugriff auf das 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 kann das Dashlet nur für angegebene Benutzer und Gruppen angezeigt werden.
Datenbezug und Kontextbezug
Als Standard ist der Kontextbezug in der Datei lumee-prod.yml aktiviert:
lumee:
useVectorStore: false
Zum Aktivieren des Datenbezugs ändern Sie den Wert des Parameters useVectorStore auf true.
Für den Datenbezug muss Elasticsearch eingebunden sein und die Konfiguration der Indexierung vorliegen.
Nach Änderung des Parameters und dem Neustart des Services 'lumee' wird die Vektor-Datenbank angelegt. Neu angelegte Objekte werden dann automatisch indexiert. Bestehende Daten müssen gegebenenfalls nachindexiert werden.
Für den Kontextbezug wird keine Vektor-Datenbank benötigt und keine Konfiguration der Indexierung.
Datenbezug: Einbinden von Elasticsearch
Elasticsearch ist in enaio® als Volltext-Datenbank eingebunden und wird für den Datenbezug zusätzlich in der gleichen Instanz als Vektor-Datenbank eingebunden. Das Einbinden 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 gegebenenfalls angepasst werden.
Einbinden eines KI-Providers
Das Einbinden eines KI-Providers und der spezifischen Modelle erfolgt im Projekt über die Konfigurationsdatei lumee-prod.yml aus dem Verzeichnis \config von enaio® service-manager.
KI-Provider
Der KI-Provider, der eingebunden wird, muss die OpenAI API Spezifikation unterstützen.
Die URL für die Verbindung zum KI-Provider geben Sie über folgenden Parameter an:
spring:ai:openai:base-url
Die Struktur der URL ist Provider abhängig.
Beispiele:
-
Google Gemini: https://generativelanguage.googleapis.com/v1beta/openai
-
Ollama: http://ollama.mydomain.com:11434
Datenbezug: Embedding-Modell
Für die Indexierung müssen die Dokumente an den KI-Provider übertragen werden. Beachten Sie dieses bezüglich Datenschutz, Datensicherheit und Datenverbrauch.
Das Embedding-Modell geben Sie über folgenden Parameter an:
spring:ai:openai:embedding:options:model
Für das Embedding wird ebenfalls die Dimensionalität der Vektoren angegeben. Die Werte sind spezifisch für das Modell. Standard-Werte sind: 768, 1538, 3072.
Parameter:
spring:ai:openai:embedding:options:dimensions
Höhere Werte führen zu größerem Speicherbedarf in der Vektor-Datenbank aber zu genaueren Antworten.
Der Wert 3072 führt bis zu einem doppelten Speicherbedarf für die indexierten Objekttypen.
Falls das Embedding-Modell oder die Dimensionalität der Vektoren geändert wird, ist eine Neuindexierung notwendig.
Indexierung für den Datenbezug
Neu angelegte Objekte von Objekttypen mit der Eigenschaft Indexierung für KI-Suche werden automatisch indexiert.
Bestehende Objekt müssen nachträglich indexiert werden.
Endpunkt des Services 'lumee': PUT /api/index/batch/{typeid}/index
Angegeben wird der zu indexierende Objekttyp über die Objekttyp-ID.
Für den Kontextbezug ist keine Indexierung notwendig
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:
modellist:
Beispiel:
modellist:
- llama3.2
- mistral-nemo
Eines der Modelle wird für den Benutzer als Standard vorausgewählt.
Parameter:
spring:ai:openai:chat:options:model
Datenbezug: Konfiguration der CPB-Queues
In enaio® enterprise-manager sind zwei CPB-Queues eingerichtet, deren Parameter für den Datenbezug 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.
Datenbezug: Objekttypen einbinden
Die Objekttypen, die für den Datenbezug in der KI-unterstützten Suche eingebunden werden sollen, benötigen die Eigenschaft Indexierung für KI-Suche.
Diese Eigenschaft geben Sie den Objekttypen über enaio® editor.
Eine nachträgliche Indexierung ist notwendig, wenn bereits Objekte dieser Objekttypen vorliegen.
Für den Kontextbezug ist diese Eigenschaft nicht notwendig.
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 dashlet.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 dashlet.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.
Konfiguration im Dashlet
Das 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.
Benutzer mit der Systemrolle 'Administrator: Konfiguration Gesamtsystem' öffnen die Prompt-Einstellungen im Dashlets 'lumee' über das Einstellungs-Icon in der Menüleiste des Dashlets. Änderungen können gespeichert werden.
Einstellungen für Prompts
Das Einbinden der LLMs erfolgt ausschließlich über die Konfigurationsdatei lumee-prod.yml.
Der Bereich Einstellungen für Prompts im Dashlet ist in folgende Abschnitte unterteilt:
| Einstellung | Funktion |
|---|---|
| Persönlichkeit | Legt Tonalität und Charakter der Antworten fest. |
| Unbekannte Antwort | Legt fest, wie die KI antwortet, wenn keine Informationen verfügbar sind. |
| Prompt-Vorlage | Definiert das strukturierte Format für generierte KI-Antworten. |
| Vorlage zur Umformulierung | Diese Vorlage wird verwendet, wenn die ursprüngliche Anfrage keine Ergebnisse liefert. |
|
Diese Prompt-Einstellungen sind als Standard in Deutsch formuliert. Sie können bei Bedarf übersetzt und manuell konfiguriert werden. |
|
| Ähnlichkeitsschwelle |
Bestimmt, wie genau eine Abfrage mit gespeicherten Antworten übereinstimmen soll. Höhere Werte führen zu höherer Übereinstimmung. Wertebereich: 0 - 1 |
| Maximale Vektoranzahl | Legt die maximale Anzahl gespeicherter Vektoren für KI-Antworten fest. |
| Temperatur |
Legt die Zufälligkeit der KI-Antworten fest. Höhere Werte führen zu größerer Vielfalt der Antworten. Wertebereich: 0.1 - 1 |
| Maximale Tokenanzahl |
Legt die maximale Anzahl an Tokens für KI-Antworten fest. Wertebereich: 100 - 10000 |
Benutzerdefinierte Prompt-Schaltflächen
Das Eingabefeld für Prompts wird als Standard mit Schaltflächen für vordefinierte Prompts erweitert. Benutzer mit der Systemrolle 'Administrator: Konfiguration Gesamtsystem' können diese vordefinierten Prompts bearbeiten, speichern und damit als Standard allen Benutzern zur Verfügung stellen. Sie können ebenfalls neue Prompt für alle Benutzer anlegen. Gespeichert werden die Daten in der Datei prompt-config.yml im Verzeichnis \apps\lumeeservice von enaio® service-manager.
Andere Benutzer können eigene Prompts erstellen und bearbeiten. Diese Prompts werden nur temporär im Browser-Cache gespeichert und stehen damit nach dem Löschen des Caches, in einem anderen Browser oder in einem anderen Client nicht mehr zur Verfügung.
| Schaltflächentext | Eingabeaufforderungsvorlage | 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 |
Die Schaltfläche Zusammenfassen wird nur angezeigt, wenn ein Dokument markiert ist, die Schaltfläche Vergleichen nur, wenn mindestens 2 und maximal 5 Dokumente markiert sind.
Für den Kontextbezug sind immer Dokumente erforderlich.
Bereiche können Sie einblenden. Alle ausgeblendeten Bereiche einer Seite blenden Sie über die Toolbar ein:
