如何以编程方式将预测资源添加到 LUIS 应用

How to add a Prediction Resource to LUIS app programmatically

我正在使用 C# SDK 创建具有所需意图、话语和实体的 LUIS 应用程序,然后使用在 Azure 门户中创建的创作密钥来训练和发布应用程序。之后,我使用 REST Prediction 端点进行 Intent 匹配,直到现在我使用免费的 Starter Prediction Key。 Starter 密钥过期一个月后,我在 Azure 中创建了一个认知服务用作预测资源。现在,如何通过 SDK 或 REST 将这个新的预测资源(认知服务)添加到我的 LUIS 应用程序中?我可以通过 LUIS 门户执行此操作,但不需要手动干预。

创建预测端点资源后,该资源应仅用于端点预测查询,而不应用于对应用程序进行更改。如果您想通过不通过门户将预测资源添加到您的应用程序,并出于 CI/CD 管道等目的自动将资源分配给 LUIS 应用程序,那么您可以按照以下步骤操作:

  • 从此 website 获取 Azure 资源管理器令牌。此令牌确实会过期,因此请立即使用它。请求 returns Azure 资源管理器令牌。
  • 使用令牌跨订阅请求 LUIS 运行时资源,来自您的用户帐户有权访问的 Get LUIS azure accounts API

此 POST API 需要以下设置:

此 API returns LUIS 订阅的 JSON 个对象数组,包括订阅 ID、资源组和资源名称,作为帐户名称返回。在数组中找到一项,即要分配给 LUIS 应用程序的 LUIS 资源。

此 POST API 需要以下设置:

当此 API 成功时,它 returns 201 - 创建状态。

希望对您有所帮助。

Thanks, accepted. The only issue being, since I am doing every thing using SDK, it takes a lot of API calls to get things done. I mean to solve this, first I am generating a Token and then calling this API. A simple add default "Prediction Resource" for all apps on LUIS portal would have helped a lot. Anyways, thanks for this answer. – user3868541 Feb 3 at 9:45

同意添加默认预测资源会使一切变得更好。我仍然不确定如何以编程方式执行此操作。我正在尝试使用 SDK

在我的服务中做到这一点