DOCSEARCH
Mit dem DOCSEARCH-Service kannst du Dokumentensuchen durchführen und die Ergebnisse im Chat anzeigen. Du hast volle Kontrolle über das HTML-Template der Suchergebnisse und kannst die Darstellung individuell anpassen.
Properties
.beforeItemHtml
Definiert das öffnende HTML-Element der Ergebnisliste. Wird vor den einzelnen Suchergebnissen ausgegeben.
RAGAI.DOCSEARCH.beforeItemHtml = "<div class='list-group me-3'>";
.itemHtml
Definiert das HTML-Template für ein einzelnes Suchergebnis. Verwende Platzhalter wie {{url}}, {{filename}} und {{title}}, die automatisch mit den Ergebnisdaten befüllt werden.
RAGAI.DOCSEARCH.itemHtml = `
<a class='list-group-item list-group-item-action docsearch-link' href='{{url}}'>
<i class='ri-file-pdf-2-fill'></i>
<strong>{{filename}}</strong><br>
<small>{{title}}</small>
</a>
`;
.afterItemHtml
Definiert das schließende HTML-Element der Ergebnisliste. Wird nach den einzelnen Suchergebnissen ausgegeben.
RAGAI.DOCSEARCH.afterItemHtml = '</div>';
.clickFn
Stellt eine Klick-Funktion bereit, die ein Suchergebnis in einem IFrame-Overlay anzeigt. Du kannst diese Funktion nutzen, um Dokumente direkt im Chat-Fenster zu öffnen.
RAGAI.DOCSEARCH.clickFn('https://beispiel.de/dokument.pdf');
.searchAsJson(searchString, skillIds?, searchCount?, minScore?, returnType?)
Führt eine Dokumentensuche anhand des Suchtextes durch und gibt die Ergebnisse als JSON zurück.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
searchString | string | ja | Der Suchbegriff. |
skillIds | string[] | nein | Optionale Einschränkung auf bestimmte Skill-IDs. |
searchCount | number | nein | Maximale Anzahl der Suchergebnisse (Standard: 5). |
minScore | number | nein | Minimaler Score-Wert, den ein Ergebnis haben muss. |
returnType | string | nein | Rückgabeformat der Ergebnisse. |
Rückgabe: Promise<DocSearchResult>
const data = await RAGAI.DOCSEARCH.searchAsJson('Blumen', ['skill1'], 8, 0.5);
console.log('Gefundene Ergebnisse:', data);
.jsonToHtml(data)
Erzeugt aus einem DocSearchResult-Objekt einen HTML-String basierend auf den konfigurierten Templates (beforeItemHtml, itemHtml, afterItemHtml).
| Parameter | Typ | Beschreibung |
|---|---|---|
data | DocSearchResult | Das Ergebnis von searchAsJson(). |
Rückgabe: string – Der generierte HTML-Code.
const data = await RAGAI.DOCSEARCH.searchAsJson('Blumen');
const html = RAGAI.DOCSEARCH.jsonToHtml(data);
console.log(html);
.searchAsCard(searchString, skillIds?, searchCount?, minScore?)
Führt eine Dokumentensuche durch und stellt die Ergebnisse direkt als formatierte Ergebniskarte im Chat dar.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
searchString | string | ja | Der Suchbegriff. |
skillIds | string[] | nein | Optionale Einschränkung auf bestimmte Skill-IDs. |
searchCount | number | nein | Maximale Anzahl der Suchergebnisse (Standard: 5). |
minScore | number | nein | Minimaler Score-Wert. |
Rückgabe: Promise<void>
await RAGAI.DOCSEARCH.searchAsCard('Blumen', undefined, 8);
.docSearchResult(searchString, skillIds?, searchCount?, minScore?)
Führt eine Dokumentensuche durch und gibt das Ergebnis als formatierten HTML-String zurück – ohne es direkt im Chat anzuzeigen.
| Parameter | Typ | Pflicht | Beschreibung |
|---|---|---|---|
searchString | string | ja | Der Suchbegriff. |
skillIds | string[] | nein | Optionale Einschränkung auf bestimmte Skill-IDs. |
searchCount | number | nein | Maximale Anzahl der Suchergebnisse (Standard: 5). |
minScore | number | nein | Minimaler Score-Wert. |
Rückgabe: Promise<string>
const html = await RAGAI.DOCSEARCH.docSearchResult('Blumen', undefined, 5, 0.3);
console.log(html);