ChatGPT 研究 | 指南
概述
在这个 ChatGPT 演示中, 您还可以将其导入到您的账户中并用作构建 ChatGPT 研究的模板,您会看到当参与者写下提示时,ChatGPT 的答案会直接出现在 Labvanced 中!
如下所示,有一个聊天区域,所有历史记录均显示在此,并且有一个输入字段,参与者可以在其中输入他们的提示:

这是演示在行动中的样子,以及视频末尾显示的记录数据:
在本指南中,我们将逐步讨论如何设置 ChatGPT 研究,以便您熟悉其内容并开始将这个强大的功能纳入您的下一个研究中!
注意:为了在您的研究中建立与 ChatGPT 的连接,您需要在 实验设置
标签下的 实验功能
列中输入您自己的唯一 API 密钥,通过激活专门用于 Open AI 集成 的选项。
ChatGPT 任务中的变量
变量 用于保存和存储记录的数据,包括字符串和数值。通常,熟悉使用 Labvanced 的研究人员会在创建事件时立即创建一个变量。
为了本演示的目的,我们将事先列出变量,如接下来章节所述:

变量名称 | 描述 |
---|---|
chatString | 这是将保存整个聊天字符串的变量,基本上格式化聊天中显示的参与者提示和 ChatGPT 消息的行,下面的事件部分将对此进行更详细的解释。 附加变量设置:
|
df | 这是一个 2 列的 .csv 文件,作为一个数据框变量上传。 |
chatGPTAnswer | 当您调用时,系统会自动识别此变量 [后面会解释]。此时无需创建,但我们列出它,因为稍后会提到。 附加变量设置:
|
PromptsLeft | 对于本演示,我们希望为参与者分配 5 个提示。因此,我们需要创建一个从 5 开始的数值变量,然后在每次向 ChatGPT 发送提示时使用事件减少该计数器。 附加变量设置:
|
Input | 当您将 输入字段对象 插入到编辑器中时,此变量将被创建。此变量存储参与者输入的作为他们的提示以发送给 ChatGPT 的值。 附加变量设置:
|
向画布添加对象
要设置聊天界面并呈现说明,必须向画布添加几种不同类型的对象,如下所述。
显示文本对象
显示文本对象对本 ChatGPT 研究是必要的,以便:
- 提示说明
- 在屏幕上显示聊天历史记录
在本演示中,我们创建并命名了以下显示元素:
显示文本名称 | 描述 |
---|---|
Chat Box | Chat Box 基本上就是参与者的所有提示和 ChatGPT 的回答将以类似聊天的格式展示的地方。在此元素内,有一个名为 chatString 的链接变量,将显示参与者的聊天字符串和 ChatGPT 的回答。 指示: 添加显示元素,将其调整为大尺寸,将占位符文本更改为其他内容,如“文本”,突出显示它,在文本编辑器中点击顶部的红色 [x] 并从菜单中选择 ChatString 变量。起始值 文本现在将出现。 |
Top Instructions | Top Instructions 包含参与者的说明,并包括一个名为 PromptsLeft 的链接变量,该变量将显示参与者剩余可用的提示数量。 |
创建聊天框效果
在深入讨论之前,让我们谈谈将显示聊天的聊天框。
由于 Labvanced 是一个在浏览器中工作的应用程序,因此它从屏幕顶部渲染到底部。这影响信息的呈现方式。为了创建类似聊天的效果,我们必须为 Chat Box
对象输入一个 CSS 命令,以便聊天文本被反转,新文本显示在底部(我们希望这样,因为这就是聊天在现实生活中的样子,新消息出现在底部)。
要创建此效果,只需选择 Chat Box
对象,然后在右侧面板中列出对象属性,向下滚动到 更改 CSS 属性
区域并插入以下代码片段: p{ height: 300px; overflow: auto; display: flex; flex-direction: column-reverse; padding: 10px }
这是通过 column-reverse
CSS 样式选项完成的,基本上反转文本的流动,最终在聊天底部显示较新消息,而不是顶部的消息。
这应该看起来像这样:
一旦您输入此代码片段,ChatString
变量的名称将跳转到底部。
使用相同的 对象属性
面板,您还可以指定聊天框的样式,通过分配 边框大小
和 边框颜色
,在上面的示例中,边框大小
设置为 2,边框颜色
设为黑色。
起始值:聊天框中的文本
一般来说,当有人访问 ChatGPT 时,会有某种提示消息,例如“您好,今天我能为您提供什么帮助?”您可以在访问创建的变量(该变量在 Chat Box
对象中链接)时添加此类起始消息,并在 变量属性
下输入以给其提供一个 起始值
。
如上所示,在本演示中我们使用以下起始消息: 欢迎!请开始在下面的输入字段中输入 : ) <br><br>
注意: <br>
是创建文本中的 换行 的 HTML 标签,因此在创建和附加聊天的新行时,会创建新行。
输入字段
输入字段是参与者将编写其提示并发送给 ChatGPT 的地方。要创建一个,只需从编辑器侧边的对象面板中插入一个 输入对象。
插入后,您将被提示命名与该对象相关联的变量。在本演示中,我们将此对象命名为 input
。
重要提示: 此外,为了进一步控制与此特定对象相关的选项,在右侧面板的 对象属性
中,选择该对象时,确保指示以下选项:
显示问题标题:
选项未 选中输入类型
选择为文本。
聚焦
被标记为true
,这将使输入字段处于活动状态(即参与者无需每次都点击以进行输入)。
事件概述
事件在此 ChatGPT 研究中是必要的,以完成以下操作:
- 显示并发送参与者的提示给 ChatGPT
- 接收并在聊天中显示 ChatGPT 的答案
- 记录聊天字符串(由参与者编写和由 ChatGPT 创建)
- 进入下一个试验
为了本指南的目的,我们创建并命名了两个主要事件,其中上述操作将得到解决:
- 外发事件: 即,向 ChatGPT 发送消息并在聊天中显示
- 入站事件: 即,接收来自 ChatGPT 的消息并在聊天中显示
外发事件
外发事件是指参与者向 ChatGPT 发送询问时将发生的操作,即信息从 Labvanced 外发到 OpenAI。
通过此事件,我们旨在:
- 在聊天区域中显示输入字段中写入的文本
- 将参与者的写入提示保存为变量数据
- 将其发送给 ChatGPT
触发器
触发此事件的触发器是 在输入时按回车
触发器类型,其中目标是我们之前创建的 input
对象。因此,当参与者在使用此对象时按下回车,事件将被触发。
操作
在指定上述内容后,我们继续定义由于此触发器而发生的操作。
结合起来,此变量将参与者的查询(输入)打包成聊天格式,通过在前面加上文本‘You:’并添加一个换行空格来开始新行。
设置/记录变量
操作包含我们之前创建的chatString
变量。- 其中有多个
算术
操作,实质上创造了聊天效果。当将字符串元素与 (+) 结合时,您正在附加并通过组合变量和数值使字符串更长。 - 以下是此算术操作中的值解释:
ChatString
:调用特定变量,后面的所有内容将附加到该变量上。You:
一个常量字符串值,您只需输入以给参与者指定标签。input
:名为input
的变量,即参与者在输入字段中输入的内容现在将在聊天框中显示。<br><br>
:常量字符串值,使用 HTML<br>
创建新行的方式。
我们在此事件中的第二个动作是 发送到 OpenAI
动作,该动作利用 API 将参与者所写的内容(即 input
变量的内容)发送到 OpenAI。
我们还希望将 PromptsLeft
变量的值减少 1(记住在一开始我们让参与者能够发送 5 个提示)。
一旦参与者按下回车,我们还希望他们进入下一个试验。因此我们使用了 跳转动作
并指定 下一个试验
。
注意: 我们为此 ChatGPT 研究创建了 6 个试验,您将在下面的章节中了解 显示记录的数据。 当然,有许多方法可以处理试验的使用,对于本演示,我们选择了这种方法。如果您有任何疑问,请与我们联系!
入站事件
通常,从 ChatGPT 获取响应需要时间,大约 100-500 毫秒。一旦接收到响应,它可以用作触发器,以:
- 将响应记录为存储变量
- 在聊天中呈现答案
- 导航到下一个试验
触发器
OpenAI 触发器
利用 API 从 ChatGPT 接收答案,然后将该值存储到我们之前创建的 2 列数据框(此处命名为 df
)。
操作
在指定上述内容后,我们继续定义由于此触发器而发生的操作。
以与之前步骤中显示参与者输入的类似方式,我们现在将做相同的动作显示 ChatGPT 的答案。
这里的区别在于,不再使用‘You:’,而是使用‘chatGPT:’作为常量字符串值来为聊天中的答案作前缀……而且不再使用‘input’变量,而是通过选择 Chat GPT Answer
作为 特定值触发器,在点击铅笔图标时列出。
下面的操作也会被添加,以将 ChatGPT 答复(从 API 自动接收)记录为其自己的值。
由于当提示数量达到 0 时,任务将自动结束,我们希望给参与者一个机会阅读来自 ChatGPT 的最后一个答案,因此我们使用 控制动作
中的 延迟动作
延迟最后一次试验的结束 3000 毫秒,其中 需求动作
规定如果 PromptsLeft
变量等于 0,则实验会进展到 下一个任务
。
结束屏幕和保存数据 - 任务 2
在我们的案例中,下一个任务称为“结束”,这是一个感谢页面,其中实验被设置为接受会话,即研究结束。
接受会话事件
为了保存研究数据,我们希望在参与者到达此点时接受会话并结束研究。
触发器
因此,触发器是 在帧开始时
:
操作
使用另一个 延迟动作
, 跳转动作
→ 接受 / 结束会话
用于保存数据。
我们使用延迟动作是因为研究将在时间过去后自动关闭/结束,我们希望给予参与者时间阅读屏幕上显示的内容,然后再结束研究。
ChatGPT 演示的记录数据预览
下面的图像捕获了此研究设置数据在 数据视图和导出标签
中的显示方式,其中显示了试验编号 (Trial_Nr)、任务名称 (Task_Name)、ChatGPT 答案、参与者提示 (input) 以及剩余提示数量 (PromptsLeft):
结论
总之,本演示展示了您如何利用 ChatGPT 功能创建参与者与 ChatGPT 之间的互动和对话,同时将输入和响应保存为变量值。
有许多方法和途径可以利用此功能构建 ChatGPT 研究。如果您有任何问题,请与我们联系!