Как использовать параметр strictFilters для QnA в nodejs с помощью botbuilder-ai sdk

#botframework #azure-language-understanding #qnamaker

Вопрос:

Я могу использовать параметр strictFilter при обычном вызове API rest для QnA Maker

 {
"question": "Campaign and AEM integration",
"top": 3,
"strictFilters": [{
    "name": "product",
    "value": "adobe"
}]
 

}

Но когда я пытаюсь сделать то же самое с помощью botbuilder-ai nodejs sdk, это не дает мне желаемого результата, я почти уверен, что он игнорирует параметр strictFilters.

Комментарии:

1. чтобы уточнить, когда вы отправляете запрос, скажем, непосредственно QnAMaker через почтальона, получаете ли вы правильный результат? А затем, когда вы попытаетесь использовать фреймворк бота Node.js SDK, он ведет себя не так, как ожидалось? — пытаюсь проверить, есть ли ошибка в SDK или что-то не так с самим QnAMaker

Ответ №1:

Честно говоря, запрос настолько прост, что я бы просто использовал REST вместо sdk. Я все еще использую request то, что устарело, но будет отлично работать с axios выбранным вами модулем или с вашим модулем. Вот мой, где я не отправляю фильтры, но у меня есть контекст, который я отправляю. Независимо от этого, это будет работать точно так же, если вы позвоните через почтальона или в пределах nodejs.

         const qnaResult = await request({
            url: url,
            method: 'POST',
            headers: headers,
            timeout: process.env.DEFAULT_API_TIMOUT,
            json: {
                question: query,
                top: 3,
                context: qnAcontext
            }
        });