问题标签 [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.
node.js - 如何从节点 js 触发 api 以响应 apiai 查询请求?
我在节点 js 中使用 apiai 模块,我正在调用 apiai 查询。我想从我的 nodejs 而不是 apiai webhook 调用我的 web 服务。有没有什么机制。
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
.
希望这可以帮助遇到类似问题的其他人。
chatbot - 如何使用谷歌助手打开应用程序
我想让我的助手在手机上启动一个应用程序,可以吗?当我要求它给某人打电话时助手会这样做,或者有时当我要求某些东西时它会启动浏览器,我是否能够将用户传递到网页而不需要他点击richCard?
谢谢
internationalization - 谷歌国际化行动
上周在 Google I/O '17 期间,Google 宣布 Google Assistant 很快将在其他国家/地区(如法国、德国、日本......)推出。我是一名法国开发人员,我想为 Google 开发一个新的 Action助手。
目前只能用英语进行,但有人知道国际化系统是否可用,或者当 Google Assistant 可供法国人使用时,我是否必须开发我当前的英语代理的副本并将其翻译成法语?
如果创建了国际化系统,它是仅在 API.ai 上可用,还是仅在 Actions SDK 上可用,还是两者都可用?
提前致谢 :)
编辑:谷歌助手目前正在部署给法国用户(2017 年 5 月 29 日),现在确实需要一个国际化系统。
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)?
例子:
user says: 1200 to 1500
在get_price操作中。应该返回@price-range
user says: 9-10
在get_size动作中。应该返回@size-range
PS 实体:
api-ai - 如何在生产中使用 API AI?
我正在考虑构建基于 API AI 的聊天机器人的生产版本。
我找到了几个链接,但没有好的答案(由于声誉太低,我无法发布它们)。
以下是问题列表:
如何处理平台更新? API AI平台更新前有通知吗?是否有任何测试环境可以在投入生产之前对升级后的平台进行测试?
如何设置非 PROD 环境(例如 dev/stage/prod)?除了设置多个帐户并在它们之间手动导出/导入代理配置之外,还有其他选择吗?
在商业上使用 API AI 的成本是多少?根据https://api.ai/pricing/,服务的使用是免费的。免费版可以处理的流量有什么限制吗?是否有用于商业用途的 API 付费计划?
webhooks - 带有“建议芯片”的 Webhook 响应
我想根据 webhook 响应和建议芯片来指导用户。从 webhook 示例中,我看到以下结构:
但是,如果我想建议用户下一步可以请求继续对话,那么我如何在 webhook 响应中传递建议芯片?
dialogflow-es - 如何创建帐户链接?
我想创建 AccountLinking 来识别用户。
我尝试参考下面的链接。
- https://developers.google.com/actions/identity/account-linking
- 如何在 Actions on Google 上仅使用 Google 帐户对用户进行身份验证?
然后,当我在 Google 模拟器上的操作上尝试帐户链接时。
我得到了这个结果。
然后我将该链接复制并粘贴到我的浏览器中。
但我得到了这个结果。
我该如何解决?
javascript - js文件与browserify捆绑时如何将js文件中的函数与dom元素绑定?
我正在用 npmjs 的 apiai 包制作一个聊天机器人。
我有一个名为“brain.js”的 javascript 文件,我已经对其进行了浏览化处理,以便 html 浏览器可以知道什么是 require 关键字。但是我面临的问题是,当我想将该函数(在 js 文件中)与 dom 元素绑定时,例如使用 onclick() 函数,我的函数似乎没有被正确引用。但是当我没有将它与 onclick 事件绑定时,一切似乎都正常。我很高兴从社区获得一些关于如何让我的聊天机器人在 html 中工作的建议。
这是 Brain.js 的外观:
}
我没有附上浏览器化的代码片段以避免该页面看起来笨拙。
这是我要运行的 html 文件:
如果还有什么不清楚的地方,请告诉我。我一直在努力寻找替代方案。因此,我们将不胜感激任何建议或干净的方式来做到这一点。提前致谢。