如何防止Azure认知搜索服务在一段空载后变冷?
我在聊天机器人中使用QnaMaker (托管QnA制造者服务版本)。
在没有使用一段时间之后,QnaMaker似乎处于空闲状态。第一个查询需要7秒才能完成。第一个查询之后的每个查询都在一秒钟内完成。
聊天机器人本身(由V4 nodejs开发)没有延迟。即使在没有使用一段时间之后(多亏了bots appservice中的“始终打开”功能)
我使用稳定的GA版本的QnaMaker和托管版本(预览)。在第一个版本中,QnaMaker的appservice具有“始终处于”启用的特性。对于预览版本,我无法检查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认知搜索服务在没有负载的情况下变冷?
update做了更多的挖掘,得出这样的结论:这种冷启动只发生在(预览)管理服务中的知识库。我决定把所有的KB移到稳定版本,冷启动问题就停止了。这也可能与我在西欧的事实有关,而且管理版本只在北欧提供。
发布于 2021-05-04 09:45:58
我把我所有的QNA知识库移回到了稳定的版本。托管版本似乎导致了冷启动。不知道为什么但我的机器人又开始表演了。
发布于 2021-04-09 16:46:14
我很高兴你用的是“永远开”。QnA制造商团队有时建议使用Azure应用程序监视器添加快速可用性/网络测试(参见https://learn.microsoft.com/azure/azure-monitor/app/monitor-web-app-availability)。从本质上说,这是一种每隔几秒钟就可以解决冷启动问题的探测服务。
发布于 2021-04-13 17:57:02
我对against不太确定,但我确实有一个针对QnA Maker服务的定期测试,主要是为了监视正常运行时间,但它会使服务保持“温暖”。我设置了一个Azure函数(链接到与QnA Maker应用程序服务相同的),并让它在定义的时间间隔内进行标准REST查询(我使用15分钟,您可以使用任何东西,特别是如果您使用标准服务层,查询次数没有限制或额外成本)。您只需要从资源中获取适当的密钥,就可以发出请求并将其存储在您的配置或密钥库中,我假设您已经熟悉了这一点。不应该为你带来任何增加的成本。
如果只使用ping就可以保持服务的温暖,那么Jennifer的建议可能会奏效,但我可以告诉您,我通过Azure函数运行的自动化测试有0处问题。
https://stackoverflow.com/questions/67016588
复制相似问题