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道试题,并把这些问题及其答案存放在一个列表或者表格中。当用户运行程序时,你可以从题库中随机选择一道试题。
-
I CreatiCode pinned this topic on
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login