Ответ 1
В двух словах:
- Сначала вам нужно создать учетную запись на luis.ai.
- Затем вам нужно следовать этой документации: http://docs.botframework.com/sdkreference/csharp/dialogs.html (начинается с классических диалогов, но заканчивается интеграцией Луиса).
Вот несколько шагов (но вы обязательно должны следовать руководству, которое я связал):
В основном это класс, который наследует LuisDialog<object>
, и вы должны поместить атрибут поверх него с помощью вашего Luis id и секретного
[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;
}
Наконец, чтобы начать диалог, вы должны вызвать это внутри своего контроллера:
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);
}
}