私はいくつかのLUISインテントを持つLuisDialogを持っています。これらの意図の中には、ユーザーに詳細な情報を求める必要がある場合があります。これらの場合、私はPromptDialogまたはPromptStringを使用しようとしています。LuisIntentの内部でPromptDialogを呼び出すにはどうすればよいですか?
私はalredyこの試みた:
[LuisIntent("MyIntent")]
public async Task MyIntent(IDialogContext context, LuisResult result)
{
if (result.Entities.Count == 0)
{
PromptDialog.Text(context, AfterUserInputSymbol, "Message to the user", "Try again message", 2);
result.Entities[0].Entity = userSymbol;
}
//some other code
context.Wait(MessageReceived);
}
private async Task AfterUserInputSymbol(IDialogContext context, IAwaitable<string> result)
{
userSymbol = await result;
context.Wait(MessageReceived);
}
そして、これを:
[LuisIntent("MyIntent")]
public async Task MyIntent(IDialogContext context, LuisResult result)
{
if (result.Entities.Count == 0)
{
PromptString dialog = new PromptString("Message to the user", "Try again message", 2);
context.Call(dialog, AfterUserInputSymbol);
result.Entities[0].Entity = userSymbol;
}
//some other code
context.Wait(MessageReceived);
}
private async Task AfterUserInputSymbol(IDialogContext context, IAwaitable<string> result)
{
userSymbol = await result;
context.Wait(MessageReceived);
}
どちらの場合も、プロンプトがユーザーに表示されず、userSymbol
の値はnullを取得します。私がコードをデバッグしているときには、AfterUserInputSymbol
と入力するだけです。result.Entities[0].Entity = userSymbol;
LuisIntentの詳細情報を表示するにはどうすればよいですか?
(あなたが達成しようとしているかに応じて、以前のものを保存する必要がある場合があります)コンテキストと新しいルイス結果を渡すあなたの意思を呼び出すことができますそれはしばらくの間はやってくれたんたらいくつかのテストやものが、それは素晴らしい仕事をした。ありがとうございました。 – artie