首页 文章

Azure QnAMaker Web App Bot与认知服务之间的响应不一致

提问于
浏览
0

我对针对Azure Web App Bot服务执行的问题(西班牙语)的响应存在差异,该服务查询QnAMaker实例以及针对该实例的特定QnAMaker服务直接执行的查询 .

对于这个特定情况,我在Bot的Web Chat和QnAMaker Test Chat上执行了相同的问题 . 在Bot的Web Chat检索到的几个响应中,我得到了默认消息(如果问题与答案不匹配),而在QnAMaker Test Chat检索到的响应中,我得到了知识库中匹配的答案 .

在下面的两个聊天中找到包含结果的屏幕截图:

Bot的网络聊天回复:Bot Chat Screenshot 01 Bot Chat Screenshot 02

QnAMaker测试聊天回复:QnAMaker Chat Screenshot 01 QnAMaker Chat Screenshot 01

检查了将QnAMaker服务与Bot集成的整个配置,看起来没问题 . 甚至,用于在Bot的应用程序设置中执行查询的QnaThreshold设置为0.04(4%匹配),以确保不过滤结果 .

我想问题是Bot的模块之间的配置差异,该模块针对QnAMaker服务构建POST请求 .

任何人都可以帮我解决这个问题,以确保Bot执行的请求与QnAMaker Test Chat执行的请求相同,并通过两个聊天获得相同的结果 .

谢谢

3 回答

  • 1

    Alternate questions可以提高与用户查询匹配的可能性 . 您可以尝试将该短语添加为现有QnA对的备用问题 .

    用于在Bot的应用程序设置中执行查询的QnaThreshold设置为0.04

    要解决此问题,可以尝试将 ScoreThreshold 设置为0,然后覆盖 RespondFromQnAMakerResultAsync 并检查QnAMaker服务返回的实际 QnAMakerResult .

  • 1

    我看到你问的问题并不完全相同“donde comprar entradas”<>“donde compro entradas”,这可以解释一些差异 .

    然后,我认为QnA Maker测试聊天使用某种登台环境,而Azure Bot Chat使用最后发布的KB版本 .

    您确定已发布上次更改吗?

  • 0

    问题已经解决了 . 问题是由App Settings变量的数据类型生成的 . 这些值是在IBM852中编码到process.env对象中的字符串,当Javascript将它们转换为float或integer类型时,生成的值不正确 . 在使用app.js中的应用程序设置变量之前应用相应的转换函数(如parseFloat()或parseInt())将解决此问题 .

    感谢Microsoft的Web App支持工程师Tyrel Roesler帮助我发现问题 .

相关问题