Die Technologie der künstlichen Intelligenz entwickelt sich ständig weiter, und die Chat-Anwendungen werden von Tag zu Tag funktionsreicher. Kürzlich hat die Dify-Plattform ein bemerkenswertes Update auf den Markt gebracht. Die neu veröffentlichte Chat-Anwendung kann visuelle Datenanalysen direkt in den Dialog einbinden und bietet den Nutzern ein intuitiveres und effizienteres Kommunikationserlebnis. Obwohl im Titel des Artikels erwähnt wird, dass die Funktion "so effektiv wie ChatGPT" ist, gibt es immer noch eine Lücke in der tatsächlichen Anwendung, die sich mehr auf die Demonstration der Technologie und die Erkundung der Funktion konzentriert. Dem Artikel fehlt die Erläuterung des Prinzips, empfohlene Lektüre Dify-Workflows und intelligente KI-Assistenten erfinden das Modell zur Übernahme von Unternehmensdaten neu .
ChatGPTs Lösung zur Datenvisualisierung
Was die Datenvisualisierung betrifft, so wurden einige führende KI-Produkte wie ChatGPT aktiv erforscht. Es wird berichtet, dass die Datenvisualisierungslösung von ChatGPT auch Benutzerbefehle in Python-Code umwandelt, der im Hintergrund ausgeführt und dann im Vordergrund angezeigt wird. Das von ChatGPT erzeugte Tortendiagramm hat jedoch Kompatibilitätsprobleme bei der Anzeige auf Chinesisch.
Dify Datenvisualisierungslösung für Low-Code-Plattformen
Dify Die Plattform verfolgt einen anderen Ansatz, indem sie ihren Low-Code-Charakter nutzt, der es den Benutzern ermöglicht, schnell Chat-Anwendungen mit Datenvisualisierungsfunktionen zu erstellen, ohne komplexen Code schreiben zu müssen.
auf der Grundlage von ChatGPT Die Dify-Plattform bietet eine einfache Lösung: Passen Sie den zuvor verwendeten Pandas-Code-Befehl an, um direkt Pyecharts-Code zu erzeugen, der in der Sandbox-Umgebung im Hintergrund ausgeführt wird, und erhalten Sie die erzeugten Bilder oder HTML-Dateien. Dies ist ein relativ einfacher Weg zu erreichen.
In diesem Beitrag werden wir uns jedoch auf Dify konzentrieren, eine Low-Code-Plattform für intelligentes Karosseriedesign, um zu zeigen, wie einfach es ist, Daten zu visualisieren, und wir werden unsere bisherigen Arbeitsabläufe weiter optimieren, um die eingebauten Werkzeuge von Dify voll auszunutzen.
Die Dify-Plattform verfügt über integrierte Diagrammerzeugungswerkzeuge, die Kreis-, Balken- und Liniendiagramme sowie andere Diagrammtypen unterstützen. Die Benutzer können die Parameteranforderungen dieser drei Diagrammwerkzeuge intuitiv verstehen, die alle im String-Format und im gleichen Format vorliegen.
Workflow-Optimierung: Konvertierung von Datenformaten
Um die Ausgabe des Workflows an die Parameteranforderungen des Dify Charting Tools anzupassen, muss der Workflow optimiert werden.
Die folgenden JSON-Daten sind ein Beispiel für die Ausgabe des Workflows aus dem vorherigen Tutorial und liegen in einem Format vor, das nicht direkt im Dify-Diagrammwerkzeug verwendet werden kann.
{"status": "success", "data_result": {"Schools": 2, "Internet": 1, "Logistics": 1, "Hardware": 1, "Educational Institutions": 1, "Traditional Retail": 1, "Traditional Media": 1, "Manufacturing": 1}}
In diesem Fall haben Sie sich entschieden, Python-Code für die Konvertierung des Datenformats zu verwenden. Dazu müssen Sie dem Workflow einen Code-Ausführungsknoten hinzufügen und ihn mit dem entsprechenden Python-Code füllen.
Dieser Python-Code kann mit Hilfe des Big Language Model generiert werden, dem integrierten Code-Generator der Dify-Plattform, der lediglich eine klare Beschreibung der Anforderungen benötigt. Hier ein Beispiel für die Eingabeaufforderungen, die für die Generierung des Codes verwendet werden.
{"status": "success", "data_result": {"school": 2, "internet": 1, "logistics": 1, "hardware": 1, "educational institutions": 1, "traditional retail": 1, "traditional media": 1, "manufacturing": 1}} Schreiben Sie ein Stück Code für die Pytho-Funktion auf der Seite, die json input akzeptiert, alle Schlüsselwerte von data_result in einen String zusammenfügt, wobei jeder Schlüssel mit ";" getrennt wird, und sie der Variablen exl_ key zuweist. result, akzeptiert json input, fügt alle Schlüsselwerte von data_result in einen String ein, trennt jeden Schlüssel mit ";", weist sie der Variablen exl_ key zu, fügt alle Werte von data_result in einen String ein, trennt jeden Wert mit ";", weist sie der Variablen exl_value zu, liefert exl_key exl_value
Es gibt einige kleinere Probleme mit dem Code, der direkt vom Dify-Code-Generator erzeugt wird. So enthält das Rückgabeergebnis nur eine Variable, während das Dify-Tortendiagramm-Tool zwei Variablen benötigt. Daher muss der generierte Code geändert werden, um sicherzustellen, dass die return
Anweisung gibt ein Ergebnis vom Typ Wörterbuch (dict) zurück.
import json
def main(daten: dict) -> dict.
daten = json.loads(daten)
exl_key = ";".join(daten["daten_ergebnis"].schlüssel())
exl_value = ";".join(map(str, daten["daten_ergebnis"].werte()))
return {'exl_key': exl_key, 'exl_value': exl_value}
Es gibt ein mögliches Problem mit dem obigen Code, wenn das vom großen Modell erzeugte Datenformat nicht dem erwarteten entspricht {Schlüssel: Wert, Schlüssel: Wert}
Struktur, wird bei der Codeausführung ein Fehler gemeldet. Dieses Problem wird in einem späteren Artikel untersucht werden, dieser Artikel konzentriert sich zunächst auf die Implementierung der Funktionalität.
Darüber hinaus ist auch das Format der vom Codeausführungsknoten empfangenen Eingabevariablen fehleranfällig. Die Standardeingabe ist ein String, der die Verwendung der json
Bibliothek, um eine erzwungene Typkonvertierung durchzuführen. Andernfalls wird der folgende Fehler auftreten.
Workflow-Betrieb und Ergebnisdarstellung
Der Workflow kann nun vollständig ausgeführt werden, um die endgültigen Ergebnisse zu sehen.
An diesem Punkt wurde der Arbeitsablauf erfolgreich konfiguriert, um Kreisdiagrammergebnisse auf der Grundlage der Datenanalyseanforderungen des Benutzers zu erzeugen.
Workflow-Erweiterungen: Unterstützung für mehrere Diagrammtypen
Wenn der Benutzer jedoch Balkendiagramme oder Liniendiagramme erstellen möchte, muss der aktuelle Arbeitsablauf erweitert werden.
Die Optimierung basiert auf folgenden Ideen: Erstens muss ein Knoten "Parameterextraktion" hinzugefügt werden, damit das große Modell die Notwendigkeit der Visualisierung von Diagrammen, wie z. B. Torten- oder Balkendiagrammen, anhand von Benutzerbefehlen erkennen kann. Zweitens sollte ein "bedingter Verzweigungsknoten" zwischen den Datenverarbeitungs- und Kreisdiagramm-Visualisierungsknoten eingefügt werden, so dass je nach den Ergebnissen der Parameterextraktion verschiedene Verzweigungspfade ausgewählt werden können. Der endgültige Entwurf des Arbeitsablaufs ist in der nachstehenden Abbildung dargestellt.
Im Folgenden wird ausführlich beschrieben, wie der Parameterextraktor konfiguriert wird. Wie Sie aus der Konfigurationsoberfläche ersehen können, enthält sie die folgenden drei Hauptaspekte:
- EingangsvariableGibt an, dass das große Modell Parameter aus dem Text des Benutzerbefehls extrahiert.
- ExtraktionsparameterParameter: Definiert die zu extrahierenden Parameter, d. h. ob die Benutzeranweisung Informationen zum Diagrammtyp enthält. Wenn relevante Informationen extrahiert werden, werden sie einer neuen Variablen zugewiesen
exl_type
. - Richtlinien:: Stichwortwörter, die vom Parameterextraktor an das große Modell gesendet werden. Die Aufgabe der Parameterextraktion ist bei großen Modellen relativ einfach.
Auf diese Weise werden die nachfolgenden "bedingten Verzweigungsknoten" durch das größere Modell auf der Grundlage der extrahierten Parameter modelliert. exl_type
Der Knoten "Bedingte Verzweigung" sieht komplex aus, aber das Prinzip ist einfach. Der Knoten "Bedingte Verzweigung" sieht komplex aus, aber das Prinzip ist einfach: Je nach Art der Diagrammausgabe des großen Modells wählen Sie die entsprechende Verzweigung, um das entsprechende Diagramm zu erstellen.
Anschließend demonstrieren wir, wie der gesamte Arbeitsablauf funktioniert. Die Ergebnisse sind gut und zeigen, dass der Arbeitsablauf auf die Big Model Chat-Anwendung angewendet werden kann.
Veröffentlichung von Workflows als Dify Tools und Integration in Agent-Anwendungen
Um diesen Workflow in Dify zu integrieren, müssen Sie ihn zunächst als integriertes Tool von Dify veröffentlichen. Klicken Sie in der Workflow-Oberfläche auf die Schaltfläche Veröffentlichen in der oberen rechten Ecke und wählen Sie Als Werkzeug veröffentlichen.
Hinweis: Dies ist ein wichtiger Schritt. Als Faustregel gilt, dass bei Workflows, die als Werkzeuge veröffentlicht werden, das Parameterformat auf Texteingabe
Typ. Nur dann wird das große Modell in einer Dify Agent-Anwendung das Werkzeug korrekt über einen Funktionsaufruf aufrufen. Andernfalls wird das große Modell das Werkzeug ignorieren. Daher ist es wichtig, die Eingabevariablen des Workflows wie in der folgenden Abbildung gezeigt anzupassen Texteingabe
Typs, bevor er als Werkzeug veröffentlicht wird.
Sobald Sie die oben genannten Schritte abgeschlossen haben, können Sie den Datenanalyse-Workflow als Funktionsaufruf in Dify integrieren. Als nächstes erstellen Sie eine Agent-Anwendung in Dify. Wenn Sie mit der Agentenanwendung nicht vertraut sind, können Sie zunächst die Schritte befolgen, und dann werden wir ihr Prinzip und ihre Anwendung Schritt für Schritt verstehen. Danach werde ich einen Artikel schreiben, in dem ich die Unterschiede zwischen den verschiedenen Arten von Anwendungen in Dify vergleiche.
Als Nächstes fügen Sie einfach das veröffentlichte Tool zur Agent-Anwendung hinzu. An diesem Punkt ist die Konfiguration abgeschlossen. In der Vorschau und beim Debuggen können Sie das Endergebnis direkt sehen.
Durch die oben genannten Schritte integriert die Dify-Plattform erfolgreich Chat-Anwendungen mit Datenvisualisierungsfunktionen und bietet den Nutzern eine völlig neue interaktive Erfahrung. Mit den Low-Code-Funktionen von Dify können Nutzer schnell leistungsstarke und intelligente Anwendungen erstellen und den Komfort der KI-Technologie genießen, ohne dass sie dafür tiefgreifende Programmierkenntnisse benötigen.