Ответил в чате.
му я создал бота на лазурном и скачал его. 1000 бесплатных звонков от LUIS достигли своего предела. Я создал подписку на портале Azure (я сделал что-то с Docker-контейнером). Кругиэто руководство до шага 6. Когда я нажимаю URL-адрес конечной точки и выполняю запрос непосредственно в браузере, он работает нормально.
Я добавил его в бот через Bot Emulator, нажав + войти в сервисы и добавив туда модель бота. Но когда я запускаю бота, я получаю ошибку названия. Я заметил, что в файле .bot ключ авторизации и ключ подписки, добавленные эмулятором ботов, совпадают.
Поэтому я изменил ключ подписки на один из ключей, сгенерированных лазурью, и все еще с той же ошибкой. Я попытался сбросить авторский ключ и удалить мою учетную запись luis.ai и создать новую. (все тот же адрес электронной почты, поскольку он зарегистрирован на портале Azure.) и все тот же.
Вот несколько картинок для справки и ошибки.
Я также попытался проверить это в luis.ai и получил этот результат.
но когда я проверяю это установлено на новый ресурс.
Вот изображение файла бота после добавления luis через эмулятор бота. Имеет тот же ключ авторинга и ключ подписки (все еще запрещено)
поэтому я изменил его сейчас с ключом подписки (по-прежнему запрещено).
Здесь он работает правильно при тестировании непосредственно в URL.
Для справки:
Вот код для службы ботов.
using System;
using System.Collections.Generic;
using Microsoft.Bot.Builder.AI.Luis;
using Microsoft.Bot.Configuration;
namespace Microsoft.BotBuilderSamples
{
public class BotServices
{
public BotServices(BotConfiguration botConfiguration)
{
foreach (var service in botConfiguration.Services)
{
switch (service.Type)
{
case ServiceTypes.Luis:
{
var luis = (LuisService)service;
if (luis == null)
{
throw new InvalidOperationException("The LUIS service is not configured correctly in your '.bot' file.");
}
var endpoint = (luis.Region?.StartsWith("https://") ?? false) ? luis.Region : luis.GetEndpoint();
var app = new LuisApplication(luis.AppId, luis.AuthoringKey, endpoint);
var recognizer = new LuisRecognizer(app);
this.LuisServices.Add(luis.Name, recognizer);
break;
}
}
}
}
public Dictionary<string, LuisRecognizer> LuisServices { get; } = new Dictionary<string, LuisRecognizer>();
}
}
Я пытаюсь решить это уже 4 дня. Спасибо!