这有点奇怪。我已经在预览和普遍可用的QnA Maker服务中创建了一个具有相同excel文件的知识库,但它在最后一个中找不到很多问题...在预览中,一个工作正常。
我注意到,预览可以找到任何单词顺序的答案,但不是通常可用的。
我需要做什么?问题是什么?
编辑1:如果我进入我的搜索服务 - >搜索资源管理器它工作正常,我正确找到答案,如QnA预览测试,但不是在QnA GA测试中。
编辑2:我正在使用节点。我已经创建了一个天蓝色的SDKv3 Qna模板机器人,编辑了QnAAuthKey / QnAEndpointHostName / QnAKnowledgebaseId,我尝试了“网上聊天测试”,但我总是“不匹配!尝试更改查询条款!”信息。
此外,我试图获得“主机名”here,它不同于QnaMaker创建KB时给出的“主机”参数(以/ qnamaker结束)。然后我用它与代码从here得到答案,但我收到一个“未找到”错误:https://xx.azurewebsites.net/qnamaker/knowledgebases/xxx.../generateAnswer。错误:getaddrinfo ENOTFOUND https://xxx.azurewebsites.net https://xx.azurewebsites.net:443
编辑3:在使用我的KB的不同语言进行多次测试后,我认为问题在于语言识别的变化和置信度分数。我现在正在重写一些问题......
我们有类似的问题,看起来,它已经固定在MS方面。从头开始重新创建新的KB确实有帮助。
微软的回答:
看起来您的KB受到我们现在修复的最近错误的影响 - 它导致结果的相关性降低。您是否可以重新创建知识库并查看是否仍然面临这些查询匹配问题?
要快速重新创建KB,只需从知识库中的“设置”选项卡中“导出知识库”即可。在“设置”页面中创建一个新的空KB和“导入知识库”。
发布后,您获得所有必要的设置信息,如知识库ID,authkey,主机URL。你可以在这样的代码中添加
QnADialog.cs
namespace Test.Qna
{
[Serializable]
[QnAMaker(authKey: "AuthKey", knowledgebaseId: "KnowledgebaseId", defaultMessage: "please rephrase, I could not understand.", scoreThreshold: 0.5, top: 1, endpointHostName: "https://yourAccount.azurewebsites.net/qnamaker")]
public class QnADialog : QnAMakerDialog
{}
}
如果您使用的是Node js,那么您可以添加这样的设置
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});
var connector = new builder.ChatConnector({
appId: process.env.MICROSOFT_APP_ID,
appPassword: process.env.MICROSOFT_APP_PASSWORD
});
var bot = new builder.UniversalBot(connector);
bot.set('storage', new builder.MemoryBotStorage());
server.post('/api/messages', connector.listen());
var recognizer = new cognitiveservices.QnAMakerRecognizer({
knowledgeBaseId: '5abcde-cbfb-4yuio-92c5-052d3a806e78',
authKey: 'eb7uy78y-8a64-4e75-98uj-7f89987b67bc',
endpointHostName: 'https://name.azurewebsites.net/qnamaker'
});
var basicQnAMakerDialog = new cognitiveservices.QnAMakerDialog({
recognizers: [recognizer],
defaultMessage: 'No match! Try changing the query terms!',
qnaThreshold: 0.3
});
bot.dialog('/', basicQnAMakerDialog);
希望这会有所帮助。有关一步一步的指导,请关注this link