问题标签 [amazon-lex]

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 投票
1 回答
80 浏览

amazon - 如何在 Event Api 中检测提到的用户,即 @chatbot 和 @normaluser 之间的区别

0 投票
1 回答
415 浏览

chatbot - API.AI 上只有一个意图或多个意图

我使用 api.ai 创建了一个聊天机器人,它可以让你订购一系列服务,如“送货”、“家庭厨师”、“洗衣服”……

我应该只创建一个意图来捕获服务类型,还是应该为每个服务创建一个意图?(在每项服务中,我需要了解价格、日期和地点。)

我将通过基本聊天使用此代理。

谢谢!

0 投票
2 回答
5539 浏览

amazon-web-services - 从 AWS Lambda 函数获取对 AWS Lex 机器人的响应给出错误?

我创建了一个AWS Lex机器人,我正在lambda从该机器人调用一个功能。在测试lambda功能时,我得到了正确的响应,但在机器人上我得到了以下错误:

发生错误:收到来自 Lambda 的无效响应:无法构造 IntentResponse 的实例:没有字符串参数构造函数/工厂方法从字符串值('2017-06-22 10:23:55.0')反序列化 [来源:“ 2017-06-22 10:23:55.0"; 行:1,列:1]

不知道,出了什么问题,我在哪里失踪。有人可以帮助我吗?

0 投票
2 回答
2070 浏览

amazon-web-services - 将 AWS Lex 与 Skype 集成

我在 AWS LEX 中创建了一个聊天机器人,并希望将其与 Skype 集成。有什么办法可以实现吗?

我已经用 Facebook、Slack 和 Twillo 实现了它。

0 投票
2 回答
182 浏览

javascript - 尝试获取打开页面的设备的 IP 地址时,Javascript 页面不起作用

我正在研究web ui基于这个项目的项目。现在我要做的是,当用户打开网页时,ip address应该返回打开此页面的设备的 。为此,我在此处将以下代码添加到 javascript` 代码中:

我还在同一个代码文件<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>的顶部添加了。javascript现在在该代码文件sessionAttr的第 60 行调用常量(请注意,我已更改为)。sessionAttributes: config.lex.sessionAttributessessionAttributes: config.sessionAttr

当我尝试加载此页面时,没有任何显示。如果我不进行上述更改,则页面会正确加载。所以不知何故,我在我的补充中犯了一些错误,这导致了这个页面。

注意:我完全不熟悉,JavaScript但基于快速搜索,我进行了上述更改。我知道问题出在我正在进行的异步调用中,我浏览了这个建议的链接,但我无法找出正确的结构。谁能为我提供正确的语法,以便页面正确加载并返回ip address客户端并将其设置为sessionAttribute

更新:经过一些建议后,我对代码进行了以下更改(链接在这里 - https://jsfiddle.net/ywdeu0o4/3/

当我在打开控制台后运行此代码时,我undefined得到configDefault.Bot.sessionAttributes.ip. 为什么它是未定义的而不是 IP 地址?

0 投票
5 回答
3449 浏览

ibm-watson - IBM Watson 与 Amazon Lex(聊天机器人)

好的,所以我是新手,我正在一家软件公司实习。我们需要使用 Watson 或 Lex 构建一个聊天机器人。但我不确定使用哪一个。Lex 是否也有支持自动电子邮件对话的引擎?

0 投票
0 回答
335 浏览

amazon-web-services - Amazon Lex:无法让移动应用运行

我有一个可以在 AWS 控制台中完美运行的机器人。

我试图让它在使用 AWS MobileHub 的移动应用程序中运行,但效果不佳,我不知道为什么我完全被卡住了。

描述:我提出一个项目名称的请求,以获取该项目的任务列表。但首先我必须连接。“连接”请求从我的后端获取一个令牌并将其放入sessionAttributes中。其他请求必须在sessionAttributes中包含此令牌,否则机器人将要求进行身份验证。

该工作流程适用于 AWS 控制台机器人:

  1. 请求“项目 123 的任务” -> 回答“您必须进行身份验证”
  2. 请求“连接” -> 回答“您现在已连接”
  3. 请求“项目 123 的任务” -> 回答“项目 123 的任务是 4、8、11。选择一个任务以获取详细信息。”

现在应用程序会发生什么,在文本模式下:

  1. 请求“项目 123 的任务” -> 回答“您必须进行身份验证”
  2. 请求“连接” -> 无应答
  3. 请求“项目 123的任务”-> 应用程序崩溃

在第 3 步登录 Android Studio(崩溃):


在这里使用移动应用程序上的语音:

  1. 请求“项目 123 的任务” -> 回答“您必须进行身份验证”
  2. 请求“连接” -> 回答“您现在已连接”
  3. 请求“项目 123 的任务” -> 回答“您必须进行身份验证”

在第 1 步和第 3 步登录 Android Studio:


所以我尝试更改 lambda,所以我不需要连接部分(但它仍然使用请求的令牌,我只是在 lambda 中编写了令牌,而不是从后端获取它)。

  • 在 AWS 控制台中,我得到了任务列表
  • 在带有文本的移动设备上,我得到了任务列表
  • 手机有语音不行

最后一种情况的日志:

我不知道该怎么做,我什至不知道如何记录事情,如何检查从应用程序发送到 Lex 的内容以及 Lex 发回的内容。谢谢你的帮助。

0 投票
2 回答
521 浏览

amazon-web-services - Facebook 与 AWS Lex 集成的问题:让机器人访问 Facebook 朋友

我已经创建、构建并发布了一个示例 lex 机器人。

我按照此链接中的步骤在 Facebook Messenger 上部署机器人。(通过创建 facebook 页面、fb 应用程序并添加 webhook 等) http://docs.aws.amazon.com/lex/latest/dg/fb-bot-association.html

为了创建 FB 应用程序和页面,我使用了我的 Facebook 凭据。

问题:我能够从 facebook messenger(使用我的 facebook 帐户)与 bot 交互并从 bot 获得所需的响应

但是,当我的 facebook 朋友使用他的 facebook 帐户与 bot 交互时,他没有得到任何响应。

我在这里错过了什么吗?

0 投票
1 回答
2202 浏览

rest - 如何在 REST 客户端上测试我发布的 LEX 机器人

我已经创建了我的 lex 机器人并发布了它。我现在正试图从一个休息客户端测试它。

这个想法一旦从休息客户端工作,我可以使用休息调用将它与我的自定义 UI 集成。

在此处输入图像描述

我正在按照此链接 http://docs.aws.amazon.com/lex/latest/dg/API_runtime_PostText.html使用来自 posttext 的请求正文​</p>

当我从休息客户端使用它时,我得到了缺少身份验证令牌。

在此处输入图像描述

使用的端点 url 是https://runtime.lex.us-east-1.amazonaws.com

我是否应该在授权标头中添加一些东西,比如 AWS 签名或其他东西来完成这项工作。

0 投票
4 回答
3302 浏览

aws-lambda - AWS Lex 从 lambda 函数接收无效响应 - 无法构造 IntentResponse 实例

在 Eclipse AWS SDK 中使用 Java8,我创建并上传了一个 lambda 函数,该函数在实现我的 lex 意图时挂钩。Lambda 接收 JSON 请求并解析没有问题。然后,我格式化一个简单的“关闭”dialogAction 响应并发送回 lex,并从 lex 控制台中的 Test Bot 页面收到以下错误:

格式(第 1 行,第 1 列)似乎马上就有问题,但我的 JSON 字符串看起来不错。在handleRequest java函数中返回输出字符串之前,我将它写入Cloudwatch日志,它写如下:

我尝试过的事情:

  • 删除不需要的消息元素
  • 添加非必需的属性,如 sessionAttributes、responseCard 等
  • 删除双引号
  • 用单引号替换双引号
  • 从文档中的示例响应格式消息硬编码 json

是否在 http 标头级别隐藏了某些内容,或者 java8 是否对 JSON 执行了不可见的操作?