首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法从QnAMaker获取某些输入的响应

无法从QnAMaker获取某些输入的响应
EN

Stack Overflow用户
提问于 2019-07-30 06:52:31
回答 1查看 100关注 0票数 0

当在QnaMaker中进行测试时,输入analyst reportanalyst reports会给出响应。然而,我们的bot解决方案中的调用并没有给出对analyst reports的响应--它只给出了analyst report的响应。返回的错误是

序列不包含任何元素

呼叫QnaMaker

代码语言:javascript
复制
QueryResult[] result = null;
try
{
    result = await botServices.QnaServices[FAQQnAMakerKey].GetAnswersAsync(dc.Context);
}
catch { /* ... */ }

预期输出与在QnaMaker中测试的输出相同-- analyst reportanalyst reports的响应相同。

EN

回答 1

Stack Overflow用户

发布于 2019-07-30 09:46:33

我猜‘分析师报告’和‘分析师报告’得到不同的分数,也许其中一个被bot框架过滤掉了。

QnAMaker类在构造函数中接受一个QnAMakerOptions对象,该构造函数默认为null,但我不确定QnAMakerOptions.ScoreThreshold默认为什么。您可以尝试将其指定为0,以确保得到任何响应。

代码语言:javascript
复制
var qnaMaker = new QnAMaker(new QnAMakerEndpoint
    {
      KnowledgeBaseId = _configuration["QnAKnowledgebaseId"],
      EndpointKey = _configuration["QnAEndpointKey"],
      Host = _configuration["QnAEndpointHostName"]
    },
    new QnAMakerOptions
    {
      Top = 3,
      Timeout = 10000,
      ScoreThreshold = 0F
    },
    httpClient);

或者,只需将这些选项添加到GetAnswerAsync()的函数调用中即可。

代码语言:javascript
复制
var response = await qnaMaker.GetAnswersAsync(turnContext, new QnAMakerOptions
    {
      Top = 3,
      Timeout = 10000,
      ScoreThreshold = 0F
    }
    );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57265884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档