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 die Antwort von ChatGPT direkt in Labvanced erscheint, wenn ein Teilnehmer einen Prompt schreibt!
Wie unten gezeigt, gibt es einen Chatbereich, in dem die gesamte Historie angezeigt wird, und ein Eingabefeld, in das der Teilnehmer seinen Prompt 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 sich mit den Inhalten vertraut machen und diese leistungsstarke Funktion in Ihre nächste Studie integrieren können!
Hinweis: Um eine Verbindung zu ChatGPT in Ihrer Studie herzustellen, müssen Sie Ihren eigenen, einzigartigen API-Schlüssel im Settings Tab unter Special Features eingeben, der der Open AI Integration gewidmet ist.
Variablen in der ChatGPT-Aufgabe
Variablen halten und speichern aufgezeichnete Daten, einschließlich Zeichenfolgen und numerischen Werten. Sehr oft werden Forscher, die sich mit der Verwendung von Labvanced wohlfühlen, eine Variable direkt vor Ort erstellen, etwa beim Erstellen eines Ereignisses.
Für die Zwecke dieser Demo werden wir die Variablen im Voraus auflisten, wie im kommenden Abschnitt beschrieben:

| Variablenname | Beschreibung |
|---|---|
chatString | Dies ist die Variable, die die gesamte Chat-Zeichenfolge speichert und im Wesentlichen die Zeile im Chat formatiert, die den Prompt des Teilnehmers und die Nachricht von ChatGPT zeigt, was im Abschnitt für Ereignisse weiter erläutert wird. Zusätzliche Variableinstellungen:
|
df | Dies ist eine 2-Spalten .csv-Datei, die als Datenrahmenvariable hochgeladen wird. |
chatGPTAnswer | Diese Variable wird automatisch vom System erkannt, wenn Sie darauf zugreifen [weiter unten erklärt]. Es ist nicht notwendig, sie an diesem Punkt zu erstellen, aber wir listen sie auf, da sie später erwähnt wird. Zusätzliche Variableinstellungen:
|
PromptsLeft | Für diese Demo möchten wir den Teilnehmern 5 Prompts zuweisen. Daher müssen wir eine numerische Variable erstellen, die mit einem Wert von 5 beginnt und dann Ereignisse verwenden, um diesen Zähler jedes Mal zu verringern, wenn ein Prompt an ChatGPT gesendet wird. Zusätzliche Variableinstellungen:
|
Input | Diese Variable wird erstellt, sobald Sie das Eingabefeldobjekt im Editor platzieren. Dies speichert den Wert dessen, was der Teilnehmer als seinen Prompt an ChatGPT eingibt. Zusätzliche Variableinstellungen:
|
Objekte zur Leinwand hinzufügen
Um die Chat-Oberfläche einzurichten und die Anweisungen zu präsentieren, müssen verschiedene Objekttypen zur Leinwand hinzugefügt werden, wie im Folgenden beschrieben.

Anzeigetextobjekte
Anzeigetextobjekte sind für diese ChatGPT-Studie erforderlich, um:
- Anweisungen zu präsentieren
- Die Chat-Historie auf dem Bildschirm anzuzeigen
In dieser Demo haben wir die folgenden Anzeigeelemente erstellt und benannt:
| Anzeigetextname | Beschreibung |
|---|---|
Chat Box | Der Chat Box ist im Wesentlichen der Ort, an dem alle Prompts von den Teilnehmern und die Antworten von ChatGPT in einem chatartigen Format angezeigt werden. Innerhalb dieses Elements gibt es eine verknüpfte Variable namens chatString, die die Chat-Zeichenfolgen der Teilnehmer und die Antworten von ChatGPT anzeigt. Anweisungen: Fügen Sie das Anzeigeelement hinzu, passen Sie die Größe an, ändern Sie den Platzhaltertext in etwas anderes, wie ‘Text’, markieren Sie es, klicken Sie im Texteditor auf das rote [x] oben und wählen Sie die ChatString-Variable aus dem Menü. Der Start value-Text wird jetzt angezeigt. |
Top Instructions | Die Top Instructions enthält die Anweisungen für den Teilnehmer und umfasst eine verknüpfte Variable namens PromptsLeft, die anzeigt, wie viele Prompts der Teilnehmer noch verwenden kann. |
Erstellung eines Chatbox-Effekts
Bevor wir ins Detail gehen, sprechen wir über die Chatbox, in der das Gespräch angezeigt wird.
Da Labvanced eine App ist, die im Browser funktioniert, wird sie von oben nach unten auf dem Bildschirm gerendert. 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 Chattext umgekehrt wird, wobei neuerer Text unten angezeigt wird (wir wollen dies, da das so aussieht, wie Chats im echten Leben aussehen, mit neuen Nachrichten, die unten erscheinen).
Um diesen Effekt zu erstellen, wählen Sie einfach das Chat Box-Objekt aus und scrollen Sie im rechten Bereich, wo die Eigenschaften des Objekts aufgelistet sind, nach unten zum Bereich für Change CSS Properties und fügen Sie diesen Code-Schnipsel ein: p{ height: 300px; overflow: auto; display: flex; flex-direction: column-reverse; padding: 10px }
Dies wird mit der column-reverse CSS-Stiloption erreicht, die letztendlich den Fluss des Textes umkehrt und die neueste Nachricht unten im Chat zeigt, anstatt oben.
So sollte das aussehen:

