AI篇——毛线AI 机器人
AI功能使用教程:https://www.shenxinduo.com/turbowarp/index.html
【疑惑篇】
点击绿旗按钮,开始向毛线AI 机器人提问,机器人再根据你的提问进行回答。
【线索篇】
案例分析
它们发生的场景是什么?
每个场景中有哪些角色?
每个场景中的每个角色在做什么?
- 点击绿旗按钮,毛线AI机器人说开场内容。
- 询问玩家,有什么问题想问?
- 接收玩家输入,判断玩家是否输入“没有”。
- 如果输入“没有”,结束重复执行,说结束语。
- 如果玩家输入问题,使用AI积木获取答案,回复玩家。
- 重复2~3步,直到玩家输入“没有”。
积木提示
【解决篇】
开始实现毛线AI机器人之前,你可以先试用一下问[AI接口名称] (你好)积木。
它的用法很简单,第一个参数是你要调用的大语言模型名称,你可以将大语言模型想象成一个人,不同的模型就代表了不同的人。它们有的人懂的更多,但是反应慢一点。有的人懂得少一点,但是反应更快。第二个参数是你想向大语言模型提出的问题。点击积木,就会返回大语言模型的回答。就像你跟一个人说一句话,它就回答你一句话。
接下来,就开始来实现毛线AI机器人。首先,还是添加用到的背景和角色,Turbowarp中的操作和Scratch中一模一样。
第一步,点击绿旗按钮,毛线AI机器人说开场内容。
使用当绿旗被点击积木启动机器人。可以先将它移到固定的位置,接着说开场内容。
第二步,询问玩家,有什么问题想问?
这一步很简单,使用询问(你叫什么名字?)并等待积木即可。
第三步,接收玩家输入,判断玩家是否输入“没有”。
使用回答积木获得玩家输入的内容,然后使用如果<>那么否则积木对它进行判断。看看玩家是否输入了“没有”。
- 如果输入“没有”,说结束语。
如果玩家输入“没有”,直接说结束语,结束程序。
- 如果玩家输入问题,使用AI积木获取答案,回复玩家。
如何玩家输入“没有”之外的其他内容,使用问[AI接口名称] (你好)积木向AI模型提问,获取答案,并将答案说给玩家听。
因为向AI模型提问需要访问第三方的接口,并不能实时得到答案。为了等待过程能给玩家一些反馈,你可以在提问前使用思考(嗯......)积木,让机器人显示“思考中...”。如果想要更好的效果,你还可以将它改为其他等待中的动画。
点击绿旗按钮进行测试,现在你已经可以向机器人提问,看到机器人的回答,但会有两个问题。有时你提出的问题比较复杂,AI模型回答的内容会很多,这时使用说(你好!)(2)秒积木无法显示所有内容。另外如果你将说(你好!)(2)秒积木中的时间参数设置为固定值,可能会来不及看全。
如何解决这两个问题呢?
对于第2个问题,显示时间太短,最简单的解决方法就是将将时间参数变大。不过这样一来,对于很短的回答,又会等待太长时间。更好的方法,可以通过说话文字的字数来计算等待时间。
为了能根据AI模型返回的字数来计算时间,我们需要将问[AI接口名称] (你好)积木返回的内容保存在一个变量中。例如,建立一个“AI模型的回答”变量。再使用运算分类的积木来计算说话的时间。例如,每10个字就说1秒钟。
除了这种方法外,你还可以使用高级篇案例菩提偈中实现的逐字说话的方法。
对于第1个问题,AI模型返回的文字太长,导致显示不全又该怎么处理?其实也很简单,你只用想办法将很长的内容切分成多个短句,逐句显示出来就可以了。
AI模型返回的文字中,每段话之间是通过换行符连接在一起,你可以看见显示出来的文字是一段一段的,并没有像我们使用连接(苹果 )和(香蕉)积木那样,所有文字都连在一起。现在我们就可以利用换行符将内容切成多段,一段一段的进行显示。
在毛线AI扩展中有一个换行符积木,它返回的就是一个换行符。你可以用它和连接(苹果 )和(香蕉)积木进行测试,将“苹果”和“香蕉”利用换行符进行连接,现在“苹果”和“香蕉”不再显示在同一行,而是分成了两行。
接下来,我们就来修改一下自制的逐字说话积木,不让返回的内容全部说出来,而是通过换行符将它们拆分开。操作很简单,只需要在遇到换行符时,将“说话文字”变量设置为空就行了(你可以拿出纸和笔,写上几段话,然后在纸上模拟一下这个重置执行积木中究竟发生了什么)。
点击绿旗按钮进行测试,你可能会发现说话时,气泡会一直在闪烁。为了解决该问题,你可以将换行符积木的值先保存在一个变量中,然后使用该变量进行比较。
另一种解决方法,你可以使用说(你好!)积木替换说(你好!)(2)秒积木,再使用等待(1)秒积木来控制说话的速度。别忘了最后要让说话气泡消失。
- 重复2~3步,直到玩家输入“没有”。
最后,你只要使用使用重复执行积木让机器人一直不停的提问就行了。但是当用户输入“没有”时,如何停止重复执行呢?很简单,使用停止[全部脚本]积木就可以了。
好了,属于你的第一AI程序,毛线AI机器人就完成了,开发一个AI程序是不是也没有想象中那么难。接下来,你还可以尝试使用朗读积木让你的机器人开口说话。
目前,你的机器人只能跟你一问一答,下一个案例中,我们将会让他具有连续对话的能力。
想看更多学习案例,欢迎点击查看《Scratch 3学习手册》open in new window
想要获取所有案例源码和素材,以及获得我对你在学习中所遇问题的一对一解答,欢迎加入石头解忧杂货店。