Dialogflow如何将一对代理合并在一起

时间:2017-12-13 10:42:19

标签: dialogflow

我是DialogFlow的新手,我开始创建代理,并从smaltalk开始。问题是如何将更多预构建代理(如警报和应用程序管理)以及货币转换器附加到新创建的代理中?

感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

您可以import prebuilt agents加入现有代理,以扩展代理响应各种输入的能力。导入将向现有代理添加意图和实体,扩展其功能,不会删除或更改任何现有的意图,实体或功能,如小谈话。

如果你有另一个Dialogflow代理,你想“合并”到另一个代理,你可以export one agent and import it into another“合并”这两个代理的功能。请注意,这可能会导致意外行为,因此不建议将其用作开发技术。

答案 1 :(得分:2)

Import prebuilt agent说:

  

导入预建代理会创建一个新代理。如果要在现有代理中包括预构建代理功能,则需要将意图从新创建的预构建代理移动到现有代理中。

因此,创建一个新项目,选择新代理中创建的所有意图并将其移动到所需的代理中。

答案 2 :(得分:0)

上周,我遇到了类似的问题,即我们将Prebuilt -SmallTalk Intent与新创建的Dialogflow Agent合并。令人惊讶的是,在Agent中添加的自定义Intent停止工作,但是Smalltalk Intent继续工作。但是,他们仍在Dialogflow控制台Web代理上工作,但是如果我们从代码中调用服务,它将始终使用默认回退意图进行回复。 当您复制/导入/克隆/导出预构建意图时,就会发生这种情况。

我几乎一天都看了这个问题,最后发现问题出在您的API请求中发送的语言。我以语言代码发送en-US。现在,您添加了Prebuilt代理,它将停止使用en-US语言。这是奇怪的行为,因为如果我们不添加任何预建的Intent,则同一个Agent在en-US上可以正常工作。

解决方案是发送语言代码-仅“ en”,“自定义意图”将正常工作。

当我使用从Dialogflow控制台web我的代理测试中复制的curl命令时,该解决方案使我大吃一惊-在它起作用的情况下,我将请求与Java代码发送的请求进行了比较,发现语言代码有所不同。

可能是DialogFlow中的某些集成问题。