如何将Luis连接到Node.js

时间:2017-12-05 08:50:34

标签: node.js botframework luis

这是我第一次使用node.js并且我必须将其连接到Luis,我到目前为止尝试做的是一个简单的示例,文档中的机器人重复用户说的内容并且给出了虽然我提到了文档https://docs.microsoft.com/en-us/azure/cognitive-services/luis/luis-nodejs-tutorial-build-bot-framework-sample,但我似乎错误地将LUISnode.js关联起来,这是一个错误 正是

// app.js - register LUIS endpoint API
var recognizer = new builder.LuisRecognizer(process.env.LUIS_MODEL_URL);
bot.recognizer(recognizer)

我的代码

var restify = require('restify');
var builder = require('botbuilder');
var http = require('http');
var recognizer = new builder.LuisRecognizer(MY_PATH_TO_LUIS_HTTP);
bot.recognizer(recognizer);
// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
   console.log('%s listening to %s', server.name, server.url); 
});

// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
    appId: MY_ID,
    appPassword:MY_PASS
});

// Listen for messages from users 
server.post('/api/messages', connector.listen());

// Receive messages from the user and respond by echoing each message back (prefixed with 'You said:')
var bot = new builder.UniversalBot(connector, function (session) {
    session.send("You said: %s", session.message.text);
});

我再次尝试将Luis成功连接到node.js然后在cmd中运行输出并在bot framework channel emulator中对其进行测试。 请注意,我已经测试了代码而没有添加

var http = require('http');
    var recognizer = new builder.LuisRecognizer(MY_PATH_TO_LUIS_HTTP);
    bot.recognizer(recognizer);

起初它工作正常,我知道我在LuiS中设置的内容与node.js应该做的不同(重复我的话)但我还是觉得如何链接事物。

编辑:我收到此错误Error

所以我转到命令行并使用此命令npm install --save recognizer然后通过添加var recognizer = require ('recognizer');导入到我的代码中 仍然没有工作。

1 个答案:

答案 0 :(得分:1)

你正朝着正确的方向前进。主要问题是你在做什么 宣布bot.recognizer之前bot :)(您在代码底部进行此操作)

此外,我相信它所缺少的是定义将处理来自LUIS的响应的意图方法。

您可能需要检查以下资源: