Я нахожусь в той же ситуации, что и многие, где я запускаю выбор. Скорее всего, LUIS выводит меня из моего WaterfallDialog и пытается сопоставить выбранный выбор с одним из моих намерений.Я видел много сообщений об этой же проблеме, и многие из решений включают использование LuisRecognizer.onEnabled()
для отключения вызовов LUIS, находящихся внутри dialogStack.Тем не менее, это должно быть изменено в v4 SDK, потому что этот метод больше не существует в классе LuisRecognizer (https://docs.microsoft.com/en-us/dotnet/api/microsoft.bot.builder.ai.luis.luisrecognizer?view=botbuilder-dotnet-stable). Я видел решение, включающее состояние не используется, однако в Startup.cs
у меня есть MemoryStorage
иЯ передаю его в то, что я считаю правильными местами:
public void ConfigureServices(IServiceCollection services)
{
services.AddBot<BasicBot>(options =>
{
...
IStorage dataStore = new MemoryStorage();
var conversationState = new ConversationState(dataStore);
options.State.Add(conversationState);
var userState = new UserState(dataStore);
options.State.Add(userState);
services.AddSingleton(sp => new BotServices(botConfig));
services.AddSingleton<BotAccessors>(sp =>
{
var options = sp.GetRequiredService<IOptions<BotFrameworkOptions>>().Value;
var accessors = new BotAccessors(conversationState, userState)
{
CommandState = userState.CreateProperty<string>(BotAccessors.CommandStateName),
ConversationDialogState = conversationState.CreateProperty<DialogState>(BotAccessors.DialogStateName),
};
return accessors;
});
services.AddSingleton(sp =>
{
var section = this.Configuration.GetSection("Luis");
var luisApp = new LuisApplication(
applicationId: "2d...",
endpointKey: "64...",
endpoint: "https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/")
var luisPredictionOptions = new LuisPredictionOptions
{
IncludeAllIntents = true,
};
return new LuisRecognizer(
application: luisApp,
predictionOptions: luisPredictionOptions,
includeApiResults: true);
});
}
С этой конфигурацией, я все еще получаю прерывание Луиса, когда я просто хочу перейти к следующему шагу диалога водопада после подсказки.У кого-нибудь есть идеи? Спасибо за вашу помощь.