我正在为Google Home和Android移动助手制作助手应用
我在webhook 上使用Google Action上的Google图书馆,这是推荐且方便的方法
在我的特定情况下,我想从webhook中创建userEntity,这需要会话ID,但是我无法在webhook上获取sessionid
根据api.ai文档,它将Json发送到webhook像这样:
{
"lang": "en",
"status": {
"errorType": "success",
"code": 200
},
"timestamp": "2017-02-09T16:06:01.908Z",
"sessionId": "1486656220806" <<<<<<<<======here is session id
"result": {
"parameters": {
"city": "Rome",
"name": "Ana"
},
"contexts": [],
"resolvedQuery": "my name is Ana and I live in Rome",
"source": "agent",
"score": 1.0,
"speech": "",
"fulfillment": {
"messages": [
{
"speech": "Hi Ana! Nice to meet you!",
"type": 0
}
],
"speech": "Hi Ana! Nice …Run Code Online (Sandbox Code Playgroud) 有没有办法获得用户和代理之间的完整对话。与我通过单击历史标签获得的结果非常相似,但以编程方式获得。重点是将用户和代理之间的交互保存为文本。
提前谢谢各位了!
chatbot node.js api-ai dialogflow-es dialogflow-es-fulfillment
我想添加训练短语
Yes
I would love to
No
No, thanks
Run Code Online (Sandbox Code Playgroud)
并提取$extraCheese包含True或False稍后可以使用的布尔变量。如果我期望使用一种颜色,我会做$dressColor和@sys.color,但是然后找不到@sys.boolean
我该怎么做呢?
我正在创建一个Google Assistant应用程序来讲述报价,我目前正在使用Api.ai和ApiAi NodeJs webhook.我希望我的回答应该是这样的:
Innovation is the only way to win.
By Steve Jobs
Want one more?
Run Code Online (Sandbox Code Playgroud)
请注意,所有三条线都是不同的线.我知道如果我只使用api.ai的ux而不使用webhook(使用多个简单响应)是可能的,但是当与webhook结合时我无法弄清楚如何做到这一点.
我试过了:
assistant.ask("Innovation is the only way to win.");
assistant.ask("By Steve Jobs");
assistant.ask("Want one more?");
Run Code Online (Sandbox Code Playgroud)
但它似乎只说第一句话.我也试过用以下代替:
assistant.tell("Innovation is the only way to win.");
assistant.tell("By Steve Jobs");
assistant.ask("Want one more?");
Run Code Online (Sandbox Code Playgroud)
但它在第一个声明之后就退出了.怎么做?
我正在通过 npm 使用dialogflow v2。我只想welcome在对话框流中调用一个事件。我该如何在nodejs中做到这一点?我对此还很陌生。这是我的代码
const projectId = "xxxxxx";
const LANGUAGE_CODE = 'en-US';
const sessionId = req.body.sessionId;
var query = req.body.query;
const sessionClient = new dialogflow.SessionsClient();
const sessionPath = sessionClient.sessionPath(projectId,sessionId);
const request = {
session: sessionPath,
queryInput: {
text: {
text: query,
languageCode: LANGUAGE_CODE,
},
},
};
sessionClient.detectIntent(request).then(response => {
console.log('intent detected');
const result = response[0].queryResult;
console.log(` Query: ${result.queryText}`);
console.log(` Response: ${result.fulfillmentText}`);
if(result.fulfillmentText) {
console.log(result.fulfillmentText);
return res.json({reply: result.fulfillmentText})
}
// if(result.intent) {
// console.log(` Intent: ${result.intent.displayName}`)
// }
else …Run Code Online (Sandbox Code Playgroud)