Я не совсем уверен, что понимаю ваш неотредактированный вопрос , поэтому я отвечу на него обоими двумя способами, которые я интерпретирую.
Добавление LUIS к боту
См. Core Bot Sample для справки.
- Добавьте информацию о подключении LUIS в файл
.env
MicrosoftAppId=
MicrosoftAppPassword=
LuisAppId=<AddMe>
LuisAPIKey=<AddMe>
LuisAPIHostName=<AddMe>
- Создание LuisRecognizer
const recognizer = new LuisRecognizer({
applicationId: process.env.LuisAppId,
endpointKey: process.env.LuisAPIKey,
endpoint: `https://${ process.env.LuisAPIHostName }`
}, {}, true);
- Получить результат и намерение ввода пользователя
const recognizerResult = await recognizer.recognize(context);
const intent = LuisRecognizer.topIntent(recognizerResult);
Примечание: Core Bot делает все это в luisHelper.js . Затем он вызывает что-то вроде bookingDetails = await LuisHelper.executeLuisQuery(this.logger, stepContext.context);
. Ты тоже можешь это сделать. Альтернативный метод, если вы хотите получить намерение каждого пользовательского сообщения, состоит в том, чтобы вместо этого включить шаги 2 и 3 (recognizer
, recognizerResult
, intent
) в onMessage()
.
Дополнительное примечание: Если вы хотите начать с LUIS из предварительно созданного семпла, в следующих семплах будет использоваться LUIS:
Запуск LUIS локально
Следуйте инструкциям LUIS для контейнера , чтобы запустить LUIS из Docker-контейнера.
По сути, вместо того, чтобы запрашивать ваше приложение на luis.ai
, вы настраиваете своего бота на запрос к вашему док-контейнеру, на котором запущена экспортированная, контейнерная версия вашего приложения LUIS. Если вам нужно улучшить точность прогнозирования приложения после того, как ваш бот некоторое время работал, вы повторно загружаете журналы запросов из своего контейнера обратно в LUIS.
Это довольно сложный и обширный урок, поэтому нет смысла публиковать его здесь. Если у вас возникли проблемы, не стесняйтесь открыть новый билет Stack Overflow.