【发布时间】:2019-04-24 09:52:39
【问题描述】:
我正在使用 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"
}
}
}
当发送包含languageCode 的queryInput 时,代理会以相应的语言进行响应,甚至可以在对话中进行切换,我认为这是一个很棒的功能。
换句话说,语言切换在这个测试环境中运行良好,您可以在每个查询中手动发送languageCode 参数,并根据需要进行更改。
现在我的问题是:
有没有办法,最好是简单的,让我使用这段代码?
恐怕我必须使用 JavaScript 和 HTML 从头开始设置一个完整的实现才能运行它。 目前,我正在考虑一个带有嵌入式 iframe 的网站,它可以让您以某种方式更改 Node.JS 代码。
欢迎和赞赏任何建议。 除了,请不要建议我设置两个单独的机器人,这不是我想要的。
或者,有没有更好的方法来使用 Dialogflow 来解决这个问题?
谢谢。
【问题讨论】:
-
尝试使用Kommunicate
-
有趣的用例,目前在 Dialogflow 中无法实现,因为尚不支持 xml:lang 属性 (w3.org/TR/speech-synthesis11/#S3.1.2)
标签: node.js dialogflow-es actions-on-google