Skip to main content

LOG

Der LOG-Service (RagLoggerService) bietet umfangreiche Logging- und Performance-Messfunktionen. Damit kannst du die Ausführungszeiten von Prompts, Hooks und einzelnen Verarbeitungsschritten messen und als Timing-Graphen visualisieren.


.enable(collapsed?)

Aktiviert das Logging für den aktuellen Bot. Log-Ausgaben erscheinen in der Browser-Konsole.

ParameterTypPflichtBeschreibung
collapsedbooleanneinWenn true (Standard), werden Log-Gruppen eingeklappt angezeigt.
// Logging aktivieren (eingeklappt)
RAGAI.LOG.enable();
// Logging aktivieren (ausgeklappt)
RAGAI.LOG.enable(false);

.disable()

Deaktiviert das Logging für den aktuellen Bot.

RAGAI.LOG.disable();

.filter(filter?)

Filtert die Log-Ausgaben nach einem bestimmten Begriff. Nur Log-Einträge, die den Filter-String enthalten, werden angezeigt.

ParameterTypPflichtBeschreibung
filterstringneinDer Filter-String. Ohne Angabe wird der Filter zurückgesetzt.
// Nur Logs filtern, die "webhook" enthalten
RAGAI.LOG.filter('webhook');
// Filter zurücksetzen
RAGAI.LOG.filter();

.measureRunStart(prompt)

Startet eine Zeitmessung für einen Prompt-Durchlauf. Verwende diese Methode am Anfang einer Verarbeitungskette.

ParameterTypBeschreibung
promptstringBeschreibung des Prompts, der gemessen wird.
RAGAI.LOG.measureRunStart('Benutzeranfrage verarbeiten');

.measureHook(hookName, params)

Misst die Ausführungszeit eines bestimmten Hooks und protokolliert die übergebenen Parameter.

ParameterTypBeschreibung
hookNamestringDer Name des Hooks.
paramsunknownDie Parameter, die an den Hook übergeben werden.
RAGAI.LOG.measureHook('meinHook', { key: 'value' });

.measureRunStep(stepName, direction?, executionDuration?)

Protokolliert einen einzelnen Verarbeitungsschritt innerhalb eines Prompt-Durchlaufs.

ParameterTypPflichtBeschreibung
stepNamestringjaName des Verarbeitungsschritts.
direction"in" | "out" | ""neinRichtung des Schritts: "in" für eingehend, "out" für ausgehend, "" für neutral.
executionDurationnumberneinDie Ausführungsdauer in Millisekunden.
RAGAI.LOG.measureRunStep('Dokumente abrufen', 'in', 350);
RAGAI.LOG.measureRunStep('Antwort generieren', 'out', 1200);

.logTimingGraph(duration)

Erzeugt eine grafische Darstellung der Zeitmessung in der Konsole auf Basis der verbrauchten Zeit.

ParameterTypBeschreibung
durationnumberDie Dauer in Millisekunden.
RAGAI.LOG.logTimingGraph(1500);

.measureRunStop()

Stoppt die mit measureRunStart() gestartete Zeitmessung und gibt eine zusammenfassende Log-Ausgabe mit allen gemessenen Schritten aus.

RAGAI.LOG.measureRunStop();

Vollständiges Beispiel

RAGAI.LOG.enable();
RAGAI.LOG.measureRunStart('Kompletter Durchlauf');

RAGAI.LOG.measureRunStep('Eingabe verarbeiten', 'in', 50);
RAGAI.LOG.measureHook('beforeSend', { message: 'Hallo' });
RAGAI.LOG.measureRunStep('KI-Anfrage', 'out', 800);
RAGAI.LOG.measureRunStep('Antwort rendern', 'in', 120);

RAGAI.LOG.measureRunStop();