0

我正在使用带有 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 快照有什么建议吗?

4

1 回答 1

0

据我所知,没有自动化的方法可以做到这一点。如果您需要做的所有事情都在 CLI 中,您可以编写一个脚本来为您自动执行任务,然后根据需要运行它或使用 cron 之类的东西来自动运行它(假设运行脚本的机器在指定的时间)。

于 2021-12-13T21:18:35.500 回答