我在 Luis 中创建意图时,尝试将FormBuilder
与我的意图结合使用。我只是找不到文档来做到这一点。
我想做以下事情:
我该怎么做呢?有教程吗?我看到有人在谈论
LuisDialogs
,但是我只是不知道从哪里开始。 最佳答案
简而言之:
以下是的一些步骤(但您一定要遵循我链接的指南):
基本上,这是一个继承
LuisDialog<object>
的类,您必须在其中添加一个带有Luis ID和Secret的属性。[LuisModel("c413b2ef-382c-45bd-8ff0-f76d60e2a821", "6d0966209c6e4f6b835ce34492f3e6d9")]
[Serializable]
public class SimpleAlarmDialog : LuisDialog<object>
{ [...]
然后,将方法添加到类中,并使用
LuisIntent(...)
属性装饰它们。 [LuisIntent("builtin.intent.alarm.turn_off_alarm")]
public async Task TurnOffAlarm(IDialogContext context, LuisResult result)
{ [...]
在方法内部,您可以使用以下代码搜索是否找到了一个实体:
EntityRecommendation title;
if (result.TryFindEntity(Entity_Alarm_Title, out title))
{
what = title.Entity;
}
else
{
what = DefaultAlarmWhat;
}
最后,要启动对话框,您必须在 Controller 内部调用此命令:
public async Task<Message> Post([FromBody]Message message)
{
if (message.Type == "Message")
{
// return our reply to the user
return await Conversation.SendAsync(message, () => new EchoDialog());
}
else
{
return HandleSystemMessage(message);
}
}
关于c# - 如何将Luis集成到Bot Builder中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36873994/