我设置了一个Microsoft azure虚拟助理,但没有连接到Luis,而且还没有部署。
在qnamaker网站上,它成功地做了多个回合的后续按钮,但没有在机器人模拟器上。
我想知道这是否是由于一开始就没有设置和部署虚拟助理造成的。因为默认的贺卡甚至无法显示创建虚拟助理的时间。
我是否遗漏了一些代码来显示那些后续提示按钮,还是因为Luis没有连接并且没有设置部署?如果我遗漏了一些代码,有人能给我指明正确的方向吗?
注意:这是一个虚拟助理,而不是机器人。它们是相似的,但对机器人的教程并没有在虚拟助理上起作用。我正在使用最新的虚拟助理模板。我做了很多研究,但没能解决。我花了两天时间在这上面。
谢谢
发布于 2020-04-23 17:09:48
多转功能是一个可以在门户qnamaker.ai中打开的功能,但是您的机器人仍然负责处理发送带有按钮的卡片的消息。
因此,在门户中启用多个转弯将允许您调用values.
prompts
context“对象的响应,这是为了确保您的助手有创建卡片的代码。当你想要卡片成为generated时,你必须处理
您可以在botbuilder samples repo,70.qnamaker-multiturn-sample中找到一个实现多个转弯处提示的bot示例。它构建卡片的代码片段,我将在下面发布,但我建议直接查看示例,查看其周围的逻辑,以了解何时使用卡片发送消息(只有在context和prompt存在的情况下,它们才会发送卡片--您可以根据您的机器人需要定制它)。
/// <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以包括处理多个转提示。
https://stackoverflow.com/questions/61384642
复制相似问题