BotFramework-strictFilters用于过滤QnAMaker结果



https://github.com/microsoft/BotBuilder-Samples#qna-制造商样品

目前,我们在元数据中有一些基于位置的问题回答值。

在这些示例中,无法使用strictFilters选项从QnAMaker中筛选出常见问题解答。

如何编辑我当前拥有的QnAMakerCustomDialog.cs以添加到strictFilters中?它目前被设置为null,我尝试了几种不同的方法来添加过滤器,但它们返回语法错误。

为了根据与您在qnamaker.ai门户中应用的QnA对相关的元数据进行筛选,您只需要使用C#SDK中QnAMaker.GetAnswersAsync方法中的第二个参数,即QnAMakerOptions。您链接的示例(示例11.qnamaker)只是将QnAMakerOptions值设为null,但您可以直接填写它。


在链接示例中的QnABot.cs的OnMessage处理程序中,您可以执行以下操作:

// Create QnAMaker Options -- StrictFilters + Return Top 5 Answers
var twoStrictFiltersOptions = new QnAMakerOptions
{
Top = 5,
StrictFilters = new Metadata[]
{
new Metadata()
{
Name = "movie",
Value = "disney",
},
new Metadata()
{
Name = "home",
Value = "floating",
},
},
};
// Create your QnAMaker class that will call the QnA service, using the options you created
var qnaMaker = new QnAMaker(new QnAMakerEndpoint
{
KnowledgeBaseId = _configuration["QnAKnowledgebaseId"],
EndpointKey = _configuration["QnAEndpointKey"],
Host = _configuration["QnAEndpointHostName"]
},
twoStrictFiltersOptions,
httpClient);
// Query QnAMaker service
var response = await qna.GetAnswersAsync(turnContext, twoStrictFiltersOptions);

最新更新