Beispiele – Erstellen von Ladeskripten und Diagrammausdrücken für den OpenAI Analysekonnektor
Anhand dieser Beispiele lernen Sie, wie Sie den OpenAI Analysekonnektor verwenden, um mit großen Sprachmodellen zu interagieren. Die Beispiele führen Sie durch grundlegende Übungen und zeigen Ihnen, wie Sie KI-generierte Textinhalte in Ihr Datenmodell und Ihre Diagrammausdrücke integrieren.
In diesen Beispielen verwenden Sie die Konfiguration der OpenAI Chat Completions API des OpenAI Analysekonnektors.
Sie können dieses Beispiel auch mit dem Azure OpenAI-Konnektor bearbeiten. Wenn Sie diesen Konnektor verwenden, interagieren Sie über die Microsoft Azure-Plattform anstelle der OpenAI -Plattform mit dem Modell.
Vor dem Beginn
Bevor Sie dieses Beispiel bearbeiten können, müssen Sie die folgenden Schritte durchführen.
-
Erstellen Sie ein OpenAI Plattformkonto
-
Erhalten Sie ein OpenAI API -Schlüssel
-
Die Analyseverbindungsfunktion aktivieren in Qlik Cloud
-
Verbindungen mit den anwendbaren Konnektorkonfigurationen erstellen
Weitere Informationen finden Sie unter:
Verwenden des OpenAI -Konnektors in Ihrem Ladeskript
Erstellen Sie eine neue Qlik Sense Anwendung, der Sie dann ein Ladeskript hinzufügen, um mit der OpenAI-Plattform zu kommunizieren. Auf die Tabellen, die Sie mit diesem Skript laden, kann im Datenmodell Ihrer Anwendung zugegriffen werden.
Folgen Sie den Schritten unten. Weitere Einzelheiten finden Sie unter Auswählen und Laden von Daten in einer OpenAI-Verbindung.
Erstellen der an OpenAI zu sendenden Datentabelle
Der erste Schritt besteht im Erstellen einer Tabelle mit der Anfrage, die Sie an OpenAI senden möchten. Die Datenzeilen in der Anfrage werden als „Vervollständigungen“ bezeichnet. Der Text für jedes Element muss als Zeilen in einem einzigen Feld (Spalte) in der Tabelle enthalten sein. Jede Zeile in dieser Spalte stellt Text dar, der von der OpenAI API vervollständigt werden soll.
Es kann ein zweites zusätzliches Feld als Verknüpfungsfeld geben, aber dies muss mit dem in der Konfiguration angegebenen Feldnamen übereinstimmen. Es handelt sich um ein besonderes Feld, das nicht an OpenAI gesendet, sondern an die Antworten angehängt wird, um ein Qlik Datenmodell zu generieren.
Öffnen Sie in Ihrer Anwendung den Dateneditor und fügen Sie folgenden Code in einen neuen Skriptabschnitt ein:
SourceTable:
NoConcatenate
LOAD
RowNo() as RowId,
Text
Inline
[Text
translate from English to French: What is the time you go to work?];
Diese Tabelle enthält ein Feld mit dem Namen Text und einer einzelnen Frage, die an OpenAI gestellt wird. Weitere Fragen könnten als neue einzelne Zellen unter der Zelle der vorhandenen Frage hinzugefügt werden. Das Feld RowId ist das Verknüpfungsfeld, das im nächsten Schritt verwendet wird, um die Antworten mit dem Datenmodell der Anwendung zu verknüpfen.
Erstellen der load-Anweisung für OpenAI
Als nächster Schritt wird eine weitere load-Anweisung erstellt, um mit OpenAI zu kommunizieren. Die Tabelle, die Sie mit dieser Anweisung laden, zeigt auf die Namen der Tabelle und Felder, die Sie zum Senden der Anfragedaten verwenden. Das Skript lädt also eine zweite Tabelle, um die Antworten von OpenAI auf Ihre Anfrageelemente bereitzustellen.
Um diesen Teil des Skripts zu generieren, können Sie den Assistenten Daten auswählen für die verwendete Verbindung nutzen. Damit wird ein Vorlagenskript generiert, das die Namen der bereitgestellten Eigenschaften enthält. Alternativ können Sie diese Tabelle manuell in den Skript-Editor einfügen, ohne den Assistenten zu verwenden.
Suchen Sie die verwendete Verbindung im Fenster Datenquellen des Dateneditors und klicken Sie auf . Damit wird der Assistent Daten auswählen geöffnet.
Schaltfläche Daten auswählen für eine Analyseverbindung im Dateneditor
Wenn Sie den Assistenten Daten auswählen verwenden, müssen Sie zwei Eigenschaften bereitstellen:
-
Der Name der Resident-Tabelle. Dies ist die Tabelle mit den Fragen, die an OpenAI gesendet werden. In diesem Fall handelt es sich um SourceTable.
-
Der Name des Datenfelds. Dies ist das Feld mit den Fragen, die an OpenAI gesendet werden. In diesem Fall handelt es sich um Text.
Aktivieren Sie unter Tabellen das Kontrollkästchen für die Tabelle mit dem Namen openai.
Assistent Daten auswählen im Dateneditor
Wenn Sie auf Skript einfügen klicken, wird die neue Tabelle zum Ladeskript hinzugefügt.
Nachdem die load-Anweisung für OpenAI hinzugefügt wurde, sollte Ihr Ladeskript wie folgt aussehen:
Sie sind jetzt bereit, das Ladeskript auszuführen.
Laden von Daten in die Anwendung
Klicken Sie nach Abschluss des Skripts auf Daten laden. Dadurch wird die Kommunikation mit OpenAI hergestellt und die Tabellen werden in das Datenmodell Ihrer Anwendung eingefügt.
Öffnen Sie die Datenmodellansicht. Dort sehen Sie, dass die beiden Tabellen wie erwartet miteinander verknüpft sind. Im Fenster Vorschau ist die OpenAI-Antwort auf die von uns gestellte Frage in der zweiten Tabelle enthalten.
Von der OpenAI-Verbindung erstelltes Datenmodell
Sie können jetzt Analyseinhalte mithilfe der Daten generieren, die in die Anwendung geladen wurden. Sie müssen sich nicht auf die OpenAI Verbindung in Diagrammen beziehen, die Sie mithilfe dieser Daten erstellen. Informationen dazu, wie Sie die OpenAI -Verbindung direkt in Diagrammformeln anstelle des Ladeskripts verwenden, finden Sie unter Verwenden des OpenAI -Konnektors in Diagrammformeln.
Verwenden des OpenAI -Konnektors in Diagrammformeln
Sie können OpenAI-Fragen und -Antworten nicht nur über das Ladeskript zum Datenmodell Ihrer Anwendung hinzufügen, sondern diese Vorgänge auch direkt in einem Diagramm in Ihrer Anwendung durchführen. Dies kann eine Alternative zur Verwendung von Tabellen im Ladeskript sein, um mit OpenAI zu kommunizieren.
Daten für ein einzelnes Feld werden zwischen Ihnen und OpenAI hin und her gesendet. In vielen Fällen kann der für die Ladeskriptverbindung genutzte Code für ein Diagramm wiederverwendet werden, mit einigen wichtigen Ausnahmen.
Weitere Einzelheiten finden Sie unter Verwenden von OpenAI-Verbindungen in Visualisierungsformeln.
Überlegungen zu Datenanfragemengen
Es wird empfohlen, OpenAI-Verbindungen in Diagrammformeln nur für eine oder wenige Datenzeilen zu verwenden. Diagrammformeln sollten nicht dazu verwendet werden, große Datenmengen an OpenAI zu senden.
Achten Sie unbedingt darauf, wie viele Zeilen Sie mit jeder Anfrage senden. Fehler beim Konfigurieren der Verbindung in einer Diagrammformel können zu unbeabsichtigt großen Anfragen führen (z. B. identische Zeilen mit der gleichen Frage, weil das Datenmodell in einem Diagramm falsch verwendet wurde). Bevor Sie mit einer Drittplattform interagieren, müssen Sie sich damit vertraut machen, wie die Felder, die in der Berechnung der Diagrammformel verwendet werden, und ihre Position im Datenmodell sich auf Ihre Zahlungs- und Abrechnungsvereinbarungen mit dem Dritten auswirken. Eine stärkere Nutzung der externen Plattform kann zu höheren Kosten führen.
Befolgen Sie die folgenden Leitlinien, um die Größe Ihrer Anfragen einzuschränken:
-
Wenn Sie mit Diagrammformeln arbeiten, verwenden Sie die Verbindung nur in einem Text-Objekt (aus dem Dashboard bundle). Es wird dringend davon abgeraten, eine OpenAI-Verbindung in einem Tabellen-Objekt zu verwenden, besonders, wenn Sie die Formel zu einer Tabelle hinzufügen, der bereits eine oder mehrere Dimensionen hinzugefügt wurden.
-
Wenn die Diagrammformel mit dem Datenmodell Ihrer Anwendung verknüpft ist, verwenden Sie eine if-Anweisung in der Formel, um das Diagramm nur zu berechnen, wenn eine einzelne Auswahl in der Anwendung getroffen wird. Dies führt zu einer drastischen Reduzierung der Zeilenanzahl in den Anfragen, die Ihr Diagramm an OpenAI sendetd.
-
Wenn Sie eine OpenAI-Verbindung zum Senden großer Anfragen verwenden, sollten Sie die Verbindung in Ihrem Ladeskript statt in einer Diagrammformel nutzen, damit die Daten vorab in Ihr Datenmodell geladen werden.
Übung: Erstellen einer grundlegenden Diagrammformel
Gehen Sie folgendermaßen vor:
-
Erstellen Sie eine Qlik Sense Anwendung und öffnen Sie ein neues Arbeitsblatt im Bearbeitungsmodus.
InformationshinweisDie Analyseverbindung, die Sie für die Diagrammformel verwenden, muss bereits in dem Bereich erstellt worden sein, in dem Sie die Anwendung erstellen. Dies geschieht im Dateneditor in einer Anwendung oder über die Seite „Erstellen“ des Aktivitätscenters Analysen. Weitere Informationen finden Sie unter Erstellen einer OpenAI-Verbindung. -
Öffnen Sie im Fenster „Extras“ die Option Diagramme.
-
Unter Dashboard-Objekte ziehen Sie ein Objekt vom Typ Text in das Arbeitsblatt.
-
Fügen Sie im Eigenschaftsfenster unter Daten > Kennzahlen eine Kennzahl hinzu und klicken Sie auf
, um den Formel-Editor zu öffnen.
-
Fügen Sie die folgende Formel in den Formel-Editor ein:
endpoints.ScriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI_Examples_Intro","column":"choices.message.content"}}', 'Translate this text from english to spanish: The sun was rising over the new tomorrow with a tinge of excitement.')InformationshinweisIn diesem Beispiel ist es akzeptabel, keinen if-Befehl zu verwenden, da wir nur eine einzelne Datenzeile senden und keine Verbindung zu einem Datenmodell besteht. In anderen Szenarios sollten Sie einen if-Befehl verwenden, um zu gewährleisten, dass das Diagramm nur dann berechnet wird, wenn ein einzelner Feldwert in der Anwendung ausgewählt wird. Beispiele finden Sie unter Kurze Beispiele.InformationshinweisDamit dieser exakte Code in Ihrer Anwendung korrekt funktioniert, muss Ihre OpenAI-Verbindung auch mit dem gleichen Wert für Name wie dem in der Formel angegebenen connectionname konfiguriert sein. Die für dieses Tutorial verwendeten Werte finden Sie unter Erstellen der Verbindungen. -
Klicken Sie auf Übernehmen.
Qlik SenseText-Objekt mit OpenAI-Antwort
Übung: Erstellen eines Texteingabefelds mithilfe einer Variablen
Alternativ können Sie die Fragenzeichenfolge durch den Namen einer Variablen ersetzen, die Sie in der Anwendung erstellt haben. Damit kann ein Eingabefeld erstellt werden, in dem Anwendungsnutzer ihre eigenen Fragen eingeben können, ohne mit Formeln zu interagieren.
Diese einfache Schnittstelle kann genutzt werden, um Ihre Anwendungsdaten mit in Echtzeit generierten Kontextdaten zu erweitern.
Gehen Sie folgendermaßen vor:
-
Erstellen Sie eine Anwendung und fügen Sie einem neuen Arbeitsblatt Daten und Visualisierungen hinzu.
-
Klicken Sie auf
, um eine Variable zu erstellen. Geben Sie für diese Übung als Name vUserQuestion ein. Lassen Sie die restlichen Parameter leer.
-
Ziehen Sie aus dem Extras-Fenster ein Variableneingabe-Diagramm auf das Arbeitsblatt. Es befindet sich unter
Benutzerdefinierte Objekte > Qlik Dashboard Bundle.
-
Erweitern Sie im Eigenschaftsfenster für das Variableneingabe-Diagramm Darstellung > Variable.
-
Wählen Sie unter Name den Eintrag vUserQuestion aus.
-
Wählen Sie unter Anzeigen als die Option Eingabefeld aus.
-
Ziehen Sie im Extras-Fenster unter
Benutzerdefinierte Objekte > QlikDashboard-Bundle ein Text-Objekt auf das Arbeitsblatt.
-
Fügen Sie im Eigenschaftsfenster unter Daten > Kennzahlen eine Kennzahl hinzu und klicken Sie auf
, um den Formel-Editor zu öffnen.
-
Fügen Sie die folgende Formel in den Formel-Editor ein:
if(vUserQuestion <> '', endpoints.scriptAggrStr('{"RequestType":"endpoint", "endpoint":{"connectionname":"OpenAI_Examples_Intro","column":"choices.message.content"}}',vUserQuestion))InformationshinweisDamit dieser exakte Code in Ihrer Anwendung korrekt funktioniert, muss Ihre OpenAI-Verbindung auch mit dem gleichen Wert für Name wie dem in der Formel angegebenen connectionname konfiguriert sein. Die für dieses Tutorial verwendeten Werte finden Sie unter Erstellen der Verbindungen. -
Klicken Sie auf Übernehmen.
-
Passen Sie die Größe dieser Eingabe- und Antwortfelder wie erforderlich an.
Jetzt können Sie den Bearbeitungsmodus verlassen und eine Frage in das Eingabefeld eingeben. Wenn Sie die Eingabetaste drücken oder auf eine beliebige andere Stelle des Arbeitsblatts klicken, wird das Antwortfeld mit einer Antwort von OpenAI ausgefüllt.
Einfaches Arbeitsblatt mit generischen Daten und Eingabefeld, über das Fragen an OpenAI gestellt werden können
In dieser Übung kommuniziert die OpenAI-Verbindung nicht mit dem Datenmodell der Anwendung, aber es können wesentlich komplexere Anwendungen erstellt werden, die vollständig in die in der Anwendung geladenen Daten integriert sind und auf die in der Anwendung getroffenen Auswahlen reagieren.
Weitere Informationen zum Arbeiten mit Variablen finden Sie unter Erstellen einer Variablen und Variableneingabe-Steuerelement.
Unterschiede zwischen dem Ladeskript- und Diagrammformelcode
In diesen Diagrammformeln haben wir den Code genutzt, der in der vorherigen Lektion zum Ladeskript eingegeben wurde. In der folgenden Liste werden die wichtigsten Unterschiede zwischen der Ladeskriptversion und den Diagrammformeln hervorgehoben:
-
Wir haben ScriptEval zu ScriptAggrStr geändert. Dies zeigt, dass wir eine einzelne Datenzeile senden und eine einzelne Zeile als Antwort erwarten. Das ist erforderlich, wenn mit benutzerdefinierten Daten wie einer Variablen oder Konstanten gearbeitet wird, wie es hier der Fall ist. Das „Str“ gibt an, dass wir Textwerte senden und erhalten.
-
Wir fügen eine neue Eigenschaft column mit dem Wert choices.message.content hinzu. Sie ist im endpoint-Objekt verschachtelt. Diese Hinzufügung zur Konfigurationszeichenfolge ist erforderlich, um anzugeben, welches Feld vom Konnektor zurückgegeben werden soll. In einer Diagrammformel wird nur ein Feld verwendet, und wir müssen angeben, welches.
Weitere Informationen finden Sie unter Syntax für serverseitige Erweiterungen.