Как изменить приложение LUIS для чат-бота в файле .BOT? - PullRequest
1 голос
/ 28 марта 2019

Я занимаюсь разработкой бота с использованием Botbuilder SDK V4 для Node.js и служб Microsoft Azure…

В файле .bot мы находим зашифрованную информацию приложения LUIS.

{
  "type": "luis",
  "name": "luis",
  "appId": <appId>,
  "authoringKey": <authoringKey>,
  "subscriptionKey": <subscriptionKey>,
  "version": "0.1",
  "region": <region>,
  "id": <id>
}

Мой вопрос: как изменить приложение LUIS, используемое моим ботом, в файле .bot?

в конечной точке LUIS есть параметр, называемый промежуточным, который будет указывать, использую ли я приложение LUIS в промежуточном или производственном режиме.

Итак, как указать промежуточный или производственный режим в файле .bot?

1 Ответ

3 голосов
/ 29 марта 2019

TL; DR

Вы не можете использовать слот Staging, просто отредактировав конфигурацию своего бота.

Но вы можете использовать постановку с опциями распознавателя, поэтому используйте другой параметр, чтобы активировать использование постановки.


Подробности - Использование Staging vs Production в LUIS

Технически говоря, разницу между вызовами в Staging и Production слотах приложения LUIS можно увидеть в 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_

Реализация в Bot Builder

В источниках BotBuilder вы можете видеть, что staging никогда не используется в конфигурации. Но в классе, названном LuisRecognizer, вы можете передать options, где есть логическое значение staging, см. здесь для .Net, здесь для js.

Так в 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);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...