【问题标题】:Azure virtual assistant prompt buttonsAzure 虚拟助手提示按钮
【发布时间】:2020-04-23 10:12:28
【问题描述】:

我设置了 Microsoft azure 虚拟助手,但没有连接到 Luis 并且尚未部署。

在 qnamaker 网站上,它成功地做了多轮跟进按钮,但在机器人模拟器上却没有。

我想知道这是否是由于一开始没有设置和部署虚拟助手造成的。因为创建虚拟助手时,默认贺卡甚至都无法显示。

我是否遗漏了一些代码来显示这些后续提示按钮,还是因为 Luis 未连接且部署未设置而无法显示?如果我遗漏了一些代码,有人可以指出我正确的方向吗?

注意:这是一个虚拟助手,而不是机器人。它们很相似,但机器人教程不适用于虚拟助手。我正在使用最新的虚拟助手模板。我做了很多研究,但无法解决。我已经在这上面花了 2 天时间。

谢谢

【问题讨论】:

  • 我不熟悉虚拟助手机器人,但我可以肯定地说,您不需要 LUIS。对于标准机器人,需要不同的代码(或至少使用我使用的连接器版本)来添加提示功能。所以我猜是的,您确实需要一些代码或技能更改才能在虚拟助手中使用 QnA Maker 的提示。

标签: c# azure azure-language-understanding qnamaker azure-deployment


【解决方案1】:

多轮转功能是可以在门户 qnamaker.ai 中打开的功能,但是您的机器人仍负责处理发送带有按钮的卡片的消息。

  • 因此,在门户中启用多轮转将允许您调用 generateanswer API 以返回包含 prompts 值的“context”对象的响应。
  • 第 2 步是确保您的助手拥有创建卡片的代码。您必须处理要生成卡片的时间

您可以在 botbuilder samples 存储库 70.qnamaker-multiturn-sample 中找到实现多轮提示的机器人示例。它构建卡片的 sn-p,我将在下面发布,但我建议直接查看示例以查看它周围的逻辑,以了解您何时想要实际发送带有卡片的消息(他们只在存在contextprompt 的情况下发送卡片来做到这一点——您可以根据您的机器人的需要对其进行自定义)。

        /// <summary>
        /// Get multi-turn prompts card.
        /// </summary>
        /// <param name="result">Result to be dispalyed as prompts.</param>
        /// <returns>IMessageActivity.</returns>
        private static IMessageActivity GetQnAPromptsCardWithoutNoMatch(QueryResult result)
        {
            if (result == null)
            {
                throw new ArgumentNullException(nameof(result));
            }

            var chatActivity = Activity.CreateMessageActivity();
            chatActivity.Text = result.Answer;
            var buttonList = new List<CardAction>();

            // Add all prompt
            foreach (var prompt in result.Context.Prompts)
            {
                buttonList.Add(
                    new CardAction()
                    {
                        Value = prompt.DisplayText,
                        Type = "imBack",
                        Title = prompt.DisplayText,
                    });
            }

            var plCard = new HeroCard()
            {
                Buttons = buttonList
            };

            // Create the attachment.
            var attachment = plCard.ToAttachment();

            chatActivity.Attachments.Add(attachment);

            return chatActivity;
        }

我有一段时间没有查看虚拟助手解决方案项目,但我会说检查以确保他们没有多轮 QnA 对话框,以验证这是问题所在,如果是的话,请查看多轮 qna 示例,了解如何编辑 VA 以包括处理多轮提示的示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多