labvanced logoLabVanced
  • Research
    • Publications
    • Researcher Interviews
    • Use Cases
      • Developmental Psychology
      • Linguistics
      • Clinical & Digital Health
      • Educational Psychology
      • Cognitive & Neuro
      • Social & Personality
      • Arts Research
      • Sports & Movement
      • Marketing & Consumer Behavior
      • Economics
      • HCI / UX
      • Commercial / Industry Use
    • Labvanced Blog
  • Technology
    • Feature Overview
    • Desktop App
    • Phone App
    • Precise Timing
    • Experimental Control
    • Eye Tracking
    • Multi User Studies
    • More ...
      • Questionnaires
      • Artificial Intelligence (AI) Integration
      • Mouse Tracking
      • Data Privacy & Security
      • Text Transcription
  • Learn
    • Guide
    • Videos
    • Walkthroughs
    • FAQ
    • Release Notes
    • Documents
    • Classroom
  • Experiments
    • Cognitive Tests
    • Sample Studies
    • Public Experiment Library
  • Pricing
    • Pricing Overview
    • License Configurator
    • Single License
    • Research Group
    • Departments & Consortia
  • About
    • About Us
    • Contact
    • Downloads
    • Careers
    • Impressum
    • Disclaimer
    • Privacy & Security
    • Terms & Conditions
  • Appgo to app icon
  • Logingo to app icon
Learn
Leitfaden
Videos
Anleitungen
Häufige Fragen
Versionshinweise
Versionshinweise
Dokumente
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
Leitfaden
Videos
Anleitungen
Häufige Fragen
Versionshinweise
Versionshinweise
Dokumente
Klassenzimmer
  • 中國人
  • Deutsch
  • Français
  • Español
  • English
  • 日本語
  • Leitfaden
    • EINSTIEG

      • Objekte
      • Ereignisse
      • Variablen
      • Aufgabenassistent
      • Versuchsplan
      • Studien Design
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
    • HERVORGEHOBENE THEMEN

      • Randomisierung & Ausgewogenheit
      • Blickverfolgung
      • Fragebögen
      • Desktop-App
      • Beispielstudien
      • Teilnehmerrekrutierung
      • API-Zugriff
        • REST API
        • Webhook-API
        • WebSocket API
      • Weitere Themen

        • Präzise Stimulus-Zeiten
        • Multi-User-Studien
        • Kopfverfolgung in Labvanced | Anleitung
    • HAUPT-APP-TABS

      • Überblick: Haupt-Tabs
      • Dashboard
      • Meine Studien
      • Geteilte Studien
      • Meine Dateien
      • Experimentbibliothek
      • Mein Konto
      • Meine Lizenz
    • STUDIENTABS

      • Überblick: Studien-Spezifische Tabs
      • Studien Design
        • Aufgaben
        • Blöcke
        • Sitzungen
        • Gruppen
      • Aufgaben-Editor
        • Hauptfunktionen und Einstellungen
        • Das Versuchssystem
        • Canvas- und Seitenrahmen
        • Objekte
        • Objekt Eigenschaften Tabellen
        • Variablen
        • Systemvariablen-Tabellen
        • Das Ereignissystem
        • Versuchszufälligkeit
        • Texteditor-Funktionen
        • Eyetracking in einer Aufgabe
        • Kopfverfolgung in einer Aufgabe
        • Multi-User-Studien
      • Einstellungen
      • Variablen
      • Medien
      • Texte & Übersetzen
      • Starten & Teilnehmen
      • Teilnehmerverwaltung
      • Datensicht und Export
        • Datensicht und Variablen- & Aufgaben Auswahl (alte Version)
        • Zugriff auf Aufnahmen (ALTE Version)
  • Videos
    • Video Überblick
    • Einstieg in Labvanced
    • Aufgaben erstellen
    • Element Videos
    • Ereignisse & Variablen
    • Erweiterte Themen
  • Anleitungen
    • Einführung
    • Stroop-Aufgabe
    • Lexikalische Entscheidungsaufgabe
    • Posner-Blickführungstest
    • Change Blindness Flicker Paradigma
    • Blickverfolgungsbeispielstudie
    • Blickverfolgungsstudie bei Säuglingen
    • Aufmerksamkeitserfassung Studie mit Mausverfolgung
    • Schnelle serielle visuelle Präsentation
    • ChatGPT Studie
    • Blickverfolgungsdemo: SVGs als AOIs
    • Multi-User-Demo: Zeige den Cursor der Teilnehmer
    • Gamepad / Joystick Controller- Grundlegende Einrichtung
    • Desktop-App-Studie mit EEG-Integration
    • Gruppenausgleich zwischen Subjekten und Variablen Einrichtung
  • FAQ
    • Funktionen
    • Sicherheit & Datenschutz
    • Lizenzierung
    • Präzision von Labvanced
    • Programmgesteuerte Nutzung & API
    • Labvanced offline nutzen
    • Fehlerbehebung
    • Fragen zur Studienerstellung
  • Versionshinweise
  • Dokumente
  • Klassenraum

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:

