ChatGPT-Studie | Leitfaden
Überblick
In dieser ChatGPT-Demo, die Sie auch in Ihr Konto importieren und als Vorlage für Ihre 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 zusammen mit den am Ende des Videos angezeigten aufgezeichneten Daten aus:
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 dieses leistungsstarke Feature 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 Tab Einstellungen unter Besondere Funktionen eingeben, die für die Open AI-Integration vorgesehen sind.
Variablen in der ChatGPT-Aufgabe
Variablen halten und speichern aufgezeichnete Daten, einschließlich Zeichenfolgen und numerischer Werte. Sehr oft erstellen Forscher, die mit Labvanced vertraut sind, eine Variable direkt vor Ort, wie bei der Erstellung 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 speichern wird und im Wesentlichen die Zeile im Chat formatiert, die die Eingabe des Teilnehmers und die Nachricht von ChatGPT anzeigt, die im nachfolgenden Abschnitt zu den Ereignissen näher erläutert wird. Zusätzliche Variablen-Einstellungen:
|
df | Dies ist eine 2-Spalten .csv-Datei, die als Datenrahmenvariable hochgeladen wird. |
chatGPTAnswer | Diese Variable wird von dem System automatisch erkannt, wenn Sie sie ansprechen [weiter unten erklärt]. Es ist nicht notwendig, sie an diesem Punkt zu erstellen, aber wir führen sie auf, da sie später erwähnt wird. Zusätzliche Variablen-Einstellungen:
|
PromptsLeft | Für diese Demo wollen wir den Teilnehmern 5 Eingaben gewähren. Daher müssen wir eine numerische Variable erstellen, die mit einem Wert von 5 startet und dann Ereignisse verwendet, um diesen Zähler bei jeder gesendeten Eingabe an ChatGPT zu verringern. Zusätzliche Variablen-Einstellungen:
|
Input | Diese Variable wird erstellt, sobald Sie das Eingabefeld-Objekt in den Editor einfügen. Sie speichert den Wert dessen, was der Teilnehmer als Eingabe für ChatGPT eintippt. Zusätzliche Variablen-Einstellungen:
|
Objekte zur Leinwand hinzufügen
Um die Chat-Oberfläche einzurichten und die Anweisungen anzuzeigen, müssen mehrere verschiedene Arten von Objekten zur Leinwand hinzugefügt werden, wie nachfolgend beschrieben.

Textanzeigeobjekte
Textanzeigeobjekte 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:
| Anzeigename | 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 vom Teilnehmer und die ChatGPT-Antworten anzeigt. Anweisungen: Fügen Sie das Anzeigeelement hinzu, passen Sie es an, damit es groß ist, ändern Sie den Platzhaltertext, um etwas anderes wie 'text' zu sagen, markieren Sie es, klicken Sie im Texteditor auf das rote [x] oben und wählen Sie die Variable ChatString aus dem Menü. Der Text Startwert wird jetzt angezeigt. |
Top Instructions | Die Top Instructions enthalten die Anweisungen für den Teilnehmer und umfassen eine verknüpfte Variable namens PromptsLeft, die anzeigt, wie viele Eingaben der Teilnehmer noch verwenden kann. |
Erstellung eines Chatbox-Effekts
Bevor wir tiefer eintauchen, lassen Sie uns über die Chatbox sprechen, in der das Gespräch angezeigt wird.
Da Labvanced eine App ist, die im Browser funktioniert, rendert sie von oben nach unten auf dem Bildschirm. Dies beeinflusst, wie Informationen präsentiert werden. Um einen chatähnlichen Effekt zu erzielen, 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 Chats im echten Leben so aussehen, dass neuere Nachrichten unten erscheinen).
Um diesen Effekt zu erzeugen, wählen Sie einfach das Chat Box-Objekt aus und fügen Sie im rechten Bereich, wo die Objektattribute aufgelistet sind, im Bereich CSS-Eigenschaften ändern diesen Code-Schnipsel ein: p{ height: 300px; overflow: auto; display: flex; flex-direction: column-reverse; padding: 10px }
Dies wird mit der CSS-Stiloption column-reverse erreicht, die im Wesentlichen den Fluss des Textes umkehrt und letztendlich die neuere Nachricht unten im Chat anzeigt, anstatt oben.
Das sollte so aussehen:

Sobald Sie diesen Code-Schnipsel eingegeben haben, springt der Name der ChatString-Variable an das Ende des Objekts.
Mit demselben Objektattribute-Panel können Sie auch den Stil der Chatbox festlegen, indem Sie eine Rahmengröße und Rahmenfarbe zuweisen, die im obigen Beispiel auf eine Rahmengröße von 2 und eine Rahmenfarbe von Schwarz eingestellt sind.
Startwert: Text innerhalb der Chat-Box
Im Allgemeinen gibt es normalerweise, wenn jemand auf ChatGPT zugreift, irgendeine Art von Eingabemeldung, in der Art von 'Hallo, wie kann ich Ihnen heute helfen?' 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 den Variableninformationen eingeben.

