Workflow zur Analyse und zum Testen Mehrerer Lokaler LLMs mit LM Studio

In diesem Workflow wird das LM Studio verwendet, um mehrere lokale Sprachmodelle zu testen und deren Antworten zu analysieren, einschließlich der Lesbarkeitsbewertung und anderer Metriken.

Workflow zur Analyse und zum Testen Mehrerer Lokaler LLMs mit LM Studio

Die Website nutzt die Wordpress-Infrastruktur.

Server: Unser Server befindet sich in einem Unternehmen mit Sitz in Deutschland. Er hat eine hohe und schnelle Internetverbindung. Es gibt eine Generatorunterstützung für ununterbrochenen Strom.

Einführung

Dieser Workflow in n8n ermöglicht die Analyse und das Testen mehrerer lokaler Sprachmodelle (LLMs) mithilfe von LM Studio. Jeder Schritt im Workflow ist speziell darauf ausgelegt, die Effizienz und Genauigkeit der Modelle zu maximieren. Im Folgenden werden die einzelnen Knoten und ihre Funktionen beschrieben:

1. Sticky Note

Name: Sticky Note
Typ: n8n-nodes-base.stickyNote
Funktion: Dieser Knoten dient als Informationsanmerkung, die den Benutzern eine Übersicht über die Lesbarkeitsbewertungen von Modellantworten gibt. Es beschreibt, wie die Lesbarkeit in verschiedene Kategorien eingeteilt wird.
Einstellungen: Das Notizfeld enthält eine Liste von Lesbarkeitswerten mit den entsprechenden Beschreibungen und liegt visuell in der Position (1600, 420).

2. Get Models

Name: Get Models
Typ: n8n-nodes-base.httpRequest
Funktion: Dieser Knoten sendet eine HTTP-Anfrage an den LM Studio Server, um alle aktuellen Modelle abzurufen, die dort geladen sind.
Einstellungen: Die URL wurde auf http://192.168.1.179:1234/v1/models eingestellt, mit einem Timeout von 10 Sekunden. Die Verbindung zu nicht sicheren Zertifikaten wurde deaktiviert.

3. Sticky Note1

Name: Sticky Note1
Typ: n8n-nodes-base.stickyNote
Funktion: Diese Notiz enthält Anweisungen, um die URL des LM Servers zu aktualisieren.
Einstellungen: Die Notiz fordert den Benutzer auf, die Base URL zu ändern, um die IP-Adresse des LM Studio Servers zu verwenden und erklärt den Zweck des Knotens.

4. When chat message received

Name: When chat message received
Typ: @n8n/n8n-nodes-langchain.chatTrigger
Funktion: Dieser Auslöser erfasst eingehende Chat-Nachrichten und initiiert den Workflow, wenn eine Nachricht empfangen wird.
Einstellungen: Es gibt keine besonderen Parameter, die hier konfiguriert werden müssen.

5. Sticky Note2

Name: Sticky Note2
Typ: n8n-nodes-base.stickyNote
Funktion: Bietet eine Anleitung zur Einrichtung von LM Studio und dem Laden der Modelle.
Einstellungen: Diese Notiz gibt an, dass das LM Studio heruntergeladen und installiert werden muss, sowie Hinweise zur Verwendung mehrerer Modelle.

6. Sticky Note3

Name: Sticky Note3
Typ: n8n-nodes-base.stickyNote
Funktion: Informiert darüber, wie die LLM-Einstellungen angepasst werden können, um das Verhalten der Modelle zu optimieren.
Einstellungen: Die Notiz beschreibt Parameter wie Temperatur und Top P für die Modellanpassung.

7. Get timeDifference

Name: Get timeDifference
Typ: n8n-nodes-base.dateTime
Funktion: Berechnet den Zeitunterschied zwischen dem Start- und Endzeitpunkt der Chat-Anfrage.
Einstellungen: Der Knoten verwendet Parameter für die Start- und Enddaten, um die Zeitdifferenz zu erhalten.

8. Sticky Note4

Name: Sticky Note4
Typ: n8n-nodes-base.stickyNote
Funktion: Bietet eine optionale Anweisung zur Erstellung eines Google Sheets zur Protokollierung der Testergebnisse.
Einstellungen: Enthält eine Schritt-für-Schritt-Anleitung zum Erstellen der erforderlichen Spalten in Google Sheets.

9. Sticky Note5

