ChatGPT-Studie | Leitfaden
Übersicht
In dieser ChatGPT-Demo, die Sie auch in Ihr Konto importieren und als Vorlage für den Aufbau Ihrer ChatGPT-Studie verwenden können, sehen Sie, dass, wenn ein Teilnehmer eine Eingabe schreibt, die Antwort von ChatGPT direkt in Labvanced erscheint!
Wie unten gezeigt, gibt es einen Chatbereich, in dem die gesamte Historie angezeigt wird, und ein Eingabefeld, in dem der Teilnehmer seine Eingabe schreibt:

So sieht die Demo in Aktion aus, zusammen mit den aufgezeichneten Daten, die am Ende des Videos angezeigt werden:
In diesem Leitfaden werden wir Schritt für Schritt besprechen, wie Sie eine ChatGPT-Studie einrichten, damit Sie mit den Inhalten vertraut werden und diese leistungsstarke Funktion in Ihre nächste Studie einbeziehen können!
Hinweis: Um eine Verbindung mit ChatGPT in Ihrer Studie herzustellen, müssen Sie Ihren eigenen, einzigartigen API-Schlüssel im Tab Studieneinstellungen
unter der Spalte Experimentfunktionen
eingeben, indem Sie die Option für Open AI-Integration aktivieren.
Variablen in der ChatGPT-Aufgabe
Variablen halten und speichern aufgezeichnete Daten, einschließlich Zeichenfolgen- und numerischer Werte. Sehr oft erstellen Forscher, die mit der Verwendung von Labvanced vertraut sind, eine Variable direkt vor Ort, wie beim Erstellen eines Ereignisses.
Für die Zwecke dieser Demo werden wir die Variablen im Voraus auflisten, wie im folgenden Abschnitt beschrieben:

