如何在 MessagesController 之外调用 LUIS 对话框 class
How to call a LUIS Dialog outside of the MessagesController class
我想从 MessagesController 外部调用 LUIS 对话框 class。我在 MessageController class:
中创建了一个根对话框
if (activity.Type == ActivityTypes.Message) {
await Conversation.SendAsync(activity, () => new MessageDialogHandler());
在我的 MessageDialogHandler class 中,我正在处理附件和文本输入。
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 class:
[LuisModel("App-ID", "SubscriptionKey")]
[Serializable]
public class LuisDialog : LuisDialog<object> {
如何从我的 MessageDialogHandler class 中调用该 LUIS 对话框?
是的,我确实读过这个 post 但它对我没有帮助。
感谢任何想法。
您只需要对 LuisDialog 执行 context.Forward 消息。
await context.Forward(
new LuisDialog(),
LuisDialogCompleted,
activity,
System.Threading.CancellationToken.None);
要了解有关如何调用对话框的更多信息,请参阅 。
我想从 MessagesController 外部调用 LUIS 对话框 class。我在 MessageController class:
中创建了一个根对话框 if (activity.Type == ActivityTypes.Message) {
await Conversation.SendAsync(activity, () => new MessageDialogHandler());
在我的 MessageDialogHandler class 中,我正在处理附件和文本输入。
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 class:
[LuisModel("App-ID", "SubscriptionKey")]
[Serializable]
public class LuisDialog : LuisDialog<object> {
如何从我的 MessageDialogHandler class 中调用该 LUIS 对话框?
是的,我确实读过这个 post
感谢任何想法。
您只需要对 LuisDialog 执行 context.Forward 消息。
await context.Forward(
new LuisDialog(),
LuisDialogCompleted,
activity,
System.Threading.CancellationToken.None);
要了解有关如何调用对话框的更多信息,请参阅