Skip to main content

使用QnA Maker进行机器人开发

分类:  Azure机器人 标签:  #Azure #人工智能 #机器人 发布于: 2023-06-12 18:24:28

我们前面创建了一个真实的环境,并且尝试用Power Virtual Agents来实现它,我们本章仍然是拿前一章创建的真实需求,然后尝试使用QnA Maker来实现它,看看我们是不是应该选择QnA Maker

重复一下之前的需求:

我们的场景如下:

目标: 我们需要创建一个测试机器人,这个机器人的目的是对客户进行支持,并为客户提供有关新服务的建议。如果测试机器人成功,团队将进行进一步开发,以实现更复杂的功能。

针对这个目的,我们有如下的需求:

  • 测试机器人的初始开发需要低代码的环境。
  • 测试机器人应包含用于语言理解的现有的LUIS应用。使用它来识别金融行业术语和短语。
  • 机器人会托管到公司网站上。
  • 测试机器人后,需要将其集成到多个C#库中以扩展其功能。
  • 测试后,需要将机器人与预先存在的启用restFAQ应用程序集成。

针对这些需求,我们选在相应的工具的时候,需要重点考虑三个因素:

  • 哪一部分会使用通知对话流?
  • 在哪里发布机器人?
  • 在哪里执行后期的开发工作?

考虑使用QnA Maker服务

考虑使用QnA Maker来构建一个机器人工具。

那一部分会通知对话流?

使用 QnA Maker 创建机器人的第一个步骤是创建 QnA Maker 知识库。 使用包含 FAQ 类型信息的源文档和网站执行该操作。 QnA Maker 无法对对话流进行太多控制。 对话主要由知识库内容进行听写。

在何处发布机器人?

发布知识库后,可以将基于该知识库的机器人发布到 Azure 机器人服务机器人。 可以使用机器人服务通道连接机器人,或将其发布到 Azure Web 应用。

公司的其中一个要求是机器人可以托管在公司网站上。 使用 QnA Maker 创建的机器人满足该要求,因为可以将其发布到网页。

在何处执行并发?

可以下载 QnA Maker 机器人的源代码,然后使用 IDE 对其进行修改。 QnA Maker 机器人支持 C# 源代码。 开发团队可以使用 C# 以多种方式扩展机器人功能。 例如,它们可以合并条件需要的 C# 库。 通过机器人的基于代码的设计,开发人员还可以将机器人与启用 REST 的 FAQ 应用程序集成。 这满足另一个条件。

为什么QnA Maker不是好选择?

使用 QnA 创建的机器人将满足一些条件。 但是,有一些条件不能满足:

  • QnA Maker 门户未提供低代码机器人修改选项。 该功能是一项关键要求。 如果必须修改机器人来满足测试要求,则必须编辑机器人的源代码。
  • 无法像 QnA Maker 机器人一样集成用于语言理解的 LUIS 应用。 只能通过修改机器人源代码来实现 LUIS。