问题标签 [api-ai]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
186 浏览

node.js - 如何从节点 js 触发 api 以响应 apiai 查询请求?

我在节点 js 中使用 apiai 模块,我正在调用 apiai 查询。我想从我的 nodejs 而不是 apiai webhook 调用我的 web 服务。有没有什么机制。

0 投票
0 回答
497 浏览

json - API.ai Google Home Web Simulator 错误:“机器人现在没有响应。请稍后再试。” 错误:无法解析来自 http_response 的 SDKResponse

我恢复了一个代理(工作代理),Restore from Zip使用API.ai. 我在 API.ai 中测试了代理,它运行成功。

但是当我尝试将它与 Google Home 集成,并使用 Google Home Web Simulator 对其进行测试时,我得到了错误:

"Bot isn't responding now. Try again soon."

这是Response Json

"Failed to parse SDKResponse from http_response: 'HTTP/1.1 200 OK\r\nContent-Type: application/json;charset=UTF-8\r\nContent-Length: 230\r\nConnection: keep-alive\r\nDate: Tue, 09 May 2017 07:13:04 GMT\r\nServer: nginx/1.11.2\r\nAccess-Control-Allow-Credentials: true\r\nAssistant-Interaction-Error-Code: 1\r\nAssistant-Interaction-Error-Message: Empty speech response\r\nCache-control: no-cache=\"set-cookie\"\r\nSet-Cookie: AWSELB=9D5B4D210CCFFAF1BE1E0CD7C7E6FCBD7B46140CAAB35B563903DCE43FCC26342E3F89041AE3FE415E45579D21DA955B71D82B5CBB83188E876559AECB9AFBA466D1A80189;PATH=/\r\nX-Cache: Miss from cloudfront\r\nVia: 1.1 3212ba6c9a2d0009095ca19f00206ff3.cloudfront.net (CloudFront)\r\nX-Amz-Cf-Id: LUDwKPkUCwQJuK1elUUy3ZUZXTz-qcegNKGMUJv5Hb4k2a_ea2tRqg==\r\n\r\n{\"message\":\"Empty speech response\",\"apiResponse\":{\"id\":\"cd783d0c-11ab-438a-91ac-167f7998d678\",\"timestamp\":\"2017-05-09T07:13:04.382Z\",\"lang\":\"en\",\"result\":{},\"status\":{\"code\":200,\"errorType\":\"success\"},\"sessionId\":\"1494313984341\"}}'"

我将不胜感激任何帮助。

谢谢你。

编辑:解决方案

阅读Response JSON,我注意到:Empty speech response。我重新检查了我的 API.ai 代码并注意到其中一个Intents(在我的情况下Default Welcome Intent)正在提供输出Empty speech response.虽然在 API.ai 的控制台上这不是问题,但当您尝试链接到 Google Home Web Simulator 时,它不会工作。因此,如果您有类似的问题,也许故障排除的第一步是找出哪个Intent是给Empty speech response.

希望这可以帮助遇到类似问题的其他人。

0 投票
1 回答
1512 浏览

chatbot - 如何使用谷歌助手打开应用程序

我想让我的助手在手机上启动一个应用程序,可以吗?当我要求它给某人打电话时助手会这样做,或者有时当我要求某些东西时它会启动浏览器,我是否能够将用户传递到网页而不需要他点击richCard?

谢谢

0 投票
1 回答
262 浏览

internationalization - 谷歌国际化行动

上周在 Google I/O '17 期间,Google 宣布 Google Assistant 很快将在其他国家/地区(如法国、德国、日本......)推出。我是一名法国开发人员,我想为 Google 开发一个新的 Action助手。

目前只能用英语进行,但有人知道国际化系统是否可用,或者当 Google Assistant 可供法国人使用时,我是否必须开发我当前的英语代理的副本并将其翻译成法语?

如果创建了国际化系统,它是仅在 API.ai 上可用,还是仅在 Actions SDK 上可用,还是两者都可用?

提前致谢 :)

编辑:谷歌助手目前正在部署给法国用户(2017 年 5 月 29 日),现在确实需要一个国际化系统。

0 投票
1 回答
441 浏览

