我正在做一个医疗保健项目,它使用微软的医疗机器人作为一个工具。我遵循了GitHub:https://github.com/Microsoft/HealthBotContainerSample/,并成功地设置了它。现在,我可以从机器人订阅的是activity属性,使用以下示例代码:
botConnection.postActivity({type: "activity", value: jsonWebToken, from: user, name: "InitAuthenticatedConversation"}).subscribe(function (id) {
});
botConnection.activity$.filter(function(activity)
{
return activity.type === "activity"
})
.subscribe(function (activity)
{
console.log(activity);
});第一个屏幕截图是我得到的:

然而,有一件事我找不到任何对应的API,如果我在Azure上与机器人交互,有一个包含场景堆栈、意图、分数等的对象(见屏幕截图)。但是我找不到哪个API可以帮助我检索这个对象,那么,如何检索显示在监视窗口中的对象呢?

发布于 2019-09-04 05:29:00
不幸的是,看起来没有一种方法可以将跟踪记录到HealthBot的Scenario Designer之外。我对此进行了测试,看起来跟踪并不是由机器人作为任何类型的事件或消息活动发出的,而只是来自机器人本身的输出。
然而,你可以采取几种方法。
首先,如果您在Azure中注册了Application Insights并包含Instrumentation密钥,那么您可以记录应用程序(即机器人)的执行情况。这将捕获机器人发出的任何跟踪事件,但是,遥测是不同的。它将允许您查看它们何时发生。下面来自Azure的屏幕截图显示了一个示例。
要添加应用程序洞察,请在Azure中的HealthBot中,导航到集成=>机密。然后,您可以添加Instrumentation键并保存。查看Application Insights时,通常需要几分钟时间才能填充活动,因此请耐心等待。
您可以做的第二件事是在他们的GitHub repo here上提交一个特性请求,请求在外部提供跟踪事件以进行日志记录和检查。
此外,您还可以参与微软的TechCommunity。我不知道它是否受到问题/请求的监控,但它值得一试。
希望能帮上忙!


https://stackoverflow.com/questions/57764120
复制相似问题