Ald*_*tev 11 c# bots botframework azure-language-understanding
FormBuilder当我在路易斯创建时,我正试图结合我的意图.我只是找不到这样做的文档.
我想做以下事情:
我该怎么做呢?有教程吗?我看到人们在谈论LuisDialogs,但我只是不知道从哪里开始.
Eti*_*aff 16
简而言之 :
以下是一些步骤(但您应该遵循我链接的指南):
基本上它是一个继承的类,LuisDialog<object>你必须使用你的Luis id和秘密在它上面放置一个属性
[LuisModel("c413b2ef-382c-45bd-8ff0-f76d60e2a821", "6d0966209c6e4f6b835ce34492f3e6d9")]
[Serializable]
public class SimpleAlarmDialog : LuisDialog<object>
{ [...]
Run Code Online (Sandbox Code Playgroud)
然后,您将类添加到您的类并使用该LuisIntent(...)属性装饰它们.
[LuisIntent("builtin.intent.alarm.turn_off_alarm")]
public async Task TurnOffAlarm(IDialogContext context, LuisResult result)
{ [...]
Run Code Online (Sandbox Code Playgroud)
在方法内部,您可以使用如下代码搜索是否找到了实体:
EntityRecommendation title;
if (result.TryFindEntity(Entity_Alarm_Title, out title))
{
what = title.Entity;
}
else
{
what = DefaultAlarmWhat;
}
Run Code Online (Sandbox Code Playgroud)
最后,要启动对话框,您必须在控制器内部调用它:
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);
}
}
Run Code Online (Sandbox Code Playgroud)