Name: Sticky Note5
Typ: n8n-nodes-base.stickyNote
Funktion: Eine weitere Notiz, die die Schritte zur Einrichtung von LM Studio zusammenfasst.
Einstellungen: Gibt verbindliche Schritte für die Benutzer, um den Workflow korrekt einzurichten.

10. Sticky Note6

Name: Sticky Note6
Typ: n8n-nodes-base.stickyNote
Funktion: Erläutert, wie man mehrere LLMs gezielt ansprechen kann, um spezifische Ergebnisse zu testen.
Einstellungen: Empfiehlt, einen System-Prompt hinzuzufügen, um die Genauigkeit der Antworten zu steuern.

11. Run Model with Dunamic Inputs

Name: Run Model with Dunamic Inputs
Typ: @n8n/n8n-nodes-langchain.lmChatOpenAi
Funktion: Dieser Knoten führt die LLM-Modelle mit dynamischen Eingaben aus.
Einstellungen: Es wird die Modell-ID aus dem vorherigen Knoten verwendet sowie spezifische Optionen zur Erleichterung der Modelleingaben.

12. Analyze LLM Response Metrics

Name: Analyze LLM Response Metrics
Typ: n8n-nodes-base.code
Funktion: Dieser Knoten analysiert die Modellantworten anhand von Metriken wie Wortanzahl, Lesbarkeitsbewertung usw.
Einstellungen: Enthält JavaScript-Code zur Durchführung der erforderlichen Berechnungen und Analysen.

13. Save Results to Google Sheets

Name: Save Results to Google Sheets
Typ: n8n-nodes-base.googleSheets
Funktion: Speichert die Ergebnisse der Modellanalysen in einem Google Sheet.
Einstellungen: Der Knoten ist konfiguriert, um verschiedene Metriken in die Spalten der Google-Tabelle einzugeben.

14. Capture End Time

Name: Capture End Time
Typ: n8n-nodes-base.dateTime
Funktion: Erfasst den Endzeitpunkt der Chat-Aktion.
Einstellungen: Es gibt keine besonderen Parameter, die hier konfiguriert werden müssen.

15. Capture Start Time

Name: Capture Start Time
Typ: n8n-nodes-base.dateTime
Funktion: Erfasst den Startzeitpunkt der Chat-Aktion.
Einstellungen: Es gibt keine besonderen Parameter, die hier konfiguriert werden müssen.

16. Prepare Data for Analysis

Name: Prepare Data for Analysis
Typ: n8n-nodes-base.set
Funktion: Bereitet die Daten für die Analyse vor, indem die erforderlichen Werte für die Analyse gesammelt und strukturiert werden.
Einstellungen: Parameter werden verwendet, um die nicht benötigten Eingabefelder auszuwählen.

17. Extract Model IDsto Run Separately

Name: Extract Model IDsto Run Separately
Typ: n8n-nodes-base.splitOut
Funktion: Teilt die Liste der Modelle für die Verarbeitung in separaten Instanzen.
Einstellungen: Das Feld, das aufgeteilt werden soll, ist „data“.

18. Sticky Note7

Name: Sticky Note7
Typ: n8n-nodes-base.stickyNote
Funktion: Diese Notiz bietet einen optionalen Hinweis, dass der Google Sheets Knoten entfernt werden kann, um die Ergebnisse manuell zu überprüfen.
Einstellungen: Keine besonderen Parameter.

19. Add System Prompt

Name: Add System Prompt
Typ: n8n-nodes-base.set
Funktion: Fügt einen System-Prompt hinzu, der die Modelle steuert.
Einstellungen: Der System-Prompt ist konfiguriert als: „Ensure that messages are concise and to the point readable by a 5th grader.“

20. LLM Response Analysis

Name: LLM Response Analysis
Typ: @n8n/n8n-nodes-langchain.chainLlm
Funktion: Analysiert die Antwort des LLMs, basierend auf dem empfangenen Chat-Eingang und dem hinzugefügten System-Prompt.
Einstellungen: Nutzt die Daten des eingehenden Chats.

Ergebnis

Nach der Ausführung dieses Workflows werden die Ergebnisse in Google Sheets gespeichert, wodurch eine umfassende Analyse der Sprachmodelle möglich ist. Die Benutzer können leicht sehen, wie die Modelle auf verschiedene Eingaben reagieren und deren Effektivität anhand der bereitgestellten Metriken bewerten.

Hier ist der Download-Link für den Workflow.

Facebook
Twitter
LinkedIn

Andere Projekte