- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经设置了一个链接到 QnA 服务的简单 QnA 机器人。在 QnA 服务中,我设置了一些带有后续提示的问题(家属),例如我如何通过公共(public)汽车、火车等到达校园。see image in link,在 Qna 制造商测试功能中,您只需单击一个名为“启用多轮”的按钮,该按钮提供功能按钮,通知您接下来可以/应该通过答案 See image in link 的家属。
但是,当在 channel /模拟器中使用时,不会出现任何类似的内容 see image ,这有点奇怪。显然,我想在机器人中实现此类功能,因为它使用户的生活变得更加轻松。
我对整个机器人的事情很陌生(我上个月开始),所以我浏览了互联网,看看我能找到什么,但除了在机器人内部写问题之外,我看不到任何东西,see Microsofts documentation ,这使得使用 QnA 生成器几乎毫无意义。
我认为我需要做的是在 QnA 制造商回复用户时拦截来自 QnA 制造商的消息,查看收到的 Json 以查找是否有任何依赖项,然后运行一个不同的对话框,该对话框获取上下文依赖项名称并运行简单的 for 循环为每个受抚养人生成卡片,然后使用生成的卡片将消息发送给用户,但是我不确定如何拦截 Json 并查找任何受抚养人,或者有一个按钮需要在 azure 中单击这就是它的作用。
最佳答案
有this Bot Framework 团队发布的实验示例,演示了如何处理后续提示。
您可以下载它(您必须下载整个存储库),然后将您的详细信息插入到 appsettings.json
文件中,您应该能够使用 Bot Framework Emulator 对其进行测试 - 这些这是我必须执行的唯一步骤。
关键部分是this method它检查结果是否包含任何提示并相应地返回响应 - 它在 FuctionDialog 内调用.
如果您只打算实现单级提示,即您有一个显示提示的问题,并且当您单击其中一个提示时,它将显示答案而不是带您进入另一个提示,那么它可以从 ProcessAsync 方法(检查提示)中获取逻辑的核心,以及从 Models 文件夹和 CardHelper 中获取所需的类> 类并让它在您现有的应用程序中工作 - 您不必担心 QnABotState
因为您只会深入一个级别,因此您不需要跟踪您的位置在一系列提示中。例如
var query = inputActivity.Text;
var qnaResult = await _qnaService.QueryQnAServiceAsync(query, new QnABotState());
var qnaAnswer = qnaResult[0].Answer;
var prompts = qnaResult[0].Context?.Prompts;
if (prompts == null || prompts.Length < 1)
{
outputActivity = MessageFactory.Text(qnaAnswer);
}
else
{
outputActivity = CardHelper.GetHeroCard(qnaAnswer, prompts);
}
await turnContext.SendActivityAsync(outputActivity);
关于azure - 如何在具有后续提示的 QnA 问题中实现卡片并在卡片中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56185169/
@ 。 目录 集成Flink 编程示例 打包运行 CDC入湖 概述
当我通过多个模式匹配发送一个变量时,这样做的命名约定是什么? val somethingBetweenOriginalAndResult = original match { case ...
this post 的后续工作:(根据评论中的要求进行更新) 我从实际(伪装的)示例数据以及在该数据上运行脚本的结果开始。 原始数据样本: 目录中前两个文件的标题和前两行。它们是相同的数据,这不是错误
当我通过多个模式匹配发送一个变量时,这样做的命名约定是什么? val somethingBetweenOriginalAndResult = original match { case ...
this post 的后续工作:(根据评论中的要求进行更新) 我从实际(伪装的)示例数据以及在该数据上运行脚本的结果开始。 原始数据样本: 目录中前两个文件的标题和前两行。它们是相同的数据,这不是错误
我just asked a very similar question here两个答案都有效。但是,当我在每个字典中有 > 2 个字典键时,第 3 个键的值始终为 0。例如: myList = [{
此问题是 Trapping Frame Entrance in tkinter 的后续问题其中@jasonharper 提供了非常有用的答案。 在下面的代码中,我将入口绑定(bind)到 Canvas
使用 subsequent from 子句和query continuation 有什么区别? 后面的 from 子句是指使用 ...from...in...from...in...select 模式
我的原题可以查到here ,为此我得到了一些很好的答案、idas 和提示。 作为可行性和性能研究的一部分,我已经开始转换我的模式,以便使用这些想法对我的数据进行版本控制。在这样做的过程中,我想出了一些
圆 A 沿 x 轴向右移动。圆 B 沿 y 轴向上移动。我想知道他们是否会发生碰撞。 (不是何时,只是如果。) 半径相同,恒速度不同。 This answer似乎解决了这个问题,我的问题最好应该是这个
在需要定期轮询服务器的 AJAX 应用程序(如聊天应用程序)中,建议两次调用之间的最短时间是多少,以便尽快完成更新?什么时间被认为是服务器和客户端的 hogs? 最佳答案 这个问题的答案很大程度上取决
这是 a previous question on Stack Overflow 的后续行动(参见引用链接)。考虑以下代码(来自 W3Schools): /* unvisited link */ a:
昨天,我问了a question关于如何在 .NET 中动态呈现某些内容:具体来说,我询问了如何创建用于“绘图”/渲染的白色“ Canvas ”,使用什么框架等。但是,许多答案建议我问更具体的答案,所
这是上一个问题的后续: Java compiler fails to recognise static inner class accepted answer给出了一个解决方法,如果找不到更好的解决方
这个问题跟在问题之后:How to read two lines from a file and create dynamics keys in a for-loop? 但是,问题的性质已经发展到我想
好的跟进 this thread ,这就是我想出的…… public class SharweAuthorizeAttribute : AuthorizeAttribute { private
Using nested loops 我仍在努力实现上述问题中所述的相同目标。基本上我的代码现在看起来像这样: for(int ac = 0; ac < gravityObject.length; a
一直在寻找这个没有结果。我有一个片段,我想将文本文件读入 python 中的变量中,以便稍后可以引用它(特别是杀死正在运行的进程)。 文件生成如下: os.system('wmic process w
我创建了 2 个自定义跟进 Intent ,对于这 2 个自定义跟进 Intent ,还有 3 个跟进 Intent 。一切安好。我从这 2 个阶段获取信息,然后显示结果。该过程大约是 2 个后续问题
这个问题在这里已经有了答案: Iterate through parameters skipping the first (5 个答案) 关闭 5 年前。 我有一个脚本,它的第一个参数是一个对象的标
我是一名优秀的程序员,十分优秀!