Node.js 在一个bot中使用多个QnA服务
我有多个QnA服务正在运行,每个都有自己的Node.js 在一个bot中使用多个QnA服务,node.js,botframework,Node.js,Botframework,我有多个QnA服务正在运行,每个都有自己的knowledgeBaseId和subscriptionKey。我想在一个聊天机器人中同时使用它们,我已经编写了一段代码,它接受用户输入并分配正确的知识库细节。但是,我无法使第二个QnA服务变为活动状态,并且bot仅链接到第一个服务。这里可能出了什么问题 示例代码: var knowledgeId = "FIRST_QNA_SERVICE_KNOWLEDGE_ID"; var subscriptionId = "FIRST_QNA_SERVICE_SU
knowledgeBaseId
和subscriptionKey
。我想在一个聊天机器人中同时使用它们,我已经编写了一段代码,它接受用户输入并分配正确的知识库细节。但是,我无法使第二个QnA服务变为活动状态,并且bot仅链接到第一个服务。这里可能出了什么问题
示例代码:
var knowledgeId = "FIRST_QNA_SERVICE_KNOWLEDGE_ID";
var subscriptionId = "FIRST_QNA_SERVICE_SUBSCRIPTION_ID";
var bot = new builder.UniversalBot(connector);
var qnarecognizer = new cognitiveservices.QnAMakerRecognizer({
knowledgeBaseId: knowledgeId,
subscriptionKey: subscriptionId,
qnaThreshold:0.3,
top:1});
var intentrecognizer = new builder.IntentDialog();
var intents = new builder.IntentDialog({ recognizers: [intentrecognizer, qnarecognizer] });
bot.dialog('/', intents);
intents.matches('qna', [
function (session, args, next) {
args.entities.forEach(function(element) {
session.send(element.entity);
}, this);
}
]);
intents.matchesAny([/hi/i, /main menu/i], [
function (session) {
builder.Prompts.choice(session, "Hi, What would you like to ask me about?", ["Service1","Service2"],{ listStyle: builder.ListStyle.button});
},
function (session, result) {
var selection = result.response.entity;
switch (selection) {
case "Service1":
knowledgeId = "FIRST_QNA_SERVICE_KNOWLEDGE_ID";
subscriptionId = "FIRST_QNA_SERVICE_SUBSCRIPTION_ID";
session.send('You can now ask me anything about '+selection+'. Type \'main menu\' anytime to choose a different topic.')
session.endConversation();
return
case "Service2":
knowledgeId = "SECOND_QNA_SERVICE_KNOWLEDGE_ID";
subscriptionId = "SECOND_QNA_SERVICE_SUBSCRIPTION_ID";
session.send('You can now ask me anything about '+selection+'. Type \'main menu\' anytime to choose a different topic.')
session.endConversation();
return
}
}
])
您从未更新过QNAMAKER识别器上的
知识ID
/订阅ID
。。。这就是为什么你总是看到第一个QnA服务被调用的原因
查看是否有方法更新QnAMakerRecognizer上的
knowledgeId
中的这些值您从未更新过QnAMakerRecognizer上的knowledgeId
/subscriptionId
。。。这就是为什么你总是看到第一个QnA服务被调用的原因
查看是否有方法更新
QnAMakerRecognizer
中的这些值,查看我的回答是否符合您对这个问题的目的:
希望对您有用。检查我的回答是否符合您对这个问题的目的:
希望您觉得它有用。无法更新它。你能给我一个建议吗?也许只是重新创建识别器?无法更新它。你能给我一个建议吗?也许只是重新创建识别器?