首页 > 解决方案 > 将参数传递到 Microsoft Azure QnA 机器人

问题描述

我想要一个 QnA 机器人,它根据我所在的站点返回一个特定的变量。(我的链接 {enviormentVar}/somepath.doc)

EG 如果我的机器人有一个站点https://mySitetest.com/home#我希望 QnA 在响应中返回 mySitetest 到 {enviormentVar} 并且它将是 mySitetest

如果我在https://mySiteLive.com/home#我希望将 {enviormentVar} 设置为 mySiteLive。

我可以用 QnA 机器人做些什么来实现这一点,还是必须在 .net 端?如果它是.net 方面,如果最好的方法是在.net 方面,那么最好的方法是什么?

标签: .netazureqnamaker

解决方案


对您上面所写的内容进行一些假设 - 您将 QnA Bot 部署到您的测试和生产环境中,并且只有一个 KB 由两个环境共享。

您可以使用 QnA Maker 提供的元数据功能来保存 URL 的公共子路径元素(假设文档存储目录结构在两种环境中相同。)

例如数据路径:documents/my-folder/my-subfolder/documents/word-document.doc

然后在.NET中,您可以读取具有路径的域/唯一位的环境变量

例如https://mySiteTest.com/home

然后,您将连接环境变量值和元数据值以获取完整路径。

例如https://mySiteTest.com/home/documents/my-folder/my-subfolder/documents/word-document.doc

要在 Azure 中填充环境变量,您必须将其添加到机器人的应用设置资源的应用设置部分。

显然,这不是超级可扩展的,并且会带来维护成本,但如果我对您的设置所做的假设是正确的,它可以解决您的问题。


推荐阅读