Dokument RAG und Chat Konfiguration
Beschreibung
RAG (retrieval-augmented generation) Regelwerke für Dokumente unterteilen deren Texte in einzelne Abschnitte, erweitern diese Abschnitte mit weiteren erklärenden Texten (z.B. "Der folgende Text ist eine Beschreibung der Maschine...." oder "Im nächsten Abschnitt wird beschrieben, wie die Wartungsarbeiten durchgeführt werden müssen") und speichern diese Text-Abschnitte in speziellen RAG chunk embedding Vektor Datenbanken.
Anstatt - wie bisher üblich - über Schlagworte oder Kategorien bestimmte Dokumente zu finden, kann man nun mit ganzen Fragesätzen Dokumente in einer RAG Datenbank suchen. Als Ergebnis einer solchen Suche, erhält man eine Liste der passendsten Dokumente, jeweils mit Angabe einer Treffergenauigkeit.
Desweiteren werden die in der RAG Datenbank gespeicherten Text-Abschnitte der Dokumente auch dafür eingesetzt, um ein LLM (large language model) zu fine tunen. Damit wird es möglich mit Dokumenten zu chatten, d.h. das in den Dokumenten vorhandene Wissen über natürliche Sprache verfügbar zu machen.
Die hier beschriebenen Apps sind Teil der KLIO App Suite für NLP (natural language processing) DMS (document management system).
Funktionalität
- Dokument RAG bearbeiten
- Dokument RAG auflisten
- Dokument RAG selektieren
- Voreinstellungen
- RAG Datenbank Abfrage
- Dokument Chat Inspektor
Dokument RAG
Mit dieser App können für Dokumente Regeln für RAG (retrieval-augmented generation) angelegt, getestet und an Dokumenten hinterlegt werden.
Diese Regelwerke sind entscheidend für die Güte der "Antworten" eines NLP Systems, da es sich gezeigt hat, dass die Antworten immer dann besser sind, wenn viel Kontextinformationen jedem zu speicherndem Textabschnitt (Chunk) mitgegeben wird.
Man beginnt zunächst damit, eine bestehende Dokumentreferenz, eine einzelne Datei, ein Datei-Verzeichnis oder ein direkt eingegebenen Text als "Input Text" auszuwählen. Sollte die Dokumentreferenz auf ein Verzeichnis verweisen oder hat man ein Datei-Verzeichnis ausgewählt, dann kann man sich mittels der links/rechts Knöpfe die einzelnen Dokumente/Dateiinhalte ausgeben lassen (sollte eine Dateivorschau möglich sein).
Je nach Typ des/der Input Texts(e) (z.B. reine Texte, HTML formatierte Texte oder auch Texte in .pdf Dateien) kann eine Vorbehandlung der Texte notwendig sein, die in der Box der Dokument Aufbereitung ausgewählt werden kann.
Das Chunken des/der Input Texts(e) kann vom System automatisch ausgeführt werden oder man kann manuell eine Prozedur vorgeben, um einzelne Text-Abschnitte (chunks) zu generieren und diese eventuell noch mit weiteren Informationen zu erweitern (retrieval-augmentation).
Mit dem Knopf "Generieren" wird der gerade als Input-Text angezeigte Text mit dem ausgewählten automatischen oder manuellen Regelwerk verarbeitet und die erstellten Abschnitte werden im Bereich der Output Text Chunks ausgegeben. Auch da kann man sich mittels der links/rechts Knöpfe die einzelnen Chunks anzeigen lassen.
Im Output werden - neben der Anzeige der generierten Text Chunks - im Reiter der Meta Daten die Dokumente aufgelistet, aus denen die Text Chunks erstellt worden sind. Mit dem Knopf "Chunk Struktur" kann man sich die Herarchie der Text Chunks innerhalb des Dokuments anzeigen lassen und gegebenenfalls bearbeiten. Mit dem Knopf "Chunks speichern" werden die Chunks fest im Dokument RAG Regelwerk gespeichert, d.h. sie werden auch nicht mehr neu generiert. Dieses Speichern ist die notwendige Vorstufe für das Hochladen der Chunks in die RAG Datenbank.
Gibt man keine Dokumentreferenz an, dann lässt sich der Input Text auch frei erfassen. Dies ist dafür gedacht, kleinere Texte zum Testen der Verarbeitungsprozedur eingeben zu können.
Wird das Regelwerk für die referenzierten Dokumente/Dateien als funktionsfähig und richtig erachtet, kann man direkt das Regelwerk mit der Dokumentreferenz verbinden (siehe Knopf in Aktionsgruppe). Sollte zu Beginn als Input Text keine Dokumentreferenz, sondern direkt eine Datei oder ein Datei-Verzeichnis ausgewählt worden sein, wird eine Dokumentreferenz automatisch neu erstellt und diese mit dem Regelwerk verbunden.
| Menüpunkt | Beschreibung |
|---|---|
| Bearbeiten | - |
| : Suchbegriffe | - |
| : : Einfügen | Dem RAG Dokument wird ein weiterer Suchbegriff hinzugefügt |
| : : Entfernen | Der selektierte Suchbegriff wird entfernt. |
| : Notizen | Anzeige/Pflege einer einzelnen Notiz. |
| : Vorgangsnotiz erstellen | - |
| : : Notiz | Für das Dokument RAG kann eine Vorgangsnotiz erstellt werden. |
| : Vorgänge | Anzeige des Vorgangsordners. |
| : Gültigkeit | Pflege der Gültigkeit des Dokument RAGs. |
| : Schließen | Die App wird geschlossen |
| Suchen | Aufruf des Listenfensters |
| Voreinstellungen | Aufruf der Voreinstellungen zu dieser App. |
| Symbol | Beschreibung |
|---|---|
| Neues Dokument RAG anlegen | |
| Dokument RAG speichern | |
| Dokument RAG löschen | |
| Notizen | |
| Vorgänge | |
| Neuen Vorgangsbeleg erzeugen | |
| Gültigkeit |
| Feld | Beschreibung |
|---|---|
| Allgemein | |
| : Daten | |
| : : Nummer | Eindeutige Nummer des Dokument RAG Regelwerks. Das Format und die Vergabe der Nummer kann über Zählerobjekte gesteuert werden. |
| : : Suchbegriffe | Per rechter Maustaste können Suchbegriffe eingefügt oder entfernt werden. |
| : : Kurzname* | Eingabe eines Kurznamens. |
| : : Klassifikation | Zuordnung zu einem (klassifizierenden) Ordnungsbegriff. |
| : : Beschreibung | Beschreibungstext zum Dokument RAG. |
| : AI Tenant | Auswahl des Tenants in der AI Cloud. Ist dieser nicht gesetzt, ist die gesamte App gesperrt. Jeder Tenant ist für sich in seiner Konfiguration von der Konfigration anderer Tenants vollständig getrennt, d.h. jeder Tenant definiert für sich eine eigene RAG Datenbank. |
| : Input Text |
Die primäre Verarbeitungsfolge geht entgegen dem Uhrzeigersinn vom Text Input über die Dokument Aufebereitung, der Chunk Erstellung zum Chunk Output. Ist eine Dokumentreferenz vollständig verarbeitet, d.h. die Text Chunks sind in die RAG Datenbank hochgeladen, dann ist die gesamte linke Seite mit der "Dokument Aufebereitung" und der "Chunk Erstellung" gesperrt. |
| : : Dokumentreferenz |
Mittels des Kontextmenüs am "..." Knopf kann man entweder eine bereits in der Datenbank oder am Dokument RAG hinterlegte Dokumentreferenz auswählen oder man kann sich mit dem Datei-Explorer aus dem System eine Datei oder ein Dateiverzeichnis auswählen. Sollte ein Verzeichnis ausgewählt worden sein, kann man mittels der links/rechts Tasten sich die einzelnen Dokumente aus dem Verzeichnis anzeigen lassen. |
| : Dokument Aufbereitung | |
| : : LLM Sherpa |
Die über die Dokumentreferenzen gezogenen Texte werden zunächst mittels von LLM Sherpa eingelesen und strukturiert und erst dann dem Verfahren zur Chunk Erstellung übergeben. Diese Auswahl stellt das Standardverfahren zur Aufbereitung von Dokumenten dar. Zugelassene Dateiendungen (Dateitypen) sind: .docx (Word), .html, .pdf (PDF), .pptx (PowerPoint), .txt und .xml. |
| : : PDF zu Text |
Die über die Dokumentreferenzen gezogenen .pdf Dateien werden zunächst mit einem einfachen Verfahren in reinen Text konvertiert und erst dann dem Verfahren zur Chunk Erstellung übergeben. Diese Auswahl ist nur bei sehr einfachen .pdf Texten zu empfehlen. |
| : : keine (Text) |
Die über die Dokumentreferenzen gezogenen Texte werden direkt dem Verfahren zur Chunk Erstellung übergeben. Dieses gilt für reine Textdateien, die anschließend miitels einer manuellen Prozdeur "gechunkt" werden. Sollte diese Auswahl in Kombination mit einer automatischen Weiterverabeitung (s.u.) getroffen werden, dann muss die Prozedur "TextChunking" projektspezifisch implementiert sein. |
| : Chunk Erstellung | Auswahl des Verfahrens zur eigentlichen Chunk Erstellung, d.h. der Aufteilung der Dokumente in einzelne Text Fragmente (Chunks). |
| : : Automatisch | |
| : : : keine Bearbeitung |
Das Erstellen von Chunks wird ausgesetzt, d.h. es wird das Ergebnis der reinen Dokument Aufbereitung ausgegeben, so z.B. nach Auswahl des LLM Sherpa die hiervon aufbereiteten .pdf Dateien im JSON Format. Mit diesem Modus kann man die Güte der Aufbereitung/Strukturierung des Textes von .pdf Dateien überprüfen. |
| : : : keine Strukturierung | das automatische Strukturieren der Chunks - durch Erkennen von z.B. Kopfzeilen - wird ausgesetzt, d.h. alle Textzeilen werden hintereinander in einen Chunk geschrieben. |
| : : Manuell |
Erfassung des Programmcodes einer anonymen Prozedur. Eine solche Prozedur erwartet als ersten (Top) Aufrufparameter den zu verarbeitenden Text, als zweiten Aufrufparameter (Top-1) den Chunks Vektor, in den alle erstellten Dokumente Chunks (JSON Objekte) aufgesammelt werden und als dritten Aufrufparameter (Top-2) den Dokumenten Vektor, in dem die Dokument Metadaten als JSON-Objekte aufgesammelt werden Die anonyme Prozedur darf keinen Rückgabewert haben, da das Ergebnis der Aufbereitung in den Chunks und den Dokumenten Vektor eingetragen werden müssen. Mit dem Knopf neben dem Text kann man den Code Editor öffnen. |
| : Generiere | |
| : :
automatisch bei Text Wechsel |
Ist dieser Haken gesetzt, wird das ausgewählte Regelwerk automatisch bei jedem Input Text Wechsel angewendet, d.h. die Text-Abschnitte generiert und als Text Chunks angezeigt. |
| : Output | |
| : : Text Chunks |
Ist eine Dokumentreferenz ausgewählt, ein Input Text angezeigt und eine Prozedur definiert, dann wird nach Drücken des "Generieren" Knopfes der angezeigte Input Text mittels der ausgewählten Dokument Aufbereitung und Chunk Erstellung verarbeitet und die dabei generierten und eventuell mit Text erweiterten Text-Abschnitte als Text Chunks ausgegeben. Mittels der links/rechts Tasten kann man zwischen den einzelnen Text-Abschnitten hin- und herwechseln. |
| : : Meta Daten |
Ausgabe der Meta Daten aller generierten (Sub-)Dokumente. Die chunks dieser Sub-Dokumente werden alle zusammen in der Liste der Text Chunks ausgegeben. |
| : : : Chunks Struktur | Bearbeitung der Hierarchie der aus den Dokumenten erstellten Text Chunks mittels des Struktur Explorers. |
| : : : Chunks speichern | Die zunächst nur transient erstellten Text Chunks werden gespeichert und fest mit dem Regelwerk verbunden. Das Speichern der Text Chunks ist die notwendige Vorstufe zum Hochladen der Chunks in die RAG Datenbank. |
| : : : Datenbank initialiseren |
Kennzeichnung, ob vor dem Hochladen von Text Chunks die RAG Datenbank initialisiert werden soll, d.h. eventuell schon in der Datenbank vorhandene Text Chunks gelöscht werden sollen. Ob und welche Dokumente in der RAG Datenbank - des entsprechend ausgewählten AI Tenants - bereits vorhanen sind, kann man sich z.B. im Status Fenster der RAG Datenbank Abfrage ausgeben lassen. |
| : : : Chunks hochladen | Die vorher gespeicherten Chunks werden in die RAG Datenbank hochgeladen. |
| Merkmale | Eingabe von Merkmalen, die bei Ausführen der Prozedur herangezogen werden sollen. |
| Dokumentreferenzen | |
| : Dokumente | Auflistung der Dokumentreferenzen, die mit dem gerade aufgerufenen Dokument RAG Regelwerk verbunden - und damit verarbeitet werden sollen. |
| Aktion | siehe Knöpfe |
| Knopf | Beschreibung |
|---|---|
| Aktion | |
| : Zurück | Die App wird geschlossen |
| : Löschen | Dokument RAG löschen |
| : Neu | Neues Dokument RAG anlegen |
| : Speichern | Dokument RAG speichern |
| : Verbinden |
Das Dokument RAG wird mit der z.Zt. ausgewählten Dokumentreferenz verbunden, d.h. das RAG Regelsystem wird der Dokumentreferenz für die Erstellung von Text Chunks zugeordnet. Sollte es sich bei der Dokumentreferenz um eine über den Datei-Explorer ausgewählte Datei/Dateiverzeichnis handeln, wird nachgefragt, ob eine in der Datenbank gespeicherte (globale) Dokumentreferenz automatisch erstellt werden soll. Nur bei Bejahung dieser Frage kann das RAG Regelsystem der dann neu erstellten Dokumentreferenz zugeordnet werden. |
| Input Text | |
| < < | Erste Datei |
| < | Vorhergehende Datei |
| > | Nächste Datei |
| > > | Letzte Datei |
| Output Text Chunks | |
| < < | Erster Chunk |
| < | Vorhergehender Chunk |
| > | Nächster Chunk |
| > > | Letzter Chunk |
| Merkmale | |
| Anlegen | Attribut anlegen |
| Einfügen | Merkmal einfügen |
| Entfernen | Aktuelles Merkmal entfernen |
| Prozedur | |
| Generiere |
Ein gerade angezeigter Input Text wird mit dem erfassten Regelsystem/der erfassten Prozedur verarbeitet. Die dabei entstehenden Text-Abschnitte werden als Output Text Chunks angezeigt. Die vor dem Knopf angezeigte Checkbox "automatisch bei Text Wechsel" steuert, ob bei jedem Input Text Wechsel das "Generiere" automatisch ausgeführt werden soll. |
Dokument RAG auflisten
Diese App dient der Auflistung aller gespeicherten Dokument RAG Objekte.
| Menüpunkt | Beschreibung |
|---|---|
| Bearbeiten | - |
| : Zurücksetzen | - |
| Optionen | - |
| Symbol | Beschreibung |
|---|---|
| Mehrfach Suche ausführen | |
| Liste zurücksetzen | |
| Neues Dokument RAG anlegen | |
| Dokument RAG bearbeiten | |
| Dokument RAG löschen | |
| Notizen | |
| Vorgänge | |
| Gültigkeit | |
| Bericht ändern / In die Zwischenablage kopieren |
| Feld | Beschreibung |
|---|---|
| Filter | |
| : Nummer | |
| : Suchbegriff | |
| Liste | |
| : Standard Liste | |
| : Berichtsabhängige Liste | |
| : Anzahl Zeilen / selektiert | |
| Aktion |
| Knopf | Beschreibung |
|---|---|
| Klassifikation | Klasse auswählen |
| Erweiterte Suche | - |
| Zurück | Die App wird geschlossen |
| Löschen | Dokument RAG löschen |
| Neu | Neue Dokument RAG anlegen |
| Bearbeiten | Dokument RAG bearbeiten |
Dokument RAG selektieren
Diese App dient der Selektion eines Dokument RAG Objekts.
| Menüpunkt | Beschreibung |
|---|---|
| Bearbeiten | - |
| : Zurücksetzen | - |
| Optionen | - |
| Symbol | Beschreibung |
|---|---|
| Mehrfach Suche ausführen | |
| Liste zurücksetzen |
| Feld | Beschreibung |
|---|---|
| Filter | |
| : Nummer | |
| : Suchbegriff | |
| Liste | |
| : Standard Liste | |
| : Berichtsabhängige Liste | |
| : Anzahl Zeilen / selektiert | |
| Aktion |
| Knopf | Beschreibung |
|---|---|
| Klassifikation | Klasse auswählen |
| Erweiterte Suche | - |
| Zurück | - |
| Auswählen | Dokument RAG auswählen |
Voreinstellungen
Diese App dient der Pflege der Einstellungen der Dokument RAG Editier-App.
| Menüpunkt | Beschreibung |
|---|---|
| Bearbeiten | - |
| : Standardeinstellungen setzen | - |
| Feld | Beschreibung |
|---|---|
| Listenoptionen | |
| : Suchoptionen | |
| : : Sofortige Übernahme bei einem Treffer | |
| : : Vor neuer Suche Liste leeren | |
| : : Wenn weniger als 100 Objekte vorhanden sind, dann direkt anzeigen. | |
| : : Allgemeine Suche | |
| : : Erweiterte Suche | |
| : Gültigkeit | |
| : : | |
| : : : Mit Austauschobjekt | |
| : : : Ohne Austauschobjekt | |
| : : | |
| : : : Nur gültige Objekte | |
| : : : Alle Objekte | |
| : Anzahl Objekte | |
| : : Alle Objekte | |
| : : 100 Objekte | |
| : : Anzahl Objekte | |
| Voreinstellungen | |
| : Globale Voreinstellungen | |
| : Benutzer Voreinstellungen | |
| Aktion |
| Knopf | Beschreibung |
|---|---|
| Zurück | App schließen |
| OK | Die Voreinstellungen werden gesetzt |
RAG Datenbank Abfrage
Diese App dient der Abfrage und damit dem Testen der Güte der RAG Text Chunk Vektor Datenbank. Nach Eingabe eines Textes/einer Anfrage und Drücken des Knopfes "Abfragen" wird die Datenbank angefragt, das Ergebnis wird als Liste der von zur Anfrage passendsten Texten/Dokumenten (Chunks) ausgegeben. Bleibt die Liste leer, wurden keine passenden Text-Chunks ermittelt.
Der Umfang der Liste der zu verarbeitenden Chunks kann mittels des Schwellenwertes und der Anzahl maximaler Chunks eingeschränkt werden.
| Feld | Beschreibung |
|---|---|
| RAG Datenbank Abfrage | |
| : AI Tenant | Auswahl des Tenants in der AI Cloud. Ist dieser nicht gesetzt, ist die gesamte App gesperrt. Jeder Tenant ist für sich in seiner Konfiguration von der Konfigration anderer Tenants vollständig getrennt, d.h. jeder Tenant definiert für sich eine eigene RAG Datenbank. |
| : RAG Datenbank Abfrage | |
| : : Textbox | Text der Anfrage |
| : Dokumente | |
| : : Liste |
Liste der zur Anfrage passenden Chunks. Wird eine Zeile selektiert, wird darunter der Text des Chunks angezeigt. Hat eine Zeile einen Link, kann per rechter Maustaste dieser Link verfolgt werden. |
| : : Schwellenwert | Eingabe eines Wertes zwischen 0 und 1, als maximal zulässige Größe für den Fehlerwert der auszugebenden Chunks. Je kleiner der Fehlerwert, desto höher ist die Wahrscheinlichkeit, dass der Chunk zur Anfrage passt. |
| : : maximale Anzahl von Chunks | Anzahl der maximal zu verarbeitenden Chunks. |
| Status | |
| : Datenbank | |
| : : Embedding Model | Ausgabe des Namens des zum Aufbau der RAG Datenbank eingesetzten Embedding Models. |
| : : Letzte Änderung | Ausgabe von Datum und Uhrzeit der letzten Änderung in der RAG Datenbank. |
| : : Anzahl Dokumente / Chunks | Ausgabe der Anzahl der Dokumente und der aus diesen Dokumenten erstellten und gespeichertne Text Chunks in der RAG Datenbank. |
| : : Sprachen | Ausgabe der Sprachen der Dokumente. |
| : : Größe Datenbank | Größe der RAG Datenbank in MBytes. |
| : Gspeicherte Dokumente | Ausgabe einer Liste der von den Text Chunks referenzierten Dokumente. |
| Aktion | siehe Knöpfe |
| Knopf | Beschreibung |
|---|---|
| Abfragen | Datenbank abfragen |
| Aktion | |
| : Zurück | App schließen |
Dokument Chat Inspektor
Diese App dient dazu, die soweit mit den Dokumenten und ihren Regelwerken aufgebaute Vektor Datenbank, sowie auch das damit trainierte LLM (Large Language Model) zu testen. Sie ist damit die zentrale App zur Qualitätssicherung für das Chatten mit Dokumenten.
Die einzelnen Bausteine des "Chattens" sind
- ein Basis LLM (z.B. Llama-2-13b-hf"
- eine mit den Dokumenten für RAG aufgebaute Vektor Datenbank
- ein mit QLoRa generierter Adapter zum LLM
Diese drei Basis Bausteine können in dieser App einzeln getestet werden, d.h. ein und die gleiche Anfrage kann parallel an das Basis LLM, die RAG Datenbank und dem QLoRA Adapter übergeben werden. Daraus können sich wiederum Maßnahmen ergeben, z.B. ein anderes LLM einzusetzen, die Text Chunks für das RAG und/oder die Parameter des QLoRA zu überarbeiten.
Neben der einzelnen Anwahl einer der drei Basis Bausteine, kann die Anfrage auch an das Gesamtsystem (KLIO) übergeben werden. Die Erwartung ist natürlich, dass alle Basis Bausteine zusammen als Konsortium das beste Ergebnis zur Anfrage liefern.
Nach Eingabe eines Textes/einer Anfrage und Drücken des Knopfes "Chatten" wird der ausgewählte Baustein bzw. das Gesamtsystem aktiviert. Als Ergebnis erhält man zum einen die Antwort des Bausteines bzw. des Gesamtsystems, als auch die Liste der von zur Anfrage passendsten Texten/Dokumenten (Chunks) aus der Vektor Datenbank. Bleibt die Antwortbox leer, konnte der Baustein bzw. das Gesamtsystem keine Antwort liefern..
Der Umfang der Liste der zu verarbeitenden Chunks kann mittels des Schwellenwertes und der Anzahl maximaler Chunks eingeschränkt werden.
| Feld | Beschreibung |
|---|---|
| AI Tenant |
Auswahl des Tenants in der AI Cloud. Ist dieser nicht gesetzt, ist die gesamte App gesperrt. Jeder Tenant ist für sich in seiner Konfiguration von der Konfigration anderer Tenants vollständig getrennt, d.h. jeder Tenant definiert für sich ein eigenes LLM, einen eigenen QLoRA Adapter und eine eigene RAG Datenbank. In der Combobox angezeigt werden die Tenant Nummer, die Kurzbezeichnung sowie der Administrations (full) und der öffentliche (public) API-Schlüssel. Hat der AI Tenant einen öffentlichen API-Schlüssel, kann rechts neben der Combobox der öffentliche Chat direkt aufgerufen werden. |
| Chat | |
| : Textbox | Text der Anfrage |
| Bausteine/Gesamtsystem | Auswahl der Basis Bausteine LLM/RAG/QLora und/oder dem Gesamtsystem KLIO |
| : KLIO | Umfassendste Verarbeitung einer Anfrage (RAG Datenbank + QLoRA Adpater zum LLM) |
| : : Antwort | |
| : : : Textbox | Antworttext des KLIO Gesamtsystems. |
| : : Dokumente | |
|
: : : Liste |
Liste der zur Anfrage passenden Chunks. Wird eine Zeile selektiert, wird darunter der Text des Chunks angezeigt. Hat eine Zeile einen Link, kann per rechter Maustaste dieser Link verfolgt werden. |
| : : : Schwellenwert | Eingabe eines Wertes zwischen 0 und 1, als maximal zulässige Größe für den Fehlerwert der auszugebenden Chunks. Je kleiner der Fehlerwert, desto höher ist die Wahrscheinlichkeit, dass der Chunk zur Anfrage passt. |
| : : : maximale Anzahl von Chunks | Anzahl der maximal zu verarbeitenden Chunks. |
| : QLoRA | Verarbeitung einer Anfrage mit QLoRA Adpater zum LLM |
| : : Antwort | |
| : : : Textbox | Antworttext des QLoRA Adapters mit dem LLM. |
| : : Dokumente | |
|
: : : Liste |
Liste der zur Anfrage passenden Chunks. Wird eine Zeile selektiert, wird darunter der Text des Chunks angezeigt. Hat eine Zeile einen Link, kann per rechter Maustaste dieser Link verfolgt werden. |
| : : : Schwellenwert | Eingabe eines Wertes zwischen 0 und 1, als maximal zulässige Größe für den Fehlerwert der auszugebenden Chunks. Je kleiner der Fehlerwert, desto höher ist die Wahrscheinlichkeit, dass der Chunk zur Anfrage passt. |
| : : : maximale Anzahl von Chunks | Anzahl der maximal zu verarbeitenden Chunks. |
| : RAG | Verarbeitung einer Anfrage per RAG Datenbank und LLM. Für die Query der RAG Datenbank ohne LLM siehe RAG Datenbank Abfrage |
| : : Antwort | |
| : : : Textbox | Antworttext der RAG Datenbank und des LLMs. |
| : : Dokumente | |
|
: : : Liste |
Liste der zur Anfrage passenden Chunks. Wird eine Zeile selektiert, wird darunter der Text des Chunks angezeigt. Hat eine Zeile einen Link, kann per rechter Maustaste dieser Link verfolgt werden. |
| : : : Schwellenwert | Eingabe eines Wertes zwischen 0 und 1, als maximal zulässige Größe für den Fehlerwert der auszugebenden Chunks. Je kleiner der Fehlerwert, desto höher ist die Wahrscheinlichkeit, dass der Chunk zur Anfrage passt. |
| : : : maximale Anzahl von Chunks | Anzahl der maximal zu verarbeitenden Chunks. |
| : : Status | Ausgabe von Daten zum Status der RAG Datenbank. |
| : : : Datenbank | |
| : : : : Embedding Modell | Ausgabe des für den Aufbau der RAG Datenbank eingesetzten Embedding Modells.. |
| : : : : Letzte Änderung | Ausgabe des letzten Aufbaus/Updates der RAG Datenbank. |
| : : : : Anzahl Dokumente / Chunks | Ausgabe der Anzahl der Dokumente und der aus diesen Dokumenten aufgeteilten Text-Chunks. |
| : : : : Sprachen | Ausgabe der Sprachen der in der RAG Datenbank geladenen Dokumente. |
| : : : : Größe Datenbank | Ausgane der Größe der RAG Datenbank in MBytes. |
| : : : Gespeicherte Dokumente | Azsgabe der in den Chunks angegebenen Dokumente. |
| : LLM | Verarbeitung einer Anfrage per für den ausgewählten Tenant konfiguriertem LLM. |
| : : Antwort | |
| : : : Textbox | Antworttext des LLMs. |
| : : Konfiguration | Verwaltung der Konfiguration des LLMs. |
| : : : Modell | Auswahl des LLMs. |
| : : : Prompt Template |
Angabe des einer Anfrage automatisch hinzuzufügenden Prompts. Platzhalter für die Anfrage ist {request}. Die verschiedenen LLMs sind für spezielle Prompts trainiert worden, so sollte z.B. für das "google/gemma-2-9b-it" LLM der Prompt in folgender Weise angegeben werden:
|
| Aktion | siehe Knöpfe |
| Knopf | Beschreibung |
|---|---|
| Status | Ausgabe des Entwicklungs-/Deployment Status des ausgewählten Chat Elements |
| Chatten | Mit dem jeweilig ausgewählten Chat Element chatten |
| Zurück | App schließen |
Verwandte Themen
Technische Dokumentation
- Implementation
- Qualitätssicherung
- Dokument RAG Editier App
- Dokument RAG Listen-App
- Dokument RAG Selektions-App
- Text RAG Basismodul
Implementation
Klassen
_
Qualitätssicherung
_
Dokument RAG Editier App
Modulname
documentRagEdit.app
Security
Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.
| Message | Parameter | Funktion | Security |
|---|---|---|---|
| DELETE_DOCUMENT_RAG | |||
| EDIT_DOCUMENT_RAG | |||
| EXEC_DOCUMENT_RAG | |||
| LOAD_DOCUMENT_RAG |
| Message | Parameter | Funktion | Empfangs-Modul |
|---|---|---|---|
| ADVANCED_SEARCH | |||
| CREATE_MODULE_SETTINGS | |||
| CREATE_TXN_NOTE | |||
| DELETE_MODULE_SETTINGS | |||
| DOCUMENT_INDEX_SELECTED | |||
| DOCUMENT_RAG_CHANGED | |||
| DOCUMENT_RAG_CREATED | |||
| DOCUMENT_RAG_DELETED | |||
| DOUBLE_CLICK | |||
| EDIT_COMMENT | |||
| EDIT_CONDITIONED_ATTRIBUTE | |||
| EDIT_DOCUMENT_INDEX | |||
| EDIT_DOCUMENT_RAG | |||
| EDIT_FORMULA_ATTRIBUTE | |||
| EDIT_MODULE_SETTINGS | |||
| EDIT_PROCEEDINGS | |||
| EDIT_SLOT_ATTRIBUTE | |||
| EDIT_VALIDITY_BY_DATE | |||
| INITIALIZE | |||
| LIST_DOCUMENT_RAG | |||
| PRINT_REPORT | |||
| SELECT | |||
| SELECT_ATTRIBUTE | |||
| SELECT_DOCUMENT_INDEX | |||
| SELECT_STRUCTURE | |||
| STRUCTURE_SELECTED |
Dokument RAG Listen-App
Modulname
documentRagList.app
Security
Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.
| Message | Parameter | Funktion | Security |
|---|---|---|---|
| LIST_DOCUMENT_RAG |
| Message | Parameter | Funktion | Empfangs-Modul |
|---|---|---|---|
| ADVANCED_SEARCH | |||
| CREATE_MODULE_SETTINGS | |||
| DELETE_MODULE_SETTINGS | |||
| DOCUMENT_RAG_DELETED | |||
| DOUBLE_CLICK | |||
| EDIT_COMMENT | |||
| EDIT_DOCUMENT_RAG | |||
| EDIT_MODULE_SETTINGS | |||
| EDIT_PROCEEDINGS | |||
| EDIT_VALIDITY_BY_DATE | |||
| INITIALIZE | |||
| PRINT_REPORT | |||
| SELECT | |||
| SELECT_STRUCTURE | |||
| STRUCTURE_SELECTED |
Dokument RAG Selektions-App
Modulname
documentRagSelect.app
Security
Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.
| Message | Parameter | Funktion | Security |
|---|---|---|---|
| SELECT_DOCUMENT_RAG |
| Message | Parameter | Funktion | Empfangs-Modul |
|---|---|---|---|
| ADVANCED_SEARCH | |||
| CREATE_MODULE_SETTINGS | |||
| DELETE_MODULE_SETTINGS | |||
| DOCUMENT_RAG_DELETED | |||
| DOCUMENT_RAG_SELECTED | |||
| DOUBLE_CLICK | |||
| EDIT_COMMENT | |||
| EDIT_DOCUMENT_RAG | |||
| EDIT_MODULE_SETTINGS | |||
| EDIT_PROCEEDINGS | |||
| INITIALIZE | |||
| PRINT_REPORT | |||
| SELECT | |||
| SELECT_STRUCTURE | |||
| STRUCTURE_SELECTED |
Text RAG Basismodul
Modulname
cxDocumentRag.mod
Security
Neben der Beschränkung der Zugriffsrechte über die Klasse und deren Datenfelder kann das Modul über einige der empfangenen Messages in seiner Nutzung beschränkt werden.
| Message | Parameter | Funktion | Empfangs-Modul |
|---|---|---|---|
| ADVANCED_SEARCH | |||
| CREATE_MODULE_SETTINGS | |||
| DELETE_MODULE_SETTINGS | |||
| DOCUMENT_RAG_DELETED | |||
| DOUBLE_CLICK | |||
| EDIT_COMMENT | |||
| EDIT_DOCUMENT_RAG | |||
| EDIT_MODULE_SETTINGS | |||
| EDIT_PROCEEDINGS | |||
| INITIALIZE | |||
| PRINT_REPORT | |||
| SELECT | |||
| SELECT_STRUCTURE | |||
| STRUCTURE_SELECTED |