私はluisとqnamakerのダイアログを使ってボットを作成しました。私の質問では、LuisDialog.csのコードの一部です。会話中にユーザーがqnaの意図(QnADialogのボットジャンブ)の一部である質問をしたが、ユーザーがボットに別の質問をしたときに他のインテントに渡したい。qnadialogを終了して他のルイインテントを続ける方法
LuisDialog.cs他の目的で更新されたコードです。私はqnadialogから、ユーザが、例えば意図をテストするために対応して質問を入力し
using Microsoft.Bot.Builder.Dialogs;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.Bot.Builder.Luis;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Luis.Models;
using Microsoft.Bot.Connector;
using MultiDialogsBot.Dialogs;
using System.Threading;
namespace MultiDialogsBot
{
[LuisModel("xxxxxxx", "yyyyyyyyyyy")]
[Serializable]
public class LuisDialog : LuisDialog<object>
{
private object activity;
public async Task StartAsync(IDialogContext context)
{
context.Wait(MessageReceived);
}
[LuisIntent("None")]
[LuisIntent("")]
public async Task None(IDialogContext context, LuisResult result)
{
string message = $"Désolé je n'ai pas compris '{result.Query}'. Veuillez formuler votre question";
await context.PostAsync(message);
context.Wait(this.MessageReceived);
}
[LuisIntent("test")]
public async Task test(IDialogContext context, LuisResult result)
{
await context.PostAsync("nous testons");
context.Wait(MessageReceived);
}
[LuisIntent("qna")]
public async Task qna(IDialogContext context, IAwaitable<IMessageActivity> activity, LuisResult result)
{
var msg = await activity;
// await context.Forward(new QnADialog(), ResumeAfterOptionDialog, msg, CancellationToken.None);
context.Call(new QnADialog(), this.ResumeAfterOptionDialog);
}
public async Task ResumeAfterOptionDialog(IDialogContext context, IAwaitable<object> result)
{
var messageHandled = await result;
if (messageHandled != null)
{
await context.PostAsync("Désolé je n'ai pas compris");
context.Wait(MessageReceived);
}
}
あなたが何をしたいのか説明できますか?それは明確ではない –
私はluisとqnamakerのダイアログを使ってボットを作成しました。私の質問では、LuisDialog.csのコードの一部です。会話中にqnaの意図(QnADialogへのボットジャンパー)の一部である質問をユーザーが作成したが、ユーザーがボットに別の質問をしたときに他のインテントに渡したい場合(私が今よりはっきりしていることを望みます) – user38
Ok、すべてのLuisDialog.csを追加できますか?明確にするには:あなたのQnA KBにフォールバックしたくない場合は、QnAが意図を取得する必要がありますか? –