Конфигурация бота не содержит тип сервиса `luis` с идентификатором` basic-bot-LUIS`.(Ядро .NET) - PullRequest
0 голосов
/ 25 сентября 2018

Когда я пытаюсь создать Basic Bot

  • Шаблон Bot Builder V4 SDK для VS версии 4.0.6.6
  • VS 2017 Community
  • .NET core 2.1
  • обновление пакета в диспетчере NuGet (за исключением Microsoft.AspNetCore.All, поскольку требуется предварительный просмотр .NET 2.2)

После сборки и запуска.Я пытаюсь использовать Bot Emulator, откройте файл конфигурации .bot.Когда я отправляю сообщение боту.Я получил ошибку на консоли

 Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[0]
      An unhandled exception has occurred while executing the request
System.InvalidOperationException: The bot configuration does not contain a service type of `luis` with the id `basic-bot-LUIS`.
   at BotBasicV4.BasicBot..ctor(BotServices services, UserState userState, ConversationState conversationState, ILoggerFactory loggerFactory) in D:\workspace\AI_INTERN_BOT\BotBasicV4\BotBasicV4\BasicBot.cs:line 61
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitConstructor(ConstructorCallSite constructorCallSite, ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitTransient(TransientCallSite transientCallSite, ServiceProvider provider)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
   at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
   at Microsoft.Bot.Builder.Integration.AspNet.Core.Handlers.BotMessageHandlerBase.HandleAsync(HttpContext httpContext) in D:\a\1\s\libraries\integration\Microsoft.Bot.Builder.Integration.AspNet.Core\BotMessageHandlerBase.cs:line 63
   at Microsoft.AspNetCore.Builder.Extensions.MapMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
fail: Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware[0]

Здание Echo Bot V4 от Bot Builder v4 (4.0.6.6) в порядке.Но Basic Bot запускается с ошибкой при первом запуске (ничего не изменять)

Может кто-нибудь объяснить мне, почему это происходит?

Ответы [ 4 ]

0 голосов
/ 01 ноября 2018

Я прочитал все предыдущие ответы, но все же обнаружил, что файлу README.MD не хватает ясности относительно того, что мне нужно сделать, чтобы заставить проект Bot Builder Basic Bot V4 работать из коробки.

Итак, вот как выглядит файл BotConfiguration.bot, теперь, когда он компилируется и запускается:

{
  "name": "Bot_Builder_Basic_Bot_V4",
  "services": [
    {
      "type": "endpoint",
      "name": "development",
      "endpoint": "http://localhost:3978/api/messages",
      "appPassword": "",
      "version": "0.1",
      "id": "1"
    },
    {
      "type": "luis",
      "name": "basic-bot-LUIS",
      "region": "westus",
      "appId": "<APP ID>",
      "authoringKey": "<AUTHORING KEY>",
      "version": "0.1",
      "id": "basic-bot-LUIS"
    }
  ],
  "padlock": "",
  "version": "2.0"
}

Где следующие значения поступают с сайта https://www.luis.ai после созданияучетную запись и создание приложения:

  • <КЛЮЧ АВТОРИЗАЦИИ> <- нажмите свое имя в правом верхнем углу экрана, затем нажмите «Настройки».</p>

  • <идентификатор приложения> <- нажмите «Мои приложения» в верхней панели навигации, затем в приложении, а затем «Управление». </p>

ОБНОВЛЕНИЕ: Вот ссылка на страницу документов Microsoft, с дополнительной информацией об этом: введите описание ссылки здесь

0 голосов
/ 03 октября 2018

Шаблон Visual Studio не может создать необходимый файл: BasicBot.bot , что приводит к этой ошибке.Обратите внимание, что комментарий Радека остается в силе;Мне нужны были оба изменения для его работы (т.е. добавить раздел в BotConfiguration.bot).

0 голосов
/ 11 октября 2018

Комментарии Radek и markau верны, поэтому для решения этой проблемы я добавил раздел BotConfiguration.bot комментария Radek и создал файл BasicBot.bot в корне решения со следующим кодом.

{
  "name": "basic-bot-LUIS",
  "services": [
    {
      "type": "luis",
      "name": "basic-bot-LUIS",
      "region": "westus",
      "appId": "<your appID>",
      "authoringKey": "<your authoringKey>",
      "version": "0.1",
      "id": "basic-bot-LUIS"
    }
  ],
  "padlock": "",
  "version": "2.0"
}
0 голосов
/ 25 сентября 2018

Считайте файл README.md в сгенерированном проекте.Там вы найдете руководство по настройке приложения LUIS, которое будет использоваться ботом.Вам нужно настроить LUIS, а затем добавить конфигурацию, подобную этой, в массиве «services» в BotConfiguration.bot

{
  "type": "luis",
  "name": "basic-bot-LUIS",
  "region": "westus",
  "appId": "<your app id>",
  "authoringKey": "<your authoring key>",
  "version": "0.1",
  "id": "basic-bot-LUIS"
}
...