Azure Web应用程序Bot w。QnA-Maker;更改默认答案在控制台中不起作用

Azure Web应用程序Bot w。QnA-Maker;更改默认答案在控制台中不起作用,azure,botframework,qnamaker,Azure,Botframework,Qnamaker,根据Microsoft提供的此文档 要更改您的机器人的默认答案,您应该转到“设置”下的“应用程序服务资源”>“应用程序设置”,然后编辑键“DefaultAnswer”的值 我在Azure中用于此项目的资源如下所示 MyBot(认知服务) MyBot(应用服务计划) MyBot(应用程序服务) mybot随机字符串(搜索服务) mybot(Web应用程序bot) mybot(应用程序服务) 我进入“MyBot”应用程序服务,看到密钥已经存在,并修改了默认答案,但即使在QnA Maker中重新训练

根据Microsoft提供的此文档

要更改您的机器人的默认答案,您应该转到“设置”下的“应用程序服务资源”>“应用程序设置”,然后编辑键“DefaultAnswer”的值

我在Azure中用于此项目的资源如下所示
MyBot(认知服务)
MyBot(应用服务计划)
MyBot(应用程序服务)
mybot随机字符串(搜索服务)
mybot(Web应用程序bot)
mybot(应用程序服务)

我进入“MyBot”应用程序服务,看到密钥已经存在,并修改了默认答案,但即使在QnA Maker中重新训练我的知识库,它仍然会以默认答案“未找到QnA Maker答案”进行响应

我重新启动了“MyBot”应用程序服务,重新培训并发布了知识库,但我仍然得到了默认答案。如果我查看“mybot”应用程序服务,没有这样的键,因此猜测它是“mybot”应用程序服务,我应该更改中的值


知道它为什么不起作用了吗?

我也遇到了同样的问题,在发送输出活动之前通过检查答案分数绕过了这个问题。在使用默认答案之前,我进一步调用了一个单独的社交会话KB(在企业级使用它)。代码如下:

//应用置信度过滤器
如果(qnaResult[0]。分数>最低分数){
outputActivity=MessageFactory.text(qnaAnswer);
}
否则{
//如果信心不足,请发送至社交谈话
var socialResult=wait SocialTalkHelper.queryQnAService(查询,oldState);
如果(社会结果[0]。分数>最低分数){
outputActivity=MessageFactory.text(socialResult[0].answer);
}
否则{
//如果对社交谈话信心不足,请使用默认答案
outputActivity=MessageFactory.text(默认答案);
}
}

defaultAnswer是我在代码前面定义的自定义默认答案字符串。让我知道如果你有任何困难让这个工作

由于某种原因,当我删除了我添加的“聊天”并且只有我自己的Sharepoint文档作为知识库的基础时,我能够对其进行测试并获得默认答案。

我使用了相同的文档并成功地更改了默认答案。只是想再次检查一下,当您更改默认答案时,是否单击应用程序设置顶部的“保存”选项,然后单击“刷新”选项?我只是去了我的应用程序服务,编辑了默认答案并保存和刷新。我回到我的QnA Maker,使用“测试”选项进行检查(甚至不需要重新训练我的知识库)。是的,我只是进入应用程序服务,检查默认答案值,我甚至按下“刷新”(“保存”变灰,所以保存了)我的自定义答案仍然存在。谢谢你的建议,但是我已经在Azure控制台中完成了所有操作,并且没有编写任何代码,因为我对.NET不太熟悉