Navigation

    CreatiCode Scratch Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • CreatiCode

    ChatGPT人工智能:与爱因斯坦聊天

    小教程
    1
    1
    443
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      creaticodeteacher2-mail last edited by admin

      介绍

       
      ChatGPT是OpenAI开发的人工智能模型,能够像真人一样与我们聊天。ChatGPT能回答我们问题,还能帮我们做很多任务(例如翻译、概括等等)。

      很多新软件会建立在ChatGPT之类的人工智能模型之上:软件会根据用户需求创建一份详细、准确的提示语,然后把提示语发送至人工智能模型,之后就能以人性化的方式显示人工智能模型的回复。

      在这篇教程中,我们将制作一个简单的聊天程序。我们告诉ChatGPT扮演物理学家阿尔伯特·爱因斯坦,用户就能和爱因斯坦聊天了。

      Animation7.gif

       
       

      第1步 - 新建一个空角色

      首先,在CreatiCode.com游乐场新建一个项目(点击上方的菜单“创建”),然后删除带小狗的角色。我们就得到一个空项目,里面有一个空角色。

       
       

      第2步 - 添加聊天窗口

      现在我们用“控件”类别中的“添加聊天窗口”来添加一个聊天窗口。

      1.png

       
      提示:为了在浮出控件中快速找到这个积木,大家可以搜索关键词“聊天”:

      Animation1.gif

       
      聊天窗口位于舞台中央(x=0,y=0),高度和宽度与舞台相同(480×360),所以聊天窗口会占据整个舞台。

      大家可以修改聊天窗口的背景和边框颜色。

      这个聊天窗口的名称为“聊天1”,稍后将会用名称索引该聊天窗口。

      聊天窗口如下所示:

      d2ba0115-91e3-4c9e-bb93-3f1008be7a41-image.png

       
       

      第3步 - 处理事件“点击”

      聊天窗口的用法,用户可以在底部的输入框输入任意内容,然后点击绿色的发送按钮。

      L我们打印用户输入的内容,积木“控件( )的值”表示用户的输入内容。

      2.png

       
      如果在下拉菜单中看不到“聊天1”,只需要运行一次项目即可。

      注意,如果用户按回车键,也会触发积木“当控件( )被点击时”。

      大家尝试输入一些消息,编辑器窗口底部的控制台就会打印出消息内容。

      Animation2.gif

       
      注意,把输入框中的消息删除后,消息不会添加到聊天记录中。这使得我们能够完全控制消息如何被添加、什么时候添加。例如,将消息发送到聊天记录窗口前,我们可以自动修改用户输入的错别字。

       
       

      第4步 - 将用户输入内容添加到聊天记录

      现在我们把用户输入内容附加到聊天记录,不再打印出来。我们可以用积木“附加到聊天( )”。

      3.png

       
      输入的消息就是积木“控件( )的值”,即用户输入的内容。

      聊天内容被附加到用户“我”和一个用户图标下面。大家可修改文字颜色和背景颜色。如下所示:

      Animation3.gif

       
       

      第5步 - 把用户输入内容发送至ChatGPT并等待

      现在我们即将把用户输入内容发送至ChatGPT,然后得到其回复。
      大家要创建一个新变量来存放ChatGPT的回复内容,可以把这个变量命名为“回复”。

      然后大家就可以添加积木OpenAI ChatGPT:请求( )以发送用户输入内容,然后等待回复:

      4.png

       
      我们用“完整回答”模式,就会让程序卡在这个积木上,一直到我们得到回复,回复内容将存入变量“回复”。

      为了便于测试,现在我们用最大的长度50,以便于快速得到回复。

      “温度”为1能让聊天机器人更加随机发挥和有创意。

      我们把“会话”类型设置为“继续”,就会记住当前对话框中的全部聊天记录。

       
       

      第6步 - 展示ChatGPT的回复内容

      我们收到ChatGPT的回复后,我们只需要把变量“回复”中的内容附加到聊天记录窗口中:

      5.png

       
      这次的名字我们用“爱因斯坦”,消息靠右对齐,背景换一种颜色。

      现在我们可以互动聊天了。由于聊天机器人还不知道我们想让它扮演爱因斯坦,所以它依然以ChatGPT的角色回复我们:

      Animation5.gif

       
       

      第7步 - 让ChatGPT扮演爱因斯坦

      为了让ChatGPT扮演爱因斯坦,当我们启动项目时只需要告诉它就可以了。我们用同样这两个积木发送请求并展示回复。请求将设置角色:ChatGPT是爱因斯坦,用户是学生。
      6.png

       
      现在聊天功能就完整了!从现在开始ChatGPT 就扮演爱因斯坦:

      Animation8.gif

       
       

      第8步 - 增加回复的长度限制

      目前,我们把最大长度限制为50,如果聊天机器人要说更长的内容,就会被剪短。在这种情况下,回复内容就出现“TOKEN LIMIT REACHED”(已达字数上限)。

      8.png

       
      有两种办法来解决这个问题。

      第1种,你可以把“最大长度”设为一个更大的数,比如100或150。

      第2种办法,你可以告诉ChatGPT回复短一些。我们不要把用户的输入内容直接发送给ChatGPT,而是先修改一下。例如,我们在用户输入内容后面添加“最多用50个词回复。”

      有两处改动的方案如下:

      7.1.png

       
       

      第9步 - 测试运行

      现在聊天程序就做好了。聊天试一试,如下所示:

      Animation7.gif

       
      最终的完整程序:

      https://play.creaticode.com/projects/ddefa7e9b6c794efe0a81d8e

       
       

      创意扩展

      在这篇教程中,大家学会了如何使用聊天窗口控件,以及如何使用ChatGPT聊天机器人。然后大家可以尝试下面这些思路:

      • 与其他人聊天:大家可以修改第1个提示语,让ChatGPT扮演成另外一个人,比如莎士比亚、拿破仑、林肯和牛顿。注意,你选的这个人一定要在网络上有广泛的相关内容,否则ChatGPT就不“认识”这个人。
      • 与物体聊天:ChatGPT除了能扮演人,还能扮演成一个物体,例如火星、米老鼠、一个分子或者一只海豚等等。
      • 在第1个提示语中提供更多信息:第1个提示语非常重要,因为它会告诉ChatGPT扮演成谁以及如何装扮,大家可以随意改进。例如,大家可以像这样指定一个时期:“请你扮演爱因斯坦和学生聊天,假装今天是1945年1月1日。”
      1 Reply Last reply Reply Quote 0
      • Pinned by  info-creaticode info-creaticode 
      • First post
        Last post