Variablenname | Beschreibung |
---|---|
chatString | Dies ist die Variable, die die gesamte Chat-Zeichenfolge speichert und im Wesentlichen die Zeile im Chat formatiert, die die Eingabe des Teilnehmers und die Nachricht von ChatGPT anzeigt, was im Detail im Abschnitt über die Ereignisse unten erklärt wird. Zusätzliche Variablen Einstellungen:
|
df | Dies ist eine .csv-Datei mit 2 Spalten, die als Datenrahmenvariablen hochgeladen wird. |
chatGPTAnswer | Diese Variable wird vom System automatisch erkannt, wenn Sie auf sie zugreifen [weiter unten erklärt]. Es ist nicht erforderlich, sie zu diesem Zeitpunkt zu erstellen, aber wir listen sie auf, da sie später erwähnt wird. Zusätzliche Variablen Einstellungen:
|
PromptsLeft | Für diese Demo möchten wir den Teilnehmern 5 Eingaben gewähren. Daher müssen wir eine numerische Variable erstellen, die mit einem Wert von 5 beginnt und dann Ereignisse verwendet, um diesen Zähler jedes Mal zu verringern, wenn eine Eingabe an ChatGPT gesendet wird. Zusätzliche Variablen Einstellungen:
|
Input | Diese Variable wird erstellt, sobald Sie das Eingabefeldobjekt in den Editor eingefügt haben. Diese speichert den Wert dessen, was der Teilnehmer als Eingabe an ChatGPT eingibt. Zusätzliche Variablen Einstellungen:
|
Objekte zur Leinwand hinzufügen
Um die Chat-Oberfläche einzurichten und die Anweisungen zu präsentieren, müssen mehrere verschiedene Arten von Objekten zur Leinwand hinzugefügt werden, wie weiter unten beschrieben.
Anzeigetext-Objekte
Anzeigetext-Objekte sind für diese ChatGPT-Studie notwendig, um:
- Anweisungen anzuzeigen
- Die Chat-Historie auf dem Bildschirm anzuzeigen
In dieser Demo haben wir die folgenden Anzeigeelemente erstellt und benannt:
Anzeigetext-Name | Beschreibung |
---|---|
Chat Box | Die Chat Box ist im Wesentlichen der Ort, an dem alle Eingaben des Teilnehmers und die Antworten von ChatGPT in einem chat-ähnlichen Format erscheinen. Innerhalb dieses Elements gibt es eine verknüpfte Variable namens chatString , die die Chat-Zeichenfolgen des Teilnehmers und die ChatGPT-Antworten anzeigt. Richtlinien: Fügen Sie das Anzeigeelement hinzu, ändern Sie die Größe, sodass es groß ist, ändern Sie die Platzhaltertext, um etwas anderes wie ‘text’ anzuzeigen, markieren Sie es und klicken Sie im Texteditor auf das rote [x] oben und wählen Sie die Variable ChatString aus dem Menü. Der Text Startwert erscheint jetzt. |
Top Instructions | Die Top Instructions enthalten die Anweisungen für den Teilnehmer und umfassen eine verlinkte Variable namens PromptsLeft , die anzeigt, wie viele Eingaben der Teilnehmer noch verwenden kann. |
Erstellung eines Chat-Box-Effekts
Bevor wir tiefer eintauchen, lassen Sie uns über die Chat-Box sprechen, in der das Gespräch angezeigt wird.
Da Labvanced eine Anwendung ist, die im Browser arbeitet, rendert sie von oben nach unten. Dies beeinflusst, wie Informationen präsentiert werden. Um einen chat-ähnlichen Effekt zu erzeugen, müssen wir einen CSS-Befehl für das Chat Box
-Objekt eingeben, damit der Chat-Text umgekehrt wird, wobei neuerer Text unten angezeigt wird (das wollen wir, da dies der realen Chat-Darstellung entspricht, bei der neue Nachrichten am Ende erscheinen).
Um diesen Effekt zu erstellen, wählen Sie einfach das Chat Box
-Objekt aus, und gehen Sie im rechten Panel, wo die Objektattribute aufgelistet sind, zum Bereich CSS-Eigenschaften ändern
und fügen Sie diesen Codeabschnitt ein: p{ height: 300px; overflow: auto; display: flex; flex-direction: column-reverse; padding: 10px }
Dies geschieht mit der CSS-Stiloption column-reverse
, die im Wesentlichen den Fluss des Textes umkehrt und letztendlich die neueste Nachricht am unteren Ende des Chats anzeigt, anstatt oben.
Das sollte so aussehen:
Sobald Sie diesen Codeabschnitt eingeben, springt der Name der ChatString
-Variablen an den unteren Rand des Objekts.
Mit demselben Objekteigenschaften
-Panel können Sie auch den Stil der Chat-Box festlegen, indem Sie eine Randgröße
und Randfarbe
zuweisen, die im obigen Beispiel auf 2 (Randgröße) und schwarz (Randfarbe) eingestellt sind.
Startwert: Text in der Chat-Box
Allgemein gesagt, wenn jemand auf ChatGPT zugreift, gibt es eine Art Eingabemeldung, die in der Art von ‚Hallo, wie kann ich Ihnen heute helfen?‘ formuliert ist. Sie können eine solche Startnachricht hinzufügen, indem Sie auf die erstellte Variable (die innerhalb des Chat Box
-Objekts verknüpft ist) zugreifen und ihr einen Startwert
geben, indem Sie ihn unter Variablenattribute
eingeben.
Wie oben gezeigt, verwenden wir die folgende Startnachricht in dieser Demo: Willkommen! Bitte beginnen Sie mit dem Schreiben im untenstehenden Eingabefeld : ) <br><br>
Hinweis: Das <br>
ist ein HTML-Tag zur Erstellung eines Zeilenumbruchs im Text, damit eine neue Zeile erstellt wird, wenn eine neue Zeile im Chat erstellt und in der Chat-Box angehängt wird.
Eingabefeld
Das Eingabefeld ist der Ort, an dem der Teilnehmer seine Eingabe schreiben wird, die an ChatGPT gesendet wird. Um eines zu erstellen, fügen Sie einfach ein Eingabeobjekt aus dem Objektpanel auf der Seite des Editors ein.
Beim Einfügen werden Sie aufgefordert, den Namen der Variable anzugeben, die mit diesem Objekt verknüpft ist. Für diese Demo haben wir dieses Objekt input
genannt.
WICHTIG: Um die Optionen dieses speziellen Objekts weiter zu steuern, stellen Sie im rechten Panel Objekteigenschaften
sicher, dass die folgenden Optionen angegeben sind:
Fragenkopf anzeigen:
Option ist nicht ausgewähltEingabetyp
ist auftext
eingestellt.Fokussiert
ist auftrue
markiert, sodass das Eingabefeld aktiv ist (d. h. der Teilnehmer muss nicht jedes Mal hineinklicken, um tippen zu können).
Ereignisübersicht
Ereignisse sind in dieser ChatGPT-Studie notwendig, um die folgenden Aktionen auszuführen:
- Die Eingabe des Teilnehmers an ChatGPT anzeigen und senden
- Die Antwort von ChatGPT empfangen und anzeigen
- Die Chat-Zeichenfolgen (geschrieben vom Teilnehmer und erstellt von ChatGPT) aufzeichnen
- Zum nächsten Versuch übergehen
Für die Zwecke dieses Leitfadens haben wir zwei Hauptereignisse erstellt und benannt, unter denen die oben genannten Aktionen behandelt werden:
- Ausgehendes Ereignis: d. h. das Senden einer Nachricht an ChatGPT und die Anzeige im Chat
- Eingehendes Ereignis: d. h. das Empfangen einer Nachricht von ChatGPT und die Anzeige im Chat
AUSGEHENDES EREIGNIS
Das ausgehende Ereignis bezieht sich auf Aktionen, die stattfinden, wenn der Teilnehmer seine Anfrage an ChatGPT sendet, d. h. es ist die Information, die von Labvanced an OpenAI ausgeht.
Mit diesem Ereignis haben wir das Ziel:
- Den geschriebenen Text aus dem Eingabefeld im Chatbereich anzuzeigen
- Die geschriebene Eingabe des Teilnehmers als Variablenwert zu speichern
- Sie an ChatGPT zu senden
Auslöser
Der Auslöser, der dieses Ereignis aktiviert, ist der Enter bei Eingabe
-Auslöser mit dem spezifischen Ziel, das input
-Objekt, das wir zuvor erstellt haben. Wenn der Teilnehmer also die Eingabetaste drückt, während er dieses Objekt benutzt, wird dieses Ereignis ausgelöst.
Aktionen
Nachdem das oben Genannte festgelegt wurde, gehen wir weiter, um die Aktionen zu definieren, die als Ergebnis dieses Auslösers stattfinden.
Zusammen wird diese Variable die Anfrage des Teilnehmers (die Eingabe) in ein chat-ähnliches Format verpacken, indem sie mit dem Text ‚You:‘ vorangestellt wird und dann ein Zeilenumbruch hinzugefügt wird.
- Die Aktion
Variable setzen/Aufzeichnen
enthält die zuvor erstellte VariablechatString
. - Es gibt mehrere
arithmetische
Operationen darin, die im Wesentlichen den Effekt eines Chats erzeugen. Wenn Sie Zeichenfolgen-Elemente mit (+) kombinieren, fügen Sie hinzu und verlängern die Zeichenfolge, indem Sie Variablen und Werte kombinieren. - Hier eine Erklärung der Werte innerhalb dieser arithmetischen Operation:
ChatString
: Ruft die spezifische Variable auf, und der Rest, der folgt, wird daran angehängt.You:
Ein konstanter Zeichenfolgenwert, den Sie eingeben, um dem Teilnehmer ihr Label zu geben.input
: DieVariable namensinput
, d.h. was der Teilnehmer in das Eingabefeld eingegeben hat, wird nun hier im Chat angezeigt.<br><br>
: Ein konstanter Zeichenfolgenwert, wie eine neue Zeile mithilfe von HTML<br>
erstellt wird.
Die zweite Aktion in diesem Ereignis ist die An OpenAI senden
-Aktion, die eine API nutzt, um das, was der Teilnehmer geschrieben hat (d.h. den Inhalt der input
-Variable), an OpenAI zu senden.
Wir möchten auch den Variablenwert von PromptsLeft um 1 verringern (denken Sie daran, dass wir zu Beginn dem Teilnehmer gestattet haben, 5 Eingaben zu senden).
Sobald der Teilnehmer die Eingabetaste drückt, möchten wir, dass er zum nächsten Versuch übergeht. Daher haben wir eine Sprungaktion
verwendet und Nächster Versuch
angegeben.
HINWEIS: Wir haben 6 Versuche für diese ChatGPT-Studie erstellt, und Sie werden später im Abschnitt unten verstehen, dass die aufgezeichneten Daten angezeigt werden. Natürlich gibt es viele Möglichkeiten, wie mit den Versuchen umgegangen werden kann, und für diese Demo haben wir diesen Ansatz gewählt. Wenn Sie Fragen haben, wenden Sie sich bitte an uns!
EINGEHENDES EREIGNIS
Typischerweise dauert es einige Zeit, etwa 100-500 Millisekunden, um eine Antwort von ChatGPT zu erhalten. Sobald die Antwort empfangen wird, kann sie als Auslöser verwendet werden, um:
- Die Antwort als gespeicherte Variable aufzuzeichnen
- Die Antwort visuell im Chat darzustellen
- Zum nächsten Versuch zu navigieren
Auslöser
Der OpenAI-Auslöser
nutzt die API, um die Antwort von ChatGPT zu erhalten und diesen Wert in den zuvor erstellten 2-spaltigen Datenrahmen (hier df
genannt) zu speichern.
Aktionen
Nachdem dies festgelegt wurde, gehen wir weiter, um die Aktionen zu definieren, die als Ergebnis dieses Auslösers erfolgen.
In ähnlicher Weise, wie wir die Eingabe des Teilnehmers im vorherigen Schritt angezeigt haben, werden wir nun dasselbe tun, um die Antwort von ChatGPT im Chat anzuzeigen.
Der Unterschied besteht darin, dass wir anstelle von ‚You:‘ ‚chatGPT:‘ als konstanten Zeichenfolgenwert einfügen, um die Antwort im Chat einzuleiten … und anstelle der ‚input‘-Variable rufen wir die chatGPTAnswer
auf, indem wir sie als auslöserspezifischen Wert auswählen, die aufgelistet wird, wenn Sie auf das Stiftsymbol klicken.
Die folgende Aktion wird ebenfalls hinzugefügt, um die Antwort von ChatGPT (die automatisch von der API empfangen wird) als eigenen Wert aufzuzeichnen.
Da die Aufgabe automatisch endet, wenn die Anzahl der Eingaben = 0 erreicht, möchten wir dem Teilnehmer die Möglichkeit geben, die letzte Antwort von ChatGPT zu lesen. Daher verzögern wir das Ende des letzten Versuchs um 3000 ms mit einer Steueraktion
namens Verzögerte Aktion
, bei der die Anforderungsaktion
angibt, dass, wenn die Variable PromptsLeft gleich 0 ist, das Experiment zum Nächsten Task
übergeht.
Endbildschirm und Datenspeicherung - Aufgabe 2
In unserem Fall heißt die nächste Aufgabe ‚Ende‘ und ist ein Dankeschön-Bildschirm, wo das Experiment so eingestellt ist, dass es die Sitzung akzeptiert, d. h. die Studie ist beendet.
Sitzung akzeptieren Ereignis
Um die Daten aus der Studie zu speichern, möchten wir die Sitzung akzeptieren und die Studie beenden, wenn der Teilnehmer diesen Punkt erreicht.
Auslöser
Der Auslöser ist daher Bei Frame-Start
:
Aktion
Mit einer weiteren Verzögerten Aktion
wird die Sprungaktion
→ Sitzung akzeptieren / beenden
verwendet, um die Daten zu speichern.
Wir verwenden die verzögerte Aktion, weil die Studie automatisch schließt/endet, nachdem die Zeit vergangen ist, und wir möchten den Teilnehmern die Zeit geben, um zu lesen, was auf dem Bildschirm steht, bevor die Studie endet.
Vorschau der aufgezeichneten Daten der ChatGPT-Demo
Das folgende Bild zeigt, wie die Daten aus diesem Studiensatz im Datenansicht und Export-Tab
aussehen werden, wo die Versuchsnummern (Trial_Nr), der Aufgabenname (Task_Name), ChatGPT-Antworten und Teilnehmereingaben (input) sowie die Anzahl der verbleibenden Eingaben (PromptsLeft) angezeigt werden:
Fazit
Alles in allem zeigt diese Demo, wie Sie die ChatGPT-Funktion nutzen können, um eine Interaktion und einen Dialog zwischen dem Teilnehmer und ChatGPT zu erstellen, während Sie die Eingaben und Antworten als Variablenwerte speichern.
Es gibt viele Ansätze und Möglichkeiten, wie diese Funktion genutzt werden kann, um eine ChatGPT-Studie zu erstellen. Wenden Sie sich daher bitte an uns, wenn Sie Fragen haben!