【问题标题】:How to call a LUIS Dialog outside of the MessagesController class如何在 MessagesController 类之外调用 LUIS 对话框
【发布时间】:2016-12-07 17:40:20
【问题描述】:

我想从 MessagesController 类之外调用一个 LUIS 对话框。我在 MessageController 类中创建了一个根对话框:

 if (activity.Type == ActivityTypes.Message) {
 await Conversation.SendAsync(activity, () => new MessageDialogHandler());

在我的 MessageDialogHandler 类中,我正在处理附件和文本输入。

if (activity.Attachments?.Count() > 0) {
            FaceAnalysis faceAnalysis = new FaceAnalysis();
            await faceAnalysis.AnalyseImageAsync(context, argument);
        }
else if(activity.Text.Length > 0) {
//here needs to be the code to call a LUIS dialog.
}

我有一个标准的 LUIS 类:

[LuisModel("App-ID", "SubscriptionKey")]
[Serializable]

public class LuisDialog : LuisDialog<object> {

如何从我的 MessageDialogHandler 类中调用该 LUIS 对话框? 是的,我确实阅读了这篇文章 Link,但它对我没有帮助。

感谢您的任何想法。

【问题讨论】:

    标签: bots botframework azure-language-understanding


    【解决方案1】:

    您只需要做一个上下文。将消息转发到 LuisDialog。

    await context.Forward(
          new LuisDialog(), 
          LuisDialogCompleted, 
          activity, 
          System.Threading.CancellationToken.None);
    

    要了解更多关于如何调用对话框,请参考this

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-23
      • 1970-01-01
      • 2014-02-18
      • 1970-01-01
      相关资源
      最近更新 更多