Benutzereingabe auslösen Menü

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:

Variablentabelle, die die benutzerdefinierten Variablen in dieser ChatGPT-Studie auflistet
VariablennameBeschreibung
chatStringDies 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:
  • Startwert: Willkommen! Bitte beginnen Sie, im Eingabefeld unten zu tippen, um zu starten : ) <br><br>
  • Aufzeichnungstyp: Nur Endwert
dfDies ist eine 2-Spalten .csv-Datei, die als Datenrahmenvariable hochgeladen wird.
chatGPTAnswerDiese 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:
  • Aufzeichnungstyp: Nur Endwert
PromptsLeftFü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:
  • Startwert: 5
  • Aufzeichnungstyp: Nur Endwert
InputDiese 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:
  • Aufzeichnungstyp: Nur Endwert

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.

Ansicht der Objekte im Leinwandrahmen für die ChatGPT-Studie

Textanzeigeobjekte

Textanzeigeobjekte sind für diese ChatGPT-Studie notwendig, um:

  1. Anweisungen anzuzeigen
  2. Die Chat-Historie auf dem Bildschirm anzuzeigen

In dieser Demo haben wir die folgenden Anzeigeelemente erstellt und benannt:

AnzeigenameBeschreibung
Chat BoxDie 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 InstructionsDie 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:

Die Objektattribute im Seitenmenü für die Eingabe von Code zur Erstellung eines chatähnlichen Effekts.

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.

Eingabe eines Startwerts in einer Variablen.

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 deaktiviert
  • Eingabetyp ist auf text ausgewählt.
  • Fokus ist auf true markiert, 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:

  1. Die Eingabe des Teilnehmers an ChatGPT anzuzeigen und zu senden
  2. Die Antwort von ChatGPT zu empfangen und anzuzeigen
  3. Die Chat-Zeichenfolgen (geschrieben vom Teilnehmer und erstellt von ChatGPT) aufzuzeichnen
  4. 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:

  1. Den geschriebenen Text aus dem Eingabefeld im Chatbereich anzuzeigen
  2. Die Eingabe des Teilnehmers als Variablenwert zu speichern
  3. 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.

Der Auslöser 'Enter on Input'

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.

Einrichten der chatString-Variable zur Aufzeichnung des Chat-Austauschs in einer ChatGPT-Studie.

  • Die Aktion Set/Record Variable enthält die zuvor erstellte chatString-Variable.
  • Es gibt mehrere Arithmetische Betrieb, 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 namens input, 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.

Send to OpenAI-Aktion, die eine API verwendet, um das, was der Teilnehmer geschrieben hat, 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).

Einrichten der Variablen zur Zählung, wie viele Eingaben noch verbleiben

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.

Die nächste Versuch-Option unter der Jump Action

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!

Auswahl von 6 Versuchen, um die Eingaben zu zählen

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:

  1. Die Antwort als gespeicherte Variable aufzuzeichnen
  2. Die Antwort visuell im Chat anzuzeigen
  3. 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.

Der OpenAI Trigger zum Senden der Eingabe an OpenAI

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.

Einrichten der chat-Zeichenfolgenvariable, um die Antwort von ChatGPT anzuhängen

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

Erstellen einer Variablen zum Speichern der Chat GPT-Antwort

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.

Der verzögerte Akt, wo eine Verzögerung von 3000 Millisekunden erfolgt, wenn die Eingabezähler auf null erreicht.

Spezifizierung, dass das Experiment daher zum nächsten Task der ChatGPT-Studie springt.

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.

Die Ansicht der zweiten ChatGPT-Studie im Aufgabeneditor

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:

Der Auslöser 'Beim Start des Rahmens'

Aktion

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

Die verzögerte Aktion, bei der die Sitzung akzeptiert wird.

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:

Ansicht des Dataview und Export-Tabs, wo die aufgezeichneten Daten für jede Variable der ChatGPT-Studie 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!

Prev
Schnelle serielle visuelle Präsentation
Next
Blickverfolgungsdemo: SVGs als AOIs