Sobald Sie diesen Code-Schnipsel eingegeben haben, springt der Name der ChatString-Variablen zum Ende des Objekts.
Mit demselben Object Properties-Panel können Sie auch den Stil der Chatbox anpassen, indem Sie Border-Size und Border-Color zuweisen, wobei im obigen Beispiel Border-Size auf 2 und Border-Color auf schwarz gesetzt ist.
Startwert: Text innerhalb der Chatbox
Im Allgemeinen gibt es, wenn jemand auf ChatGPT zugreift, irgendeine Art von Eingabemeldung, wie 'Hallo, wie kann ich Ihnen heute helfen?' Sie können eine solche Startmeldung hinzufügen, indem Sie auf die erstellte Variable zugreifen (die im Chat Box-Objekt verknüpft ist) und ihr einen Start Value geben, indem Sie ihn im Variable Properties. eingeben.

Wie oben gezeigt, verwenden wir die folgende Startnachricht in dieser Demo: Willkommen! Bitte beginnen Sie mit dem Tippen im Eingabefeld unten, um zu beginnen 😃 <br><br>
Hinweis: Der <br> ist ein HTML-Tag zur Erstellung eines Zeilenumbruchs im Text, sodass eine neue Zeile erstellt wird, wenn eine neue Zeile im Chat erstellt und innerhalb der Chatbox angefügt wird.
Eingabefeld
Das Eingabefeld ist der Ort, an dem der Teilnehmer seinen Prompt schreiben wird, der an ChatGPT gesendet wird. Um eines zu erstellen, fügen Sie einfach ein Eingabobjekt aus dem Objektpanel an der Seite des Editors ein.
Nach dem Einfügen werden Sie aufgefordert, den Namen der mit diesem Objekt verbundenen Variable anzugeben. Für diese Demo haben wir dieses Objekt input genannt.
WICHTIG: Um die Optionen, die mit diesem bestimmten Objekt verbunden sind, weiter zu steuern, stellen Sie im Object Properties-Fenster auf der rechten Seite, wenn dieses Objekt ausgewählt ist, sicher, dass die folgenden Optionen angezeigt werden:
Show Question Header:-Option ist deaktiviertInput typeist ausgewählt, umtext.zu seinFocusedist alstruemarkiert, was das Eingabefeld aktiv macht (d.h., der Teilnehmer muss nicht jedes Mal hineinklicken, um tippen zu können).
Übersicht der Ereignisse
Ereignisse sind in dieser ChatGPT-Studie notwendig, um die folgenden Aktionen durchzuführen:
- Den Prompt des Teilnehmers anzeigen und an ChatGPT senden
- Die Antwort von ChatGPT empfangen und anzeigen
- Die Chat-Zeichenfolgen (geschrieben vom Teilnehmer und erstellt von ChatGPT) aufzeichnen
- Zum nächsten Versuch fortschreiten
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. eine Nachricht an ChatGPT senden und sie im Chat anzeigen
- Eingehendes Ereignis: d.h. eine Nachricht von ChatGPT empfangen und sie im Chat anzeigen
AUSGEHENDES EREIGNIS
Das ausgehende Ereignis bezieht sich auf Aktionen, die stattfinden, wenn der Teilnehmer seine Anfrage an ChatGPT sendet, d.h. es sind die Informationen, die von Labvanced an OpenAI ausgehen.
Mit diesem Ereignis zielen wir darauf ab:
- Den geschriebenen Text aus dem Eingabefeld im Chatbereich anzuzeigen
- Den geschriebenen Prompt des Teilnehmers als Variablen-Daten zu speichern
- Es an ChatGPT zu senden
Auslöser
Der Auslöser, der dieses Ereignis aktiviert, ist der Enter on Input Auslöser-Typ 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 verwendet, wird dieses Ereignis ausgelöst.

Aktionen
Nachdem wir das obige festgelegt haben, machen wir weiter, um die Aktionen zu definieren, die als Ergebnis dieses Auslösers auftreten.
Zusammen wird diese Variable die Anfrage des Teilnehmers (die Eingabe) in ein chatähnliches Format verpacken, indem sie mit dem Text ‚Du:‘ vorangestellt wird und dann ein leerer Raum hinzugefügt wird, um eine neue Zeile zu beginnen.

