【发布时间】:2017-12-04 18:36:26
【问题描述】:
我使用 Microsoft Bot Framework 构建了一个能够与 api.ai 对话的机器人。现在,对于给定的用户输入,会收到回复。但是,api.ai 具有维护会话很重要的上下文概念。如何从 Microsoft Bot Framework 实现会话?
我的机器人代码(我已经更改了我的APP ID和密码):
`var builder = require('botbuilder');
var restify = require('restify');
var apiairecognizer = require('api-ai-recognizer');
var request = require('request');
//=========================================================
// Bot Setup
//=========================================================
// 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 bot
var connector = new builder.ChatConnector({
appId: '4c8f3u2b-c56n-4117-bc16-ec31eeb5d25c',
appPassword: '4CBNO8vBGtdcGh9PoiVYottY'
});
var connector = new builder.ConsoleConnector().listen();
var bot = new builder.UniversalBot(connector);
var recognizer = new apiairecognizer("84c78b2c15684c7380c6a74c8fbb343f");
var intents = new builder.IntentDialog({
recognizers: [recognizer]
});
bot.dialog('/',intents);
intents.matches('Flow_1',function(session, args){
var fulfillment = builder.EntityRecognizer.findEntity(args.entities, 'fulfillment');
if (fulfillment){
var speech = fulfillment.entity;
session.send(speech);
}else{
session.send('Sorry...not sure how to respond to that');
}
});
intents.onDefault(function(session){
session.send("Sorry...can you please rephrase?");
});`
【问题讨论】:
-
Bot Framework SDK 目前不支持开箱即用的 API.ai。您需要实施自定义解决方案。
-
我该怎么做?你能帮帮我吗?
标签: node.js bots botframework azure-language-understanding dialogflow-es