Wie oben gezeigt, verwenden wir die folgende Startnachricht in dieser Demo: Willkommen! Bitte beginnen Sie, im Eingabefeld unten zu tippen, um zu starten 😃 <br><br>
Hinweis: Das <br> ist ein HTML-Tag zum Erstellen eines Zeilenumbruchs im Text, damit eine neue Zeile erstellt wird, wenn eine neue Zeile des Chats innerhalb der Chat-Box erstellt und 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 an der Seite des Editors ein.
Nach dem Einfügen werden Sie aufgefordert, den Namen der Variablen anzugeben, die mit diesem Objekt verbunden ist. Für diese Demo haben wir dieses Objekt input genannt.
WICHTIG: Um die damit verbundenen Optionen weiter zu steuern, stellen Sie im rechten Objektattribute-Panel, wenn dieses Objekt ausgewählt ist, sicher, dass die folgenden Optionen angezeigt werden:
Frageheader anzeigen:Option ist deaktiviertEingabetypist auftextausgewählt.Fokusist auftruemarkiert, damit das Eingabefeld aktiv wird (d.h. der Teilnehmer muss nicht jedes Mal darauf klicken, um tippen zu können).
Überblick über Ereignisse
Ereignisse sind in dieser ChatGPT-Studie notwendig, um die folgenden Aktionen auszuführen:
- Die Eingabe des Teilnehmers an ChatGPT anzuzeigen und zu senden
- Die Antwort von ChatGPT zu empfangen und anzuzeigen
- Die Chat-Zeichenfolgen (geschrieben vom Teilnehmer und erstellt von ChatGPT) aufzuzeichnen
- Zum nächsten Versuch überzugehen
Für die Zwecke dieses Leitfadens haben wir zwei Hauptereignisse erstellt und benannt, unter denen die oben genannten Aktionen angesprochen 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 gesendet werden.
Mit diesem Ereignis beabsichtigen wir:
- Den geschriebenen Text aus dem Eingabefeld im Chatbereich anzuzeigen
- Die Eingabe des Teilnehmers als Variablenwert zu speichern
- Sie an ChatGPT zu senden
Auslöser
Der Auslöser, der dieses Ereignis aktiviert, ist der Enter on Input-Auslösertyp, wobei das spezifische Ziel das zuvor erstellte input-Objekt ist. Wenn der Teilnehmer die Eingabetaste drückt, während er dieses Objekt verwendet, wird dieses Ereignis ausgelöst.

Aktionen
Nachdem die obigen Punkte festgelegt wurden, fahren wir fort, 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 'You:' vorhergeht und dann einen Abstand hinzufügt, um eine neue Zeile zu beginnen.

- Die Aktion
Set/Record Variableenthält die zuvor erstelltechatString-Variable. - Es gibt mehrere
ArithmetischeBetrieb, die im Wesentlichen den Effekt eines Chats erzeugen. Wenn Sie Zeichenfolgenelemente mit dem (+) kombinieren, fügen 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 daran angehängt.You:Ein konstanter Zeichenfolgenwert, den Sie eingeben, um den Teilnehmer zu kennzeichnen.input: Die Variable namensinput, d.h. was der Teilnehmer in das Eingabefeld eingegeben hat, wird hier jetzt im Chat angezeigt.<br><br>: Ein konstanter Zeichenfolgenwert, der angibt, wie eine neue Zeile mit dem HTML<br>erstellt wird.
Die zweite Aktion, die wir in diesem Ereignis haben, ist die Send to OpenAI-Aktion, die eine API nutzt, um das, was der Teilnehmer geschrieben hat (d.h. die Inhalte der input-Variablen) an OpenAI zu senden.

Wir möchten auch den Variablenwert von PromptsLeft um 1 reduzieren (denken Sie daran, dass wir zu Beginn dem Teilnehmer erlaubt 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 Jump Action verwendet und Next Trial angegeben.

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

EINGEHENDES EREIGNIS
Typischerweise 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 anzuzeigen
- Zum nächsten Versuch überzugehen
Auslöser
Der OpenAI Trigger nutzt die API, um die Antwort von ChatGPT zu erhalten und speichert diesen Wert dann in dem 2-Spalten-Datenrahmen (hier df genannt), den wir zuvor erstellt haben.

Aktionen
Nachdem die obigen Punkte festgelegt wurden, fahren wir fort, 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 hierbei ist, dass wir anstelle von 'You:' 'chatGPT:' als konstanten Zeichenfolgenwert schreiben, um die Antwort im Chat einzuleiten… und anstelle der 'input'-Variablen rufen wir die Chat GPT Answer auf, indem wir sie als auslöserspezifischen Wert auswählen, die angezeigt wird, wenn Sie auf das Stiftsymbol klicken.

Die folgende 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 Eingaben gleich 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, indem wir eine Control Action namens Delayed Action verwenden, wo die Requirement Action festlegt, dass, wenn die Variable PromptsLeft gleich 0 ist, das Experiment zum Nächsten Task übergeht.


Endbildschirm und Speichern von Daten - Aufgabe 2
In unserem Fall heißt die nächste Aufgabe 'Ende' und ist ein Dankesscreen, wo das Experiment eingestellt ist, um die Sitzung zu akzeptieren, d.h., die Studie ist vorbei.

Sitzung akzeptieren
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 also Beim Start des Rahmens:

Aktion
Mit einer anderen Delayed Action wird die Jump Action → Sitzung akzeptieren / Ende verwendet, um die Daten zu speichern.

Wir verwenden die verzögerte Aktion, weil die Studie automatisch schließt/beendet, nachdem die Zeit vergangen ist und wir den Teilnehmern Zeit geben möchten, das zu lesen, was auf dem Bildschirm steht, bevor die Studie endet.
Vorschau der aufgezeichneten Daten der ChatGPT-Demo
Das Bild unten zeigt, wie die Daten aus diesem Studienaufbau im Dataview und Export-Tab aussehen werden, wo die Versuchsnummern (Trial_Nr), der Aufgabename (Task_Name), die ChatGPT-Antworten und die Eingaben der Teilnehmer (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 die Eingaben und Antworten als Variable gespeichert werden.
Es gibt viele Ansätze und Möglichkeiten, wie dieses Feature genutzt werden kann, um eine ChatGPT-Studie aufzubauen. Bitte wenden Sie sich an uns, wenn Sie Fragen haben!