- Die
Set/Record VariableAktion enthält diechatStringVariable, die wir zuvor erstellt haben. - Es gibt mehrere
ArithmeticOperationen darin, die im Wesentlichen den Effekt eines Chats erzeugen. Wenn Sie Zeichenfolgen-Elemente mit dem (+) kombinieren, fügen Sie sie hinzu und verlängern die Zeichenfolge, indem Sie Variablen und Werte kombinieren. - Hier ist eine Erklärung der Werte innerhalb dieser arithmetischen Operation:
ChatString: Ruft die spezifische Variable auf, und der Rest, der folgt, wird angehängt.You:Ein konstanter Zeichenfolgenwert, den Sie einfach eingeben, um dem Teilnehmer sein Etikett zu geben.input: Die Variable mit dem Nameninput, d.h. das, was der Teilnehmer in das Eingabefeld eingegeben hat, wird jetzt hier im Chatfeld angezeigt.<br><br>: Ein konstanter Zeichenfolgenwert, der angibt, wie eine neue Zeile mit<br>in HTML erstellt wird.
Die zweite Aktion, die wir in diesem Ereignis haben, ist die Send to OpenAI Aktion, die eine API verwendet, um das, was der Teilnehmer geschrieben hat (d.h. die Inhalte 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 ermöglicht haben, 5 Prompts zu senden).

Sobald der Teilnehmer die Eingabetaste drückt, möchten wir, dass er auch zum nächsten Versuch übergeht. Dafür haben wir einen Jump Action verwendet und Next Trial angegeben.

HINWEIS: Wir haben 6 Versuche für diese ChatGPT-Studie erstellt und Sie werden später im Abschnitt unten verstehen, der die aufgezeichneten Daten zeigt. Natürlich gibt es viele Möglichkeiten, wie Versuche genutzt werden können, und für dieses Demo haben wir diesen Ansatz gewählt. Wenn Sie Fragen haben, wenden Sie sich bitte an uns!

EINGEHENDES EREIGNIS
In der Regel dauert es 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 Trigger nutzt die API, um die Antwort von ChatGPT zu empfangen und dann diesen Wert in den 2-Spalten-Datenrahmen (hier df genannt) zu speichern, den wir zuvor erstellt haben.

Aktionen
Nachdem wir das obige festgelegt haben, machen wir weiter, um die Aktionen zu definieren, die als Ergebnis dieses Auslösers auftreten.
Auf ähnliche 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 hier ist, dass wir anstelle von ‚Du:‘ ‚chatGPT:‘ als konstanten Zeichenfolgenwert schreiben, um die Antwort im Chat einzuleiten… und anstelle der ‚input‘ Variablen rufen wir Chat GPT Answer auf, indem wir sie als trigger-spezifischen Wert auswählen, der angezeigt wird, wenn Sie auf das Stiftsymbol klicken.

Die untenstehende Aktion wird auch hinzugefügt, um die ChatGPT-Antwort (die automatisch von der API empfangen wird) als eigenen Wert aufzuzeichnen.

Da die Aufgabe automatisch endet, wenn die Anzahl der Prompts =0 erreicht, möchten wir dem Teilnehmer die Möglichkeit geben, die letzte Antwort von ChatGPT zu lesen, also verzögern wir das Ende des letzten Versuchs um 3000 ms unter Verwendung eines Control Action namens Delayed Action, wobei Requirement Action stipuliert, dass wenn die Variable PromptsLeft gleich 0 ist, das Experiment zum Next Task. fortschreitet.


Abschlussbildschirm und Datenspeicherung - Aufgabe 2
In unserem Fall heißt die nächste Aufgabe ‚Ende‘ und ist ein Dankesbildschirm, auf dem das Experiment so eingerichtet 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
Somit ist der Auslöser On Frame Start:

Aktion
Mit einem weiteren Delayed Action wird Jump Action → Accept / End Session verwendet, um die Daten zu speichern.

Wir verwenden die verzögerte Aktion, da die Studie automatisch schließen/beenden wird, sobald die Zeit abgelaufen ist, und wir den Teilnehmern Zeit geben wollen, das zu lesen, was auf dem Bildschirm steht, bevor die Studie beendet wird.
Aufzeichnung der Datenvorschau der ChatGPT-Demo
Das Bild unten zeigt, wie die Daten dieser Studienausstellung in der Dataview and Export Tab aussehen werden, wobei die Versuchsnummern (Trial_Nr), der Aufgabenname (Task_Name), die ChatGPT-Antworten und die Eingaben der Teilnehmer (input) sowie die verbleibenden Anzahl der Prompts (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 schaffen, während die Eingaben und Antworten als Variablenwerte gespeichert werden.
Es gibt viele Ansätze und Möglichkeiten, wie diese Funktion verwendet werden kann, um eine ChatGPT-Studie aufzubauen. Bitte zögern Sie nicht, uns bei Fragen zu kontaktieren!