我对针对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 回答
Alternate questions可以提高与用户查询匹配的可能性 . 您可以尝试将该短语添加为现有QnA对的备用问题 .
要解决此问题,可以尝试将 ScoreThreshold 设置为0,然后覆盖
RespondFromQnAMakerResultAsync
并检查QnAMaker服务返回的实际QnAMakerResult
.我看到你问的问题并不完全相同“donde comprar entradas”<>“donde compro entradas”,这可以解释一些差异 .
然后,我认为QnA Maker测试聊天使用某种登台环境,而Azure Bot Chat使用最后发布的KB版本 .
您确定已发布上次更改吗?
问题已经解决了 . 问题是由App Settings变量的数据类型生成的 . 这些值是在IBM852中编码到process.env对象中的字符串,当Javascript将它们转换为float或integer类型时,生成的值不正确 . 在使用app.js中的应用程序设置变量之前应用相应的转换函数(如parseFloat()或parseInt())将解决此问题 .
感谢Microsoft的Web App支持工程师Tyrel Roesler帮助我发现问题 .