我正在使用带有 Orchestrator 的 Bot Framework SDK v4 创建一个 ChatBot。
根据文档,Orchestrator 通过使用预训练模型创建 .lu 和 .qna 文件的快照,然后通过参考 Orchestrator 快照根据用户输入分派到正确的 LUIS 或 QnAMaker 服务。
但是,对于我的机器人来说,它有几个知识库和几十个贡献者,这是一项非常乏味的任务。您必须通过 bf CLI 导出每个知识库
bf qnamaker:kb:export -o filename.qna --kbId="mykbid" --qnaFormat
然后将生成的 .qna 文件移动到 CognitiveModels 文件夹中,然后手动创建 Orchestrator 快照。然后我还必须将机器人重新部署到 Azure,以更新 Orchestrator 快照。
这意味着每次更新任何知识库时,我都必须定期手动执行此操作以更新机器人,以便 Orchestrator 正确分派到正确的 KB。我觉得这应该是在运行时自动化的东西。我在文档中的任何地方都没有看到这样做的方法。
由于 LUIS 模型没有定期更新,我认为我可以将默认情况设置为 QnaMaker,因此默认情况下任何未知意图都会映射到 QnAMaker,因此不必经常更新快照。但问题是,如果您有多个 QnAMaker KB,则无法将 KB 联合到单个 QnAMaker 端点(AFAIK;如果可能的话,这将解决我的问题),因此您必须重建 Orchestrator 快照以在不同的 KB 之间分派服务也是如此。
关于如何自动创建 Orchestrator 快照有什么建议吗?