如何在Dialogflow中为多语言代理实现语言切换?

时间:2019-04-24 09:52:39

标签: node.js dialogflow actions-on-google

我正在使用Google Dialogflow(带有V2 API),并且我想构建一个机器人,该机器人可以根据用户的需要在多种语言之间切换。

我已经用不同的语言设置了所有意图,现在我希望用户能够选择一个意图,例如通过发送一条简单消息或使用预定义的按钮(此实现细节尚不确定,但无论如何都不会影响该问题)。

我知道detectIntent方法有一个languageCode参数,据我所知是可选的。

developers.google.com/apis-explorer的Dialogflow API环境中,我可以将以下请求发送给我的代理:

POST https://dialogflow.googleapis.com/v2/projects/<session>/agent/sessions/new:detectIntent?key={YOUR_API_KEY}

{
 "queryInput": {
  "text": {
   "text": "hi",
   "languageCode": "en-EN"
  }
 }
}

在发送包含queryInput的{​​{1}}时,代理会以相应的语言进行响应,甚至可以切换会话中途,我认为这是一个很棒的功能。

换句话说,语言切换在此测试环境中工作正常,您可以在其中手动随每个查询发送languageCode参数,并根据需要进行更改。

现在我的问题是:

我是否有一种方法,最好是一种简单的方法,可以使用此代码?

恐怕我必须使用JavaScript和HTML从头开始建立完整的实现,以使其运行。 目前,我正在考虑一个带有嵌入式iframe的网站,该网站可以让您以某种方式更改Node.JS代码。

任何建议都值得欢迎和赞赏。 除了,请不要建议我设置两个单独的机器人,这不是我想要的。

或者,有没有更好的方法使用Dialogflow解决此问题?

谢谢。

1 个答案:

答案 0 :(得分:0)

如果使用的是Dialogflow集成,则当前只能use one language。如果您要与最终用户实现自己的界面,只需向最终用户询问他们的首选语言,并在每次调用时提供语言代码即可检测意图。