Navigation

    CreatiCode Scratch Forum

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

    AI - 会看和说的AI助手(难度:2)

    小教程
    1
    1
    127
    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.
    • info-creaticode
      CreatiCode last edited by admin

      简介

      像 ChatGPT 这样的大型语言模型通常是“多模态”的,这意味着它们不仅可以用文字与我们聊天,还可以理解图像。这非常有用,因为在许多情况下,用图片描述我们的需求比用文字更容易。

      在本教程中,你将构建一个能看能说的 AI 助手。要使用它,用户只需使用相机拍照,然后就可以向 AI 助手询问有关该图片的任何问题。

      448b6d33-2ead-4e45-8773-cc0881336bd5-image.png

       
       

      步骤 1 - 创建一个新项目

       

      在 CreatiCode.com 上,登录并创建一个新项目。删除小狗角色,并将项目重命名为“AI 助手”。

       
       

      步骤 2 - 搜索或生成一个背景

       

      当项目开始时,我们将向用户展示一个漂亮的背景,以表明这是一个 AI 助手。

      切换到舞台并尝试添加一个新的背景。例如,如果你搜索“一个乐于助人的 AI 助手”,你可以找到许多有趣的背景可供选择:

      b2b538a9-48e3-480c-b4f4-e8e4db00b7d7-image.png

       
      你还可以根据自己的想法生成一个新的背景。例如,假设我们希望这个助手被用作导游,那么我们可以使用一个详细的描述来生成背景,例如:

      一个机器人导游面向观众,双臂张开,站在一个历史遗迹前,卡通风格
      

      我们将得到一个像这样的新背景:

      alt text

       
       

      步骤 3 - 当绿旗被点击时显示 2 个按钮

       

      现在切换到空的角色并添加代码以显示 2 个按钮,这将允许用户选择一个摄像头。前置摄像头通常在触摸板或 Chromebook 上可用,而后置摄像头通常在 iPad 或智能手机上可用。

      6b93ef86-699b-4461-93d8-9dc7dbfb28b9-image.png

       
      你可以使用以下代码:

      92fe6a32-0f07-4d2c-9ced-bdab9f8d1879-image.png

       
       

      步骤 4 - 显示摄像头预览

       

      当任一按钮被点击时,我们需要显示来自摄像头的视图,以便用户可以瞄准物体或地点。唯一的区别是显示“前置”还是“后置”摄像头。由于只会点击其中一个按钮,因此在两种情况下我们都可以将摄像头小组件称为“camera1”。

      0ede859c-0d0f-49c5-8093-825d2e2a97d4-image.png

       
       

      步骤 5 - 准备拍照

       

      除了显示摄像头预览之外,我们还需要做一些其他工作来准备拍照。由于无论使用哪个摄像头,工作都是相同的,因此我们可以在一个新的自定义积木“准备拍照”中定义常见的工作:

      8deb6639-60a8-497a-b4f7-fe4897bd642b-image.png

       
      在该新积木的定义中,我们将添加更多积木来删除现有的按钮(button1 和 button2),并添加第三个按钮来拍照:

      ce8bd9ac-6500-4a4c-88ec-2d9649616ecf-image.png

       
      它将看起来像这样(假设我们要拍一张 U 盘的照片):

      6cbf3772-ae0f-41b7-a5ed-47722983390d-image.png

       
       

      步骤 6 - 拍照并显示它

       

      当用户点击“拍照”按钮时,我们将把当前的摄像头视图保存为名为“c”的造型图像并将其显示给用户:

      500a1014-6d75-4f29-bb07-0248f5b5ad1a-image.png

      31dd923b-69e8-4462-a8d1-dc8fbe0f545d-image.png

      这样,摄像头预览和 button3 都将被删除,我们将只显示新捕获的造型图像。

       
       

      步骤 7 - 为用户提问做准备

       

      接下来,在下面添加更多的新积木。它们将添加一个新按钮,该按钮将启用语音识别,以便用户可以提问。这比要求用户输入问题要方便得多,尤其是在移动设备上。我们还将添加一个文本框来显示我们识别的问题。文本框的背景透明度为 30%,以便用户仍然可以看到他们拍摄的照片。

      3e36e3a2-82c6-4334-8ce3-4deb6a98d7e4-image.png

      例如,它将看起来像这样:

      6d2508ce-6e56-479b-ad1d-ea953ee611cb-image.png

       
       

      步骤 8 - 识别用户问题

       

      当用户点击“提问”时,我们将启用语音识别并允许用户说话最多 8 秒钟。这对于大多数问题来说应该足够长了,但你可以将时间长度更改为更短或更长。然后,我们将在文本框中将识别的文本显示为一个问题:

      3249a6ef-db5c-49fe-b819-dd234954bd6b-image.png

       
      你还可以使用“连续语音识别”,并在用户说完一整句话时停止识别。为了简单起见,我们将只使用基于时间的截止时间。

      要测试它,请点击“提问”按钮,然后说出你的问题,例如“这是什么?”,然后它将被识别并显示在文本框中:

      9e6a4111-0c02-42e2-bcd6-ba9155e7e12c-image.png

       
       

      步骤 9 - 向 ChatGPT 询问有关此图片的问题

       

      现在我们终于准备好让 ChatGPT 根据图片回答用户的问题了。它实际上需要 2 个协同工作的积木:

      fca5b179-ca34-4296-8ff6-13d546c30698-image.png

      1. 将造型图像附加到聊天:此步骤不会将图像发送到 ChatGPT。它只将图像存储为聊天的一部分。你可以将多个图像附加到一个聊天会话,但对于这个项目,我们只需要附加一个图像。

      2. 向 ChatGPT 发送聊天消息:此积木会将提示与上面附加的图像一起发送出去。我们将使用一个简单的提示:“口头回答,50 字以内:\n”。关键字“口头”确保 ChatGPT 的回答是对话式的,而不是太正式。我们还将它限制在 50 字以内,以避免冗长的回答。

      在这 2 个积木运行后,ChatGPT 的回答将存储在变量“结果”中。

       
       

      步骤 10 - 显示并说出答案

       

      我们不仅会在文本框中显示答案,还会将其转换为语音。这样,用户大部分时间都可以听答案,如果他们错过了一些细节,他们只需要阅读文本。

      12782a50-c239-45ec-82e4-0dff8ee2d06c-image.png

       
      答案将看起来像这样:

      b3ee2f44-e4e1-4720-a50a-622a83a559dd-image.png

       
       

      额外挑战

       

      这个项目演示了如何将许多有用的 AI 工具组合到一个简单的应用程序中,但它被有意地保持简单。以下是一些你可以探索以进一步增强此工具的想法:

      • 处理后续问题:允许用户提出更多问题。你需要确保每次都不会再次添加造型图像。此外,请确保 ChatGPT 处于“继续”模式,以便它具有之前问题的上下文。

      • 避免固定的等待时间:你可以自动检测用户是否已完成提问,而不是总是等待 8 秒钟。或者,你也可以使用 2 个按钮:点击一个按钮开始语音识别,点击另一个按钮停止它。

      • 将其翻译成另一种语言:如果你的母语不是英语,你可以将该工具更改为你的母语。

      • 自定义提示:当前的提示非常简短且通用。假设你想将此工具更改为“家庭作业助手”,那么你可能需要在提示中添加更多说明。例如,你可能想告诉 ChatGPT 它应该只提供提示,而绝不直接透露答案。

      1 Reply Last reply Reply Quote 0
      • Pinned by  info-creaticode info-creaticode 
      • First post
        Last post