我正在使用适用于Node.js和Microsoft Azure服务的botbuilder SDK V4开发一个机器人……
在.bot
文件中,我们找到了加密的LUIS应用信息。
{
"type": "luis",
"name": "luis",
"appId": <appId>,
"authoringKey": <authoringKey>,
"subscriptionKey": <subscriptionKey>,
"version": "0.1",
"region": <region>,
"id": <id>
}
我的问题是如何在.bot文件中更改我的机器人使用的LUIS应用程序?
在LUIS端点中,有一个名为staging的参数,它将指定我是在过渡模式还是生产模式下使用LUIS应用程序。
那么,如何在.bot文件中指定暂存或生产模式?
答案 0 :(得分:3)
您不能仅通过编辑机器人的配置来使用暂存插槽。
但是您可以将分段与识别器的选项一起使用,因此请使用另一个参数来激活分段使用。
从技术上讲,对LUIS应用程序的Staging
和Production
插槽的调用之间的区别可以在所调用的URL中看到,其中存在一个
staging=true
字段:
阶段:https://_AzureRegion_.api.cognitive.microsoft.com/luis/v2.0/apps/_AppId_?staging=true&verbose=true&timezoneOffset=60&subscription-key=_YourKey_&q=_YourQuery_
产品:https://_AzureRegion_.api.cognitive.microsoft.com/luis/v2.0/apps/_AppId_?verbose=true&timezoneOffset=60&subscription-key=_YourKey_&q=_YourQuery_
您可以在BotBuilder源中看到staging
从未在配置中使用。但是,在名为LuisRecognizer
的类中,您可以在存在options
布尔值的地方传递staging
,对于.Net请参见here,对于js请参见here。 / p>
因此在您的情况下使用js:
// Map the contents to the required format for `LuisRecognizer`.
const luisApplication = {
applicationId: process.env.appId,
endpointKey: process.env.subscriptionKey,
azureRegion: process.env.region
}
// Create configuration for LuisRecognizer's runtime behavior.
const luisPredictionOptions = {
includeAllIntents: true,
log: true,
staging: **POINT TO A CONFIG VARIABLE FOR EXAMPLE**
}
const luisRecognizer = new LuisRecognizer(luisApplication, luisPredictionOptions, true);