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

acx*_*xcv 6 node.js actions-on-google dialogflow-es

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

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

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

developer.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"
  }
 }
}
Run Code Online (Sandbox Code Playgroud)

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

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

现在我的问题是:

有没有办法,最好是简单的方法,让我使用这段代码?

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

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

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

谢谢你。

Ant*_*y V 0

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