1. Wenn eine Chatnachricht empfangen wird
Dieser Node initiiert den Workflow, wenn eine Chatnachricht empfangen wird. Der Webhook ist so konfiguriert, dass er öffentlich zugänglich ist, wodurch diese Integration mit einem Frontend-Chatbot oder einer Benutzeroberfläche einfacher wird.
2. Informations-Extractor: Benutzerfrage
Dieser Node extrahiert die Benutzerfrage aus der erhaltenen Chatnachricht, ohne die visuellen Elemente zu berücksichtigen. Dies ist wichtig, um klare SQL-Abfragen zu erstellen.
3. AI-Agent
Dieser Node nutzt einen SQL-Agenten, der mit einer Datenbank verbunden ist, um die Benutzeranfrage mithilfe von SQL zu verarbeiten. Die Ausführung erfolgt unter Berücksichtigung der Benutzerfrage und einer vordefinierten Anweisung, die sicherstellt, dass alle SQL-Befehle korrekt sind.
4. Text-Klassifikator – Diagramm erforderlich?
Hier wird überprüft, ob die Benutzerantwort von einem Diagramm profitieren würde. Der Node klassifiziert die Benutzeranfrage in „Diagramm erforderlich“ oder „kein Diagramm erforderlich“.
5. Generierung von Diagrammen
Wenn ein Diagramm benötigt wird, wird ein Unter-Workflow zur Generierung eines Diagramms aufgerufen. Dies geschieht durch einen Aufruf an die OpenAI-API, die eine JSON-Antwort mit den Spezifikationen des Diagramms liefert.
6. OpenAI Chat-Modell
Dieses Modell wird verwendet, um Anfragen zu klassifizieren und die notwendige Antwortvorlage bereitzustellen. Es ermöglicht die Anpassung von Parameter wie Temperatur, um die Kreativität der Antworten zu steuern.
7. HTTP-Anforderung – Diagrammdefinition mit strukturiertem Output
Dieser Node führt eine POST-Anforderung an die OpenAI-API durch, um eine Diagrammdefinition zu erhalten. Die Anfrage enthält spezifische JSON-Parameter für Diagramme, die mit Chart.js und Quickchart.io kompatibel sind.
8. Antwort setzen
Der Set-Node erstellt die endgültige URL für das Diagramm, indem er die von OpenAI generierte Diagrammdefinition an einen Quickchart.io-URL anfügt.
9. Ausführung des Workflows
In diesem Node wird der Workflow, der das Diagramm generiert, ausgeführt und wartet auf die Rückantwort, bevor die endgültige Antwort an den Benutzer gesendet wird.
10. Benutzerfrage + Erste Antwort des Agenten
Dieser Node wird verwendet, um die Benutzerfrage und die erste Antwort des AI-Agenten zu kombinieren, bevor die endgültige Antwort generiert wird.
11. Antwort setzen: Text + Diagramm
Zusätzlich wird der endgültige Text sowie das generierte Diagramm, falls benötigt, noch einmal zusammengefasst und dem Benutzer bereitgestellt.
12. Speicherverwaltung
Um eine Konsistenz in den Antworten zu gewährleisten, wird ein Speicher-Node verwendet, der die aktuellen Benutzerdaten speichert und bei Bedarf abruft.
13. Abschließende Klassen für Textausgaben
Abschließend wird überprüft, welche Textextraktionen und Diagrammausgaben in der endgültigen Antwort enthalten sind. Dies optimiert die Benutzererfahrung.