ChatGPT人工智能:出题员(难度:3级)
-
介绍
大家已经学习了如何用ChatGPT制作智能的聊天机器人。然而,ChatGPT可用于其他很多种项目,并且界面并不一定是聊天窗口。
在这篇教程中,大家将学习制作一个智能的“出题员”。用户可指定任意主题,程序将用ChatGPT生成一道测验试题,并评判用户的答案。
第1步 - 新建一个空项目
新建一个项目,命名为“ChatGPT- 出题员”。删除小狗角色,我们只需要用角色“空的”进行编程。
第2步 - 主题输入框
首先,我们添加一个标签“主题”和一个文本输入框,让用户输入主题。我们把这两个控件分别命名为“主题标签”和“主题输入框”。
如下所示:
第3步 - 用工具“控件位置”移动控件
现在我们要把这两个控件移动到舞台窗口的顶部,以便于在下面添加其他控件。用工具“控件位置”轻松完成,如下所示:
你会发现这两个积木的X、Y、宽度、高度都自动更新了,所以当下次你运行程序,这些控件会直接出现于这些新位置:
当然了,大家仍然可以随时手动修改位置和大小。
第4步 - 添加一个按钮“开始”
接下来,我们再添加一个按钮“开始”,用来告诉ChatGPT生成试题。
默认情况下,新添加的按钮位于舞台中心。请用工具“控件位置”将其移动到右上方,如下所示:
之后程序如下所示:
第5步 - 添加问题框
为了显示ChatGPT生成的试题,我们要添加一个大文本框。可以显示多行文本,但不允许用户输入(只读模式)。请大家练习使用控件位置工具来移动文本框。
第6步 - 两个自定义积木
我们还要添加更多控件,后面会把积木堆得太高。因此,为了便于组织程序,我们制作两个自定义积木。
请大家新建两个积木“添加试题控件”和“添加答案控件”,然后在主程序里面运行这两个积木。我们还要把现有的所有积木移动到积木“添加试题控件”的定义中。
第7步 - 四个答案按钮
现在我们在积木“添加答案控件”的定义中添加积木,用于添加4个按钮,按钮名称分别为A、B、C、D
效果如下所示:
第8步 - 评价栏
当我们点击选项按钮之后,我们要让ChatGPT告诉我们是否答对。那么就要在底部再添加一个文本框,用来显示ChatGPT的评价。请设置为多行和只读。
现在界面就做好了:
第9步 - 编写ChatGPT的请求
假如用户在上方输入一个主题,然后点击按钮“开始”。此时,我们要编写一个请求并将其发送给ChatGPT。请求还应当包含用户写的主题。我们可以先编写我们的请求,然后再加上用户输入的主题。
为了存放请求,我们定义一个变量“请求”,当点击按钮“开始”时给该变量赋值。
第10步 - 以“持续更新”模式向ChatGPT发送请求
现在我们准备好让ChatGPT施展魔力了,将给我们随机出一道试题。为了尽快显示试题,我们将用“持续更新”模式。为了容许较为复杂的问题,我们将最大长度设为400。
此外,每次出题都应当是从新聊天,每次我们点击按钮“开始”,不需要ChatGPT记住上一道试题。如果我们用“继续”模式,问几个问题以后就会达到ChatGPT的字符数限制,就必须重新开始。
我们还要新建一个变量“试题”,来保存ChatGPT生成的试题。
第11步 - 显示试题
ChatGPT出题以后,我们就要显示试题。我们将用一个循环“重复执行直到( )”,持续不断地将变量“试题”的值更新到试题框。大家可以复制这个对号:(不同的浏览器上显示有所不同)。
现在我们可以测试一下ChatGPT是否能恰当地出题:
第12步 - 处理用户的答案
当用户点击4个选项按钮之一,我们就要问ChatGPT答案是否正确。为了实现这一点,我们新建一个积木“核对答案”,该积木的输入项为“答案”:
当用户点击选项按钮时,我们就运行这个新积木:
第13步 - 编写评分请求
在积木“核对答案”的定义中,我们要编写一个新的ChatGPT请求:由于我们没有让ChatGPT记住试题,所以要把试题告诉ChatGPT。还要告诉它用户的答案,然后让ChatGPT判断是否正确。
我们可以用积木“连接”把以下四部分连接起来组成请求:
第14步 - 展示ChatGPT的评价
剩下的工作类似于从ChatGPT获取问题。我们发送请求,然后在文本框“评价”展示结果。大家可以复制之前的积木并进行修改:
现在我们就得到了可运行的出题员!
第15步 - 突出显示用户答案
为了让答题员程序更好用,要稍稍改进用户界面。最重要的改动就是突出显示用户选择的答案。
当用户点击某个按钮时,我们修改该按钮的背景色,如下所示:
第16步 - 重置按钮颜色
当用户生成新的试题,我们要重置所有选项按钮的颜色,变为未选中状态。当用户点击按钮“开始”时我们进行此操作。
第17步 - 测试
最后,大家要再做一些测试来确保用户体验顺畅。最终演示效果如下:
第18步 - 进一步改进
这个出题员是一个非常基础的版本。有很多地方可以改进。以下是一些思路,大家可以尝试:
- 改进提示语:目前我们要发送给ChatGPT的请求过于简短,所以有时会得到一些奇怪的回复。要优化请求以避免问题。
- 优化颜色:大家可以更改文本样式和颜色以及所有控件的背景色,让界面更美观。
- 跟踪得分:大家可以记录用户作答了多少试题、答对了多少。
- 预生成问题:有时大家可能并不想即时生成试题,因为无法控制ChatGPT问什么问题。如果有确定的主题,就可以让ChatGPT为你生成20道试题,并把这些问题及其答案存放在一个列表或者表格中。当用户运行程序时,你可以从题库中随机选择一道试题。