【发布时间】:2021-07-05 01:36:47
【问题描述】:
如何防止 Azure 认知搜索服务在空载一段时间后变冷?
我在聊天机器人中使用 QnaMaker(托管 QnA Maker 服务版本)。
QnaMaker 在一段时间未使用后似乎处于空闲状态。第一个查询需要 7 秒才能完成。第一个查询之后的每个查询都会在一秒钟内完成。
聊天机器人本身(使用 Microsoft Bot Framework V4 nodejs 开发)显示没有延迟。即使有一段时间没有使用(感谢机器人应用服务中的“始终在线”功能)
我使用 QnaMaker 的稳定 GA 版本和托管版本(预览版)。在第一个版本中,QnaMaker 的 appservice 启用了“Always On”功能。对于预览版,没有可以查看的appservice。
Chatbotcode 初始化 QnaMaker
const { QnAMaker } = require('botbuilder-ai');
const endpoint_fr = {
knowledgeBaseId: process.env.QnAKbId_fr,
endpointKey: process.env.QnaEndpointKey_fr,
host: process.env.QnaHostName_fr
};
try {
this.qnaMaker_fr = new QnAMaker(endpoint_fr, {});
} catch (err) {
console.warn(`QnAMaker Exception: ${err} Check your QnAMaker configuration in .env`);
}
对 QnAMaker 服务的实际调用
qnaResults = await this.qnaMaker_fr.getAnswers(stepContext.context);
QnAMaker 堆栈链接到 Azure 搜索资源。我正在使用的具有定价层基本(1 个副本、分区和搜索单元)正在使用 10 个索引(允许 15 个)来存储 7 个知识库。地点是西欧。
如何防止 Azure 认知搜索服务在空载一段时间后变冷?
[更新] 进行了更多挖掘并得出结论,这种冷启动仅发生在(预览)托管服务中的知识库中。我决定将所有 KB 移至稳定版本,冷启动问题停止了。这也可能与我在西欧并且托管版本仅在北欧可用这一事实有关
【问题讨论】:
-
您能否详细介绍一下您的架构?我听说您正在使用 QnA Maker 服务、机器人服务和 Azure 认知搜索,但不确定它们是如何被调用的以及从哪里调用的,这将影响如何解决冷启动问题。
-
嗨@JenniferMarsman-MSFT。我确实添加了一些额外的信息。希望这就是您想要的。
标签: botframework azure-cognitive-search qnamaker