我已在LUIS
注册了一个应用程序,创建了我的意图/实体,并训练我的申请以确定出发/到达和日期。
当我测试它时,这很好用。根据我的意图,我还添加了参数和对话框提示。
例如,当使用搜索词Book a flight to Boston
时,我从LUIS获得以下Json数据:
"dialog": {
"prompt": "From where?",
"parameterName": "Departure",
"parameterType": "Location::FromLocation",
"contextId": "75747794-f724-4b93-9406-6231237a3d78",
"status": "Question"
}
在我的机器人中,我有以下LuisIntent
:
[LuisIntent("BookFlight")]
public async Task BookFlight(IDialogContext context, LuisResult result)
{
EntityRecommendation fromLocation;
EntityRecommendation toLocation;
EntityRecommendation travelDate;
if (result.TryFindEntity("Location::FromLocation", out fromLocation) && result.TryFindEntity("Location::ToLocation", out toLocation) && result.TryFindEntity("builtin.datetime.date", out travelDate))
{
await context.PostAsync($"You want to travel from {fromLocation.Entity} to {toLocation.Entity} {travelDate.Entity}");
}
else
{
//Add code to retrieve the weather
await context.PostAsync($"Could not parse your request");
}
context.Wait(MessageReceived);
}
这很好用,但我知道我不会使用LUIS
为我提供的生成的对话框数据。如何根据Luis返回的对话框数据动态生成对话框?