bot框架使用luis - 如何向luis发送单个请求

时间:2017-07-31 08:07:52

标签: botframework luis

我是luis和bot框架的新手。直到现在我学到的是如何通过路易斯认可的意图触发对话。但我不知道如何在对话框中向luis发送消息。我想使用' builder.EntityRecognizer.findEntity'方法。我非常确定我的builder.prompts.text只是给了我纯文本作为结果,而不是LUIS识别的这个文本的意图和实体。但我无法找到一个解决方案,我可以向luis发送一个请求,以便找回一个luis-json对象,我认为这个对象需要找到一个luis-json对象。方法。

bot.dialog('reklamation',[
function(session){
    session.send('Gerne kümmere ich mich um Ihre Reklamation.');
    builder.Prompts.text(session, 'Bitte nennen Sie mir Ihr Anliegen.');
},
function(session, results){
    session.dialogData.reklamation = results.response;
    session.send('Ich habe Ihre Mitteilung aufgenommen.');
    builder.Prompts.text(session, 'Bitte geben Sie mir eine E-Mail-Adresse, unter der wir Ihnen den aktuellen Stand Ihrer Reklamation mitteilen können.');
},
function(session, results){
    var email = builder.EntityRecognizer.findEntity(results.entities, 'email');
    session.dialogData.email = email;
    session.send('Ok! Ich habe folgende Informationen gespeichert:');
    session.send('Reklamationsgrund: ' + session.dialogData.reklamation);
    session.send('E-Mail: ' + session.dialogData.email);
    session.endDialog('Wir werden uns schnellstmöglich mit Ihnen in Verbindung setzen. Vielen Dank für Ihre Anfrage!');
}]).triggerAction({
matches: 'reklamation'});

我感谢任何建议。

1 个答案:

答案 0 :(得分:2)

在瀑布的第一步中检索实体。意图基本上在比赛中定义。因此,如果您的LUIS应用程序具有“reklamation”意图

,则会触发您的代码

然后您需要将第一个函数的签名更新为:

bot.dialog('reklamation', [
    function (session, args, next) {

然后你可以使用:

builder.EntityRecognizer.findEntity(args.intent.entities, 'email');

如果您正在寻找的是在瀑布的第一步之后手动调用LUIS,您可以尝试:

builder.LuisRecognizer.recognize("your input", modelUrl, (err, intents, entities) { ... }

请查看LUIS Node.js sample了解详情。