我使用API.AI构建了一个小型对话机器人,其后端是Node.js。因此,每次用户发出请求时,它都会转到我的服务器,然后从我的服务器转到API.Ai,并遵循相同的路径进行响应
现在,我想把它和谷歌的行动结合起来。但是,googleactions允许我使用API.AI作为我的webhook,而我希望googleactions与我的服务器进行对话
我到处都查过了,找不到正确的流程。在将操作与定制的webhook而不是API.API集成时,我们将非常感谢您的帮助。正常的工作方式是让助手的谷歌服务器与A
我已经到处寻找解决方案,以运行发送电子邮件但找不到任何解决方案的意图。有人能帮忙吗?您可以在dialogflow webhook fulfillment intent中使用它来发送电子邮件
确保启用不太安全的应用程序来使用gmail发送电子邮件
使用nodemailer从您的意图发送电子邮件的代码:
app.intent('sendMail', (conv, params) => {
const nodemailer = require('nodemailer');
我必须将大量实体和培训实例上传到DialogFlow。手动输入它们不是一个选项,因为它们使用的语言我并不精通
我已经签出了dialogflow SDK for python,但这也需要在代码块中输入每个实体。有没有办法进行批量上传?感谢在实体编辑器中,您可以进入原始模式并提供JSON或CSV进行导入。没有类似的训练短语的能力
我们可以在dialogflow中添加5个以上的输入上下文吗?我在尝试添加5个以上的输入上下文时出现上述错误不,无法在一个意图中使用5个以上的输入上下文
即使输入5个输入上下文,所有5个输入上下文也必须处于活动状态,否则将无法获得响应
因此,我正在创建一个聊天机器人,用户可以在其中询问常见问题并订购贷款项目。我正在努力解决的一点是,当用户在一句话中对多个事物下订单时,如何将参数和值配对
例如:
用户希望订购5种不同数量的商品:
“我想订购3部手机、2个手机套、3根电源线、1个屏幕保护器和1个蓝牙扬声器”
我希望它这样做,并将数量与项目相关联。比如:
3-电话
2-病例
3-电源线
1-屏幕保护器
1-蓝牙扬声器
谢谢 将金额和产品配对的一种方法是使用复合实体。
复合实体允许您在单个实体中将值配对在一起。因此,在您的示例中,可
我试图在Dialogfow中检索用户的位置。下面是文档和博客,这是我在index.js文件中写的内容
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
const {Permission} = require(
我将Dialogflow与一个定制服务器一起用作后端服务器,偶尔发送JSON以完成任务
例如,我想在我的系统中进行一次非常简单的登录。为此,我有一个意图“session.login”,它有一个必需的参数,即用户名:
该意图已启用,我的后端只需检查数据库中是否存在给定参数username,然后转发(使用后续事件)到另一个意图“登录失败”或“登录成功”:{“followEventInput”:{“name”:“登录失败”,“languageCode”:“en”}
到目前为止,这一切都是可行的,但现
我想知道对话框流是否可以存储参数值而不设置其实体。例如,机器人询问用户您的姓名?用户用杰克回应。因此dialogflow将在参数中存储值“John”。谢谢。Dialogflow Web UI
因此,当使用Dialogflow Web UI时,与实现相比,您的选项有点有限,并且您无法真正绕过实体。在Web UI中,从用户输入中提取值的最佳方法是使用实体和。通过Web UI使用“原始”输入的唯一方法是使用@sys.any实体,但您应该注意这一点
@sys.any实体从用户处获取完整的输入并将其提供给
我已经为GoogleAssistant(使用Dialogflow)设置了与自定义OAuth端点的帐户链接,但找不到注销用户的方法。没有像登录(actions\u intent\u sign\u in)那样的内置操作来触发注销,也没有办法清空“user”对象,该对象包含在每个向我的webhook发送的请求中传递的访问令牌
有人知道如何手动取消用户帐户的链接吗
类似的问题,但没有可行的答案。 < P>在任何时候,你可以返回一个HTTP 401“未授权”的代码,谷歌会考虑令牌无效的未来。这相当于将用户
我正在使用DialogFlow开发一个google home speaker应用程序
我的场景是,如果用户登录,则应用程序会显示用户的特定信息;如果用户未登录,则应显示一般信息
我填写了账户链接部分(链接类型:OAuth)
(对话框流程->集成->谷歌助手->管理助手应用->账户链接)
我还未选中DialogFlow的Google assistant集成选项窗口中的“需要登录”
我的意图代码使用的是conv.ask(),而不是conv.close()
但当我在模拟器上运行测试时
这表明它没有链接
如何创建自定义系统上下文以将值从API传递到不依赖于任何事件的dialogflow。
我试图将其放在输出上下文中,但由于上下文名称不存在,它给出的错误参数无效
下面是我正在用Java编写的伪代码,
1.通过设置凭据提供程序定义contextSettings对象。
2.使用contextSettings对象创建ContextClient对象。
3.通过设置父对象和上下文对象来创建CreateContextRequest对象。
4.使用ContextsClient.CreateContextRequ
我有一个自定义的DialogFlow,它在完成时处理用户输入并提取搜索关键字。DialogFlow然后将搜索关键字发送到我的Webhook
我的Webhook在我拥有的数据库中查找搜索关键字,并返回结果
现在,只要结果很短,这种方法大多效果很好。用户进行搜索,返回结果并由谷歌助手读取
但是当搜索结果很长并且超过某个字符数时,搜索结果会被剪切,后面跟着椭圆。很快就会出现“Google助手未响应”错误消息。值得一提的是,谷歌助手甚至没有开始阅读文本。它只是崩溃了
现在,我想做的是显示长期结果。类似于
我如何确保当用户回答问题时:
“你想要一首快乐、悲伤、愤怒或自信的歌吗?”
使用“愤怒”时,代理是否将用户带回“愤怒”意图(它是祖父母的兄弟),而不是默认的欢迎意图
以下是我的布局:
DefaultWelcomeIntent-->-Happy-->-Happy Noincorrect情绪(返回DefaultWelcomeIntent)
用户对最初的“感觉怎么样?”问题回答“高兴”
实际响应:返回默认的欢迎意图
预期反应:达到愤怒的目的
预期反应:达到愤怒的目的
我已将输出上下文设置为愤怒、悲伤和
我正在尝试将CSV格式的实体作为批量上传到DialogFlow实体界面。
我得到以下错误:
“药物”实体中的错误:同义词的数量大于200
请告知如何将大量实体上载到DialogFlow?已解决!
方法是以以下格式上传:
"item1","item1"
"item2","item2"
"item3","item3"
"item4","item4"
"item5","item5"
"item6","item6"
"item7","item7"
"item8","item8"
我们正在为NLP使用DialogFlow。我们的代理人有几百个意图。在许多情况下,我们需要可用的国家参数(我们在特定交互/对话期间检索客户的国家,对于某些输入频道,我们直接从频道检索此信息,例如从whatsapp编号等)。有没有任何方法可以在不使用事件或上下文的情况下传播国家参数?动机很明显:我们不想手动创建所有意图的上下文,一些智能解决方案在这里会很方便。您可以做的是始终使用req.queryParams.context中的yourCustomContext上下文和country参数发送det
我已将帐户链接添加到我的项目中,并尝试
身份验证代码和隐式流以及我的帐户链接均已成功完成
完成后,我尝试了谷歌助手应用程序的帐户链接,它被链接了
在流隐式和身份验证代码中都成功,但我找不到
我的webhook调用的请求正文和请求头中的访问令牌,I
到处搜索,但请求中缺少访问令牌,我正在使用新的Actions Builder进行开发。根据doc,访问令牌应该在user对象中,但在我的例子中不存在
以下是请求
{
"requestJson": {
"
我正在尝试使用api.ai设计一个简单的机器人。我想做的是当用户问一个特定的问题时,例如我想设计一个网站,我想返回一个选择列表。e、 g.你想开发什么样的网站
1) 静态
2) 动态
3) 单页设计
一旦用户点击其中一个(或者他可以输入一个选项编号),我就可以得到他的选择,这样我就可以提供关于所选选项的更多信息
如何在api.ai中实现这一点?定义开发人员实体“网站种类”(如果需要,使用同义词):
-静态/固定
-动态的
-单页设计/单页
用这个实体定义你的意图“我怎样才能设计一个静态网站”:你
我知道这个问题可能听起来很困惑,但基本上我的代理会问用户3个是或不是问题,然后用户会回答每个问题,请注意,每个问题本身就是一个意图,无论如何,我成功地做到了这一点
现在,在用户询问并回答问题后,我希望代理给出最终答复,但这必须取决于用户给出的答案
例如,如果用户的回答是(是或否),那么它会为我设置的每个组合给出一个特定的响应,依此类推
这能做到吗 您可以使用后续意图使用API.AI实现这一点。您必须跟踪用户对实现中每个匹配意图的响应,然后提供最终响应
我正在开发一个Dialogflow项目,我需要一种方法来告诉或询问用户,而无需等待语音命令,但我还需要会话保持打开状态。
我不能使用tell,因为它基本上会立即终止会话。
Ask始终等待用户的语音命令。如果它无法获得任何语音命令,那么它只会结束对话
假设用户在该状态下有多个选项,用户可以随时说出一个可用命令,如next或previous,flow将继续工作
例如,我们得到想要的状态,然后:
user: next
google-home: got it! (Do not kill the sess
我已将dialogflow项目导入rasa,但在我的实体中,我得到了一些预构建的dialogflow实体,如下所示:
然后,在我的fieldValue2_entries_fr.json文件中,我有:
[
{
"value": "@sys.street-address:street",
"synonyms": [
"@sys.street-address:street"
]
},
{
"value": "@sys.email:mail",
我正在创建一个UI应用程序,通过它我可以通过拖放功能创建语音用户交互,现在我的整个实体和意图都以.json文件的形式创建
谷歌是否有任何api可以在谷歌操作控制台中创建项目,也可以在Dialogflow中创建代理并将我的zip导入Dialogflow。有用于项目管理的api,但没有通过操作控制台创建或控制项目的api。有用于项目管理的api,但是没有API可以通过操作控制台创建或控制项目
我已经创建了1个Web演示DialogFlow代理,并在我的站点中添加了Iframe。现在我的要求是,当登录用户看到这个代理窗口时,自动登录的用户名应该显示“Hi Monty”
我想悄悄地将用户名和密码从我的网站传递到dialog flow,然后在Webhook的帮助下对其进行身份验证,获取配置文件,然后在代理中显示用户名
请让我知道,我该怎么做
我正在尝试为包含确认的意图创建自定义回退。代码如下:
const functions = require('firebase-functions');
const {
dialogflow,
Confirmation
} = require('actions-on-google');
const app = dialogflow({
debug: true,
});
app.intent('vitals-confirmation', (conv, input, co
我正在使用dialogflow代理构建一个google操作。现在,在dialogflow代理的每个响应都处于活动状态后,我希望在代理的响应之后,麦克风处于非活动状态。有没有一种方法可以让我在google action中配置,在响应后停用麦克风?google上的Actions有一种有意的对话体验。您通过调用开始对话,它会响应,您会响应,等等
如果某个动作想要结束对话,它可以这样做并关闭麦克风
平台不鼓励用户体验提供响应且不希望用户回复的行为。我一直在随机选择一个“下一步是什么”提示。我不知道它是否
有没有办法在Dialogflow中保存预定义的自定义后续意图?假设我有一个可以在多个地方作为后续使用的自定义意图,最好能够创建一次,然后直接从下拉列表中选择它,而不是每次创建一个具有相同训练短语的新意图
提前感谢您的帮助 在这种情况下,比使用后续意图更好的是使用。(不管怎样,后续的意图只是在幕后使用上下文)
在这个方案中,对于您可能希望以相同方式考虑和处理一组特定回复的每个意图,您将设置一个输出上下文。您可能希望为上下文设置一个较短的生命周期(Dialogflow默认情况下将其设置为5,但当它有
我已经使用dialogflow为google Assistant创建了一个操作。我陷入了这样一种情况:用户在对话之间会被提供Web链接。一旦他点击链接,他将被引导到网页上传图像。在他上传图像后,我想将他重定向到google操作中的同一个会话。有什么方法可以重定向吗用户返回到相同的操作会话。您不需要返回到相同的会话,这是不可能的
只要用户经过验证(系统可以识别他们或他们的语音),并且没有禁用数据存储,您就可以在conv.user.storage对象中进行操作。如果您使用的是node.js,它可能会
我一定错过了什么,因为我的意图是永远不会调用我的实现脚本
我创建了一个intent,假设它被称为xyz。它很简单,只是有一些短语可以调用
我在fulfillment下创建了JavaScript,它有一个名为abc()的函数,应该调用该函数。我还补充说:
intentMap.set('xyz', abc);
但是当我测试xyz的短语时,我的实现从未被调用,我只是得到对不起,项目名称现在没有响应。请稍后再试。
我甚至看不到我脚本第一行的日志
前几行是这样的:
exports.dialogflow
我试着用链接出来的建议来回应谷歌助手
我测试我的应用程序并:
若我设置了默认响应,那个么默认响应也可以准确地工作
如果我设置了唯一的链接建议,那么我的测试应用程序将不会响应
我应该怎么做才能使GOOGLE ASSISTANT响应准确无误,而不是默认响应?除了链接建议之外,您必须至少包含一个简单响应。如果您在“默认响应”部分中有响应,并且设置了“使用默认选项卡中的响应作为第一个响应”(您可以这样做),那么它将使用这些响应作为简单响应
然而,如果你已经设置了它,你必须为谷歌助手设置你自己的简单
我已经通过googleactions Builder(不是SDK)为Google助手创建了一个项目。我成功地连接到我的webhook(实现),但发现没有类似于@sys的意图。Dialogflow中的任何都允许将任何用户响应发送回我的webhook。每次它都会触发不匹配意图,然后最终结束对话
我已经设计了一个强大的实现,以适应一系列的答案,并希望谷歌的行动继续发送任何答案回我的实现,但我找不到一个意图,允许任何答案触发我的网络钩子。是否存在调用每个响应的简单意图(场景)
或者连接到Google A
我在actions和parameter下创建了一个名为“Purpose”的参数。我将其作为所需参数给出,并在提示中给出“目的是什么?”。我正在尝试的实体类型是@sys.any
在我给出了诸如“儿童保护服务”或“儿童保护服务”之类的提示后,我收到了模拟器的回复,“我错过了,你能再说一遍吗”或“对不起,我听不懂”
这是两周前的工作,突然在DF发生了这样的事情。我也尝试了另一种方法,创建用户定义的实体,但没有任何帮助
对话框流中发生了任何更新,我必须更改任何内容才能工作吗?这是一个错误!从昨天起,谷歌
我正在使用Api.ai构建一个应用程序,其中我需要通过基本卡响应名为Login的意图。我在没有webhook实现的情况下尝试这个。
By Api.ai try部分我的查询返回以下内容:
{
“id”:“bb09aa94-a2d0-48d5-8c7f-62fc688d17b1”,
“时间戳”:“2017-07-06T13:19:30.776Z”,
“郎”:“恩”,
“结果”:{
“来源”:“代理人”,
“resolvedQuery”:“登录”,
“操作”:“登录”,
“ActionComplete
我使用DialogFlow API从句子中检索意图和实体。当我定义自定义实体时,它们会在API的JSON响应中正确返回
但是,DialogFlow已经定义了系统实体,以涵盖诸如@sys.date of@sys.name之类的一般情况,这些系统实体永远不会出现在响应中
例如,这句话:嗨,我在法国,我将在1月1日星期二离开是吗
应该为星期二和一月一日输出两个@sys.date实例,它们在控制台中有,但在API的响应中没有
你知道这是标准吗?如果不是,我做错了什么
谢谢你的帮助 无法通过API检索系统
我正在构建我的第一个谷歌助手dialogflow
在我的意图中,我向用户请求一个日期
然后我想把这个日期放回意向书的回复文本中
如果我们是2018年2月25日,并且用户说“今天”,则响应文本将是“2018-02-25”,称为“二十一八零二二十五”
有没有一种方式可以让谷歌助手更流畅地说出日期?
意思是“今天”、“明天”等等
我使用的是DialogFormAPI V1,语言是法语
谢谢:)最酷的一点是你可以直接获得日期,这对你后端的事情很有用,比如存储时间戳。但是,正如您所注意到的,当您可能希望听
我正在开发用于创建请假请求的聊天机器人。我创建了一个名为“create_leave”的意图,并将其与不同的系统实体(如sys.date、sys.date-period)关联,以从文本中提取日期。用户可以输入“3月23日至3月25日我需要休假”或“3月28日我需要休假”。问题是,即使用户输入“我需要在3月28日休假”,它仍然会询问类似“3月23日至25日”的持续时间。。因此,解决方案应该是输入其中一个,聊天机器人不应再次询问持续时间。那么我如何有条件地设置它呢?。。请帮忙。提前感谢您是否可以更新问
我的意图是要求用户提供路径:
在/home/user/path中打印文件
是否有方法使用dialogflow提取路径并将其值放入实体中?我认为这个案子不能用同义词来处理 否,因为DialogFlow不支持实体中的正则表达式,所以没有简单的方法使用实体解析DialogFlow中的路径值。
有两个选项可以将路径解析为实体
One:使用@sys。任何实体代替路径,并在实现端检查该实体的值是否实际为有效路径或未使用正则表达式
2:为路径创建您自己的实体,并使用DialogFlow Agent API在您
是否可以构建和部署仅适用于某些用户(例如公司)或限制访问的代理?这完全取决于您的需求
虽然不完全是您想要的,但您可以部署一个操作来测试状态。这样,您就可以将其提供给最多20个用户,而无需经过审查过程
此外,如果部署到Beta版,最多可以部署200个用户。然而,这仍然需要行动审查小组进行审查
如果您需要的不止这些(甚至在其他用例中,这可能是一个明智的想法),那么您需要使用或其他身份方法来获取用户的身份,然后作为您操作的一部分来确定这是否是授权用户。这需要行动审查小组进行审查
我刚刚从一个帐户导出Dialogflow操作/代理,然后作为zip导入到另一个帐户。导入成功,命令运行良好,但我似乎无法将其与GoogleAssistant集成。我确实尝试过在以前的帐户中更改代理/操作和google操作调用名称,但没有成功
编辑:我工作了一天后,o.o试着在google simulator上打开动作,然后发布应用程序。这似乎是一个值得支持的案例。在重试之前删除了所有内容,但sameI仍然认为这是部署了代理的情况(通过Firebase或Dialogflow控制台的实现部分)?
我正在尝试创建一个聊天机器人,可以接受客户的订单。我正在使用dialogflow NLP。当我遇到向顾客展示菜单的概念时,我被卡住了。我试图显示客户订单的总金额。你能建议我怎么做吗?到目前为止,我已经在Dialogflow上创建了意图和实体。我已经使用flask创建了一个webhook来处理响应 分享你的代码。到目前为止,您尝试了什么?在@OnkarMusale之前是否使用过dialogflow?我创建webhook只是为了响应并在文件上写入命令。您需要在webhook中写入逻辑并将其作为响应发
我试图让dialogflow更好地理解长数字。我希望用户说的数字总是9位数。Dialogflow认为这些应该是电话号码(即使我说它们是sys.number-sequence或sys.number),或者它会将2改为“to”
例如,如果我说367218837,它会将其转换为“367到18837”
我尝试添加了一些训练短语,包括确切的数字作为示例,带空格、不带空格、带破折号。。没有什么。我说的数字永远无法正确翻译
我不知道现在该怎么办。它在Alexa中工作得很好,但我无法让它与dialogflow一
我想知道是否有一种方法可以在精神上激活一种意图,一种
“如果满足此条件,则转到目的XX”。
我试图解释我想做什么:
当用户说出一个特定单词时,意图在数据库中查找根据优先级算法要完成的任务。例如,如果任务1被选为最高优先级,那么我应该能够激活“运行时”任务1意图,而不要求用户说“请说001激活任务1”。
提前感谢我通过将响应移动到不同的函数,在我的webhook中实现了您的请求“如果条件满足,则达到X意图”。在下面的例子中,我希望根据if条件得到不同的响应和不同的输出上下文。这样,我可以根据用户输
我是DialogFlow的新手,正在开发一个代理,提供年度信息
名为YearData的意图和以下短语用于培训
1.年度报告
2.2017年度报告
3.我可以在哪里找到年度报告
现在我给9999年设置参数name date period,显示2017年或2018年的相同响应。我想把它限制在一个有效的日期
当用户给出的日期无效时。系统应提示该日期无效或不在fulfillment webhook中的范围内,请检查以确保该日期有效,如果无效,请发回一条消息
我有一些打算。它们都只使用一个回退意图,而这个回退意图启用了webhook
在fallback函数中,我希望做的是打开输出上下文,然后根据fallback来自哪个意图来确定接下来应该发生什么
但是这条线
var context = request.body.queryResult.outputContexts;
当调试到控制台时,将获得输出:
[ { name: 'projects/xxxxproj-xxxx/agent/sessions/xxxxxx-xxxxxx-xxxxx-xxxxx/c
我正在尝试使用谷歌登录链接类型进行帐户链接。用于使用Dialogflow进行对话。为了获得用户信息,使用本指南编写了node.js中的实现。但当授权发生时,每次我在后端调用任何intent时,它都会抛出下一个错误:
下面是我的履行代码
`const app = dialogflow({debug: false, clientId: CLIENT_ID});
app.intent('Default Welcome Intent', (conv) => {
conv.ask('Welcome
您好,我真的需要恢复我意外删除的目的,是否有方法恢复此目的?除非您以前使用过或保存以前代理的副本,否则很遗憾,没有恢复功能
因此,建议每个环境使用单独的代理(即一个代理用于dev,另一个代理用于prod),这样您所做的任何更改都不会影响任何生产系统。若您不想这样做,那个么过度使用导出功能可能是您将来防止这种情况发生的最佳选择
通过在Dialogflow历史记录中挖掘,或者更好地挖掘Stackdriver日志(如果启用了这些日志),您可能能够挽救旧的意图,但是没有用于检索已删除意图的内置功能
我的Dialogflow超级机器人中有两个子代理
人力资源
财务
我不希望人力资源人员能够访问财务人员的意图,反之亦然。
请帮忙
标签: Dialogflow Es
dialogflow-es-fulfillmentnamed-entity-extractiondialogflow-cxgoogle-chat
我有两个实体实体A和实体B。实体A有一个称为沃尔玛的参考值,实体B也有一个称为沃尔玛的参考值。现在,当用户输入“Show me sales for Walmart”时,我希望bot仅为实体B下列出的沃尔玛获取销售额。我怎样才能让机器人明白这一点?有没有办法让机器人返回一个提示,询问我想看两个机器人中的哪一个?感谢您的帮助(由于您添加了所有dialogflow标记,因此很难知道您使用的是什么版本,因此下次请仅选择适合您需要的版本。)
如果您使用的是我熟悉的Dialogflow cx,我建议您将实体
我有以下名为“department”的自定义实体。实体定义如下:
部门[定义同义词-选中]:
电器|炉灶、洗衣机、电器有、电器零件、电器、电器部
意图在培训短语中使用此实体类型(部门)。为相应的目的启用了ML
问题是:
当在DF控制台中输入“appliances department”时,DF不会将该值评估为“appliances”,并将其设置为等于原始值(appliances department)。如果使用其他同义词,则正确计算该值
你能帮我解决这个案子吗。
提前谢谢你 我复制了这个实体,它
我正在尝试将我的android应用程序与谷歌助手集成
如果代理发送给我一个特定的类别,我会向自己的服务器进行网络调用
if (factCategory === FACT_TYPE.BANDWIDTH) {
var request = require('request');
request({
uri : 'https://www.example.com?query',
method: "GET",
timeout: 10000
}, functio
我正在制作一个投诉系统,在问了一些连续的问题后,我要求用户输入他的投诉。现在用户可以输入任何类型的句子,有/没有语法错误。我想把那个抱怨的句子存储起来,不管它的语法有多糟糕。我在这里面临两个问题:
问题
(1) 当一个语法错误的句子出现时,它会转到回退意图,而不是我附带的Webhook。
(2) 如果此投诉语句包含一些其他意图的训练词(例如WelcomeIntent的“Hello”),则无论我设置的上下文值如何,它都会指向该意图,以确保它保持在该意图中
我到目前为止所做的尝试
(1) 我试着做出
我和你一起工作
对于Dialogflow Messenger(beta版),在使用webhook实现时,这可以起到以下作用:
{
"fulfillmentMessages": [
{
"text": {
"text": [
"Text response from webhook"
]
}
}
]
}
但这并不是:
{
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 35 页