问题标签 [watson-assistant]

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 回答
113 浏览

node.js - 有没有办法在与机器人聊天时识别连接的用户?

所以我是 IBM Watson 助手的新手,我想知道,当我为发送消息的当前用户初始化会话时,我应该将它存储在哪里,以及如何告诉 watson 例如在 user1 和 user2 的 session_id 之间有所不同?

现在我尝试在 nodejs 中使用全局变量,但正如我所说的那样,我无法在多个用户的会话之间产生差异。

0 投票
1 回答
349 浏览

mysql - IBM Watson Assistant:如何从 AWS MySQL 表中读取数据并根据数据确定对话(是或否)?

我们有一个 AWS MySQL 用户表,其中有一列(标志)来指示用户是否是付费会员(是或否)。

IBM Cloud 上的 IBM Watson Assistant 能否读取数据,给定用户 ID,并根据是或否,继续进行不同的对话序列?

你有一个如何做的例子吗?

0 投票
1 回答
723 浏览

ibm-cloud - IBM Watson Assistant:如何解决 web_action 错误“内部错误:无法检索内容类型。”

我正在尝试将 IBM Cloud Functions 与 Watson Assistant 对话框连接为 web_action。所以我在 watson 对话框 json 编辑器中指定了 web_action 如下。

现在,问题是在测试助手时出现以下错误

内部错误:无法检索内容类型。(并且日志中还有 1 个错误)

在此处输入图像描述

以下是我在 IBM-cloud 上创建并为Web Action启用的函数:

我的函数的 CURL 是:

0 投票
1 回答
629 浏览

ibm-watson - Watson 助手 - 拼写 | 更新数组

我试图使用 Watson Assistant JSON Editor
现在这是设置

在 Spel JSON 上尝试

如果添加了“and”运算符,则返回“True” | $list=True
而不是我的数组更新为 $list['size']['location']

我只能通过添加另一个包含布尔部分的上下文变量来实现这一点

知道如何使用 1 个变量获得相同的输出吗?

0 投票
1 回答
871 浏览

session - IBM Watson Assistant:Skill 如何使用 WA API 的 V2 访问 session_id

IBM Watson Assistant 的 V2 API 要求您获取 session_id,然后在对 Assistant 的后续调用中使用它,以便在调用之间保留全局上下文值。查看我们与助手关联的预览链接网页,请求似乎包含一个值对象,其中包含一个技能有效负载的所有预期部分,以及一个 session_id。

我想在我的技能中访问此 session_id 以将其传递给可能希望在其 URI 中利用 V2 API 的技能的云函数。这可能吗?换句话说,在技能 JSON 内容中引用什么来访问 session_id 值?

我假设预览链接导致对助手使用 V2 API(似乎有一个中介服务于预览链接网页并向实际助手发出请求)并且我进一步假设在我的技能中设置 context.global 值会导致它们被助手回显,因为预览链接应该重用 session_id?

技能如何向助手提供可以删除 session_id 的反馈(例如,对话已结束),从而强制预览链接网页获得对新 session_id 的访问权限?

0 投票
1 回答
363 浏览

ibm-cloud - IBM Watson Assistant:通过 IBM Cloud Functions 检索特定对话

如何从所有聊天日志中提取特定用户对话?我注意到聊天日志 JSON 响应包含一个名为conversation-id.
我的目标是通过 Cloud Function 获取当前对话的特定对话 ID。那么,当对话开始时,我如何检索当前的对话 id?

0 投票
0 回答
108 浏览

ibm-cloud - IBM Watson Assistent:客户端操作调用以验证槽对话节点内的客户信息

在启用插槽的节点中,我需要针对客户端数据库(类型 = 客户端,而不是云功能或 Web 操作)验证第一个插槽。

我正在建立一个对话来处理代理和客户之间的电话。在开始节点之一,Watson 询问客户姓名、通话日期和通话目的。

我需要在一个节点中捕获所有这些信息,因为用户有机会在一句话中提供所有信息。

假设用户将输入“我今天与约翰进行了后续电话”

3个插槽的定义

在插槽 1 的设置中,我定义了一个操作来调用一个完美运行的外部函数,它根据数据库检查上下文$contact_person并将返回一个名为$default_contact_person的上下文变量。如果找到记录,则$default_contacted_person等于$contact_person,如果数据库中没有这样的名称,则$default_contact_person的值将是“No Record”

我还为第一个插槽创建了条件响应,以检查$default_contact_name的值

问题是它永远不会到达响应。非常重要的是,我不能将此节点拆分为两个节点,因为用户一次输入所有信息

节点设置

配置槽 #1

配置槽 > 响应 1

0 投票
1 回答
133 浏览

java - 在android中创建动态按钮

我正在开发 Watson Conversation 聊天机器人。我一直在尝试在我的聊天机器人应用程序中实现“选项”响应类型。我的问题是“在 Android 中创建 'n' 个动态按钮,其中 n 是后端中存在的选项标签名称的数量(IBM Watson Conversation)”

我已经能够以文本形式检索标签名称。现在我必须将这些标签名称放在“可点击按钮”中。这样,当用户单击按钮时,会将一个值传递给后端(Watson Conversation API)。

这就是我从后端检索选项(响应类型)的方式。Watson Conversation 以 JSON 的形式发送回复。

标签名称检索代码:

0 投票
2 回答
341 浏览

ibm-cloud - IBM Watson Assistant:我如何过滤“任何其他”的消息?

在分析 > 用户对话中,我想过滤掉我的 Watson Assistant 在其对话中无法回答的消息,即,当它返回 any_else 回复时。

但由于anything_else既不是意图也不是实体,我无法在UI 中通过它过滤消息。因此,是否可以通过助手的回复过滤消息,就像您可以使用用户语句一样?这样,每次助手回答“我不明白”时,我都可以过滤掉。

0 投票
0 回答
508 浏览

node.js - 如何将参数从 Watson Assistant 传递到部署在 IBM Cloud 上的云函数

我想要实现的目标:将参数传递到部署在 IBM Cloud 上的云函数中。

我尝试过的:以下是我保存在 Watson Assistant 节点中并尝试传递给 IBM 云功能的参数。

以下是我用来连接到我的 IBM 云功能的代码:

所以我认为参数 $startTime 和 $locationName 应该传递给 IBM 云函数。

然后在我的 IBM 云功能上,我使用这些代码:

响应给了我整个 JSON 数据包。例如,如果我想问 Watson Assistant“今天台北的天气怎么样?” 它给了我所有台湾条件而不是台北地区,我应该将“台北”存储为 $locationName。

我观察到 我在 IBM 云函数中使用“新北市”(区域名称)和 param.loactionName 测试参数。它给了我以下回应:

【参数-->“新北市”】它给了我与参数匹配的正确区域。

【params-->params.locationName】它给了我location[],然后我回到Watson Assistant检查对话,即使我输入“新北市”作为关键字,我仍然得到location[]作为反馈。