1

ボット ビルダーには、LuisRecognizer と、メッセージを投稿してインテントとエンティティを取得する作業を行うその他の組み込みクラスが付属しています。

replaceDialog のように、新しいウォーターフォール/クロージャーを開始するのに役立ちますが、ビルドされたボットビルダー クラスで使用してルイスに投稿し、一致に基づいてそれぞれのウォーターフォール シーケンスを呼び出す方法はありますか?

以下を試しました。

  1. session.replaceDialog('/')。これは luis レコグナイザーを再度呼び出していないように見えるため、dialog.matches も呼び出されません。

  2. bot.receive(メッセージ). これは luis 呼び出しを実行せず、メッセージの意図とも一致しません。さらに、デフォルトでは、間違ったシーケンス ( bot.receive を呼び出す親シーケンス) に再び入るようです。

  3. IntentDialog.recognizeとintentDialog.invokeAction。認識はメッセージの認識に失敗します。

私は何を間違っていますか?ボットビルダー クラスを再利用する方法はありますか? Luis api を呼び出すための単純な REST クライアントを作成することを考えることができます。しかし、botbuilder のレコグナイザー クラスとインテント ダイアログ クラスの目的はまったく同じであるため、これは最後の手段です。

4

1 に答える 1

1

フラグの設定はトリックを行います。これで、すべての beginDialog でモデラーが呼び出されます。

dialog = new builder.IntentDialog({
        recognizeMode : builder.RecognizeMode.onBegin,
        });
于 2016-09-23T15:27:37.467 に答える