actions-on-google - 定义一个适当的实体来存储数字间隔

我想知道用间隔值定义不同类型实体的理想方法是什么。例如最大和最小数量。

我试图number-interval用最小值和最大值定义一个实体。然后用+定义了一个price-range复合实体。(见附图)@number-interval@sys.currency-name

这有两个问题。首先,用户说的方式太多了。例如,它可以识别User says: above 12 USD但不能识别User says: more than 12 USD

有没有更好的方法来定义它使用系统实体?

例如,假设我们想从用户那里收集两个不同的值。

另一个问题是,假设我们想从用户那里收集两种不同的类型值。如何区分正确的实体(price_range vs. size_range)?

例子:

  1. user says: 1200 to 1500get_price操作中。应该返回@price-range
  2. user says: 9-10get_size动作中。应该返回@size-range

PS 实体:

  1. 在此处输入图像描述
  2. 在此处输入图像描述
0 投票
1 回答
501 浏览

api-ai - 如何在生产中使用 API AI?

我正在考虑构建基于 API AI 的聊天机器人的生产版本。

我找到了几个链接,但没有好的答案(由于声誉太低,我无法发布它们)。

以下是问题列表:

  1. 如何处理平台更新? API AI平台更新前有通知吗?是否有任何测试环境可以在投入生产之前对升级后的平台进行测试?

  2. 如何设置非 PROD 环境(例如 dev/stage/prod)?除了设置多个帐户并在它们之间手动导出/导入代理配置之外,还有其他选择吗?

  3. 在商业上使用 API AI 的成本是多少?根据https://api.ai/pricing/,服务的使用是免费的。免费版可以处理的流量有什么限制吗?是否有用于商业用途的 API 付费计划?

0 投票
1 回答
160 浏览

google-cloud-platform - Actions-on-Google - 如何在模拟器中重新激活应用程序?

我试图将我的 Actions-on-Google 助手应用程序与 OAuth 2.0 集成。它不起作用,我正在玩 UI 翻转开关以找出可行的方法。当我停用该应用程序时,我无法重新激活它!

错误消息是“您的应用必须至少有一项操作才能测试”(屏幕截图)。但是该应用程序功能齐全,我可以在停用之前对其进行测试。应用代码在这里供参考。

图片

为了确保我没有搞砸其他任何事情,我还停用了另一个我已成功工作的类似项目编号精灵,它也无法再次激活并显示相同的消息!

如何重新激活模拟器进行测试?

0 投票
1 回答
1111 浏览

webhooks - 带有“建议芯片”的 Webhook 响应

我想根据 webhook 响应和建议芯片来指导用户。从 webhook 示例中,我看到以下结构:

但是,如果我想建议用户下一步可以请求继续对话,那么我如何在 webhook 响应中传递建议芯片?

0 投票
1 回答
479 浏览

dialogflow-es - 如何创建帐户链接?

我想创建 AccountLinking 来识别用户。

我尝试参考下面的链接。

然后,当我在 Google 模拟器上的操作上尝试帐户链接时。

我得到了这个结果。

然后我将该链接复制并粘贴到我的浏览器中。

但我得到了这个结果。

我该如何解决?

0 投票
0 回答
291 浏览

javascript - js文件与browserify捆绑时如何将js文件中的函数与dom元素绑定?

我正在用 npmjs 的 apiai 包制作一个聊天机器人。

我有一个名为“brain.js”的 javascript 文件,我已经对其进行了浏览化处理,以便 html 浏览器可以知道什么是 require 关键字。但是我面临的问题是,当我想将该函数(在 js 文件中)与 dom 元素绑定时,例如使用 onclick() 函数,我的函数似乎没有被正确引用。但是当我没有将它与 onclick 事件绑定时,一切似乎都正常。我很高兴从社区获得一些关于如何让我的聊天机器人在 html 中工作的建议。

这是 Brain.js 的外观:

}

我没有附上浏览器化的代码片段以避免该页面看起来笨拙。

这是我要运行的 html 文件:

如果还有什么不清楚的地方,请告诉我。我一直在努力寻找替代方案。因此,我们将不胜感激任何建议或干净的方式来做到这一点。提前致谢。