将请求交给其他意图
Handing requests off to other intents
我有一个具有 3 个意图的 dialogflow 代理:
- 默认欢迎意图
- 默认后备意图
- 我的意图
我的意图有一个 firebase 网络钩子来实现。当我进入与我的聊天机器人的对话时,我得到 Default Welcome Intent
。但是,当我问一个由 My Intent
处理的问题时,我似乎陷入了 My Intent
,即使在那之后我说了类似 hello
的话。如何退出我的履行并清除状态,以便默认回退和默认欢迎再次开始工作?我见过的很多实现示例都在自定义实现中处理这些其他意图,当您已经配置了这些默认值时,这似乎是错误的。另一个例子是,我启用了 SmallTalk
,在问了一个由 My Intent
填写的问题后,我问了 'how old are you',这个意图针对 My Intent
触发了 agent.smalltalk.age真的没有意义。
履行代码:
var https = require ('https');
const functions = require('firebase-functions');
const DialogFlowApp = require('actions-on-google').DialogFlowApp;
const WELCOME_INTENT= 'Default Welcome Intent';
const FALLBACK_INTENT = 'Default Fallback Intent';
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
let action = request.body.queryResult.action;
response.setHeader('Content-Type','applicaiton/json');
const parameters = request.body.queryResult.parameters;
console.log("action: " + action)
if (action === 'input.wifi'){
getClientCount(parameters['geo-city'], response);
}
});
function getClientCount(location, CloudFnResponse) {
var chat = "sample text";
CloudFnResponse.send(buildChatResponse(chat));
return;
});
});
}
function buildChatResponse(chat) {
return JSON.stringify({"fulfillmentText": chat});
}
默认后备意图:
默认欢迎意图:
我的意图:
请忽略最后一个屏幕截图中的 'end of conversation' 复选框,我正在尝试查看它如何改变我截屏时的行为。
关闭 smalltalk 解决了这个问题,从预建代理中导出所有 Smalltalk 意图并将它们导入我的代理中,让 smalltalk 正常工作。
我有一个具有 3 个意图的 dialogflow 代理:
- 默认欢迎意图
- 默认后备意图
- 我的意图
我的意图有一个 firebase 网络钩子来实现。当我进入与我的聊天机器人的对话时,我得到 Default Welcome Intent
。但是,当我问一个由 My Intent
处理的问题时,我似乎陷入了 My Intent
,即使在那之后我说了类似 hello
的话。如何退出我的履行并清除状态,以便默认回退和默认欢迎再次开始工作?我见过的很多实现示例都在自定义实现中处理这些其他意图,当您已经配置了这些默认值时,这似乎是错误的。另一个例子是,我启用了 SmallTalk
,在问了一个由 My Intent
填写的问题后,我问了 'how old are you',这个意图针对 My Intent
触发了 agent.smalltalk.age真的没有意义。
履行代码:
var https = require ('https');
const functions = require('firebase-functions');
const DialogFlowApp = require('actions-on-google').DialogFlowApp;
const WELCOME_INTENT= 'Default Welcome Intent';
const FALLBACK_INTENT = 'Default Fallback Intent';
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request, response) => {
let action = request.body.queryResult.action;
response.setHeader('Content-Type','applicaiton/json');
const parameters = request.body.queryResult.parameters;
console.log("action: " + action)
if (action === 'input.wifi'){
getClientCount(parameters['geo-city'], response);
}
});
function getClientCount(location, CloudFnResponse) {
var chat = "sample text";
CloudFnResponse.send(buildChatResponse(chat));
return;
});
});
}
function buildChatResponse(chat) {
return JSON.stringify({"fulfillmentText": chat});
}
默认后备意图:
默认欢迎意图:
我的意图:
请忽略最后一个屏幕截图中的 'end of conversation' 复选框,我正在尝试查看它如何改变我截屏时的行为。
关闭 smalltalk 解决了这个问题,从预建代理中导出所有 Smalltalk 意图并将它们导入我的代理中,让 smalltalk 正常工作。