使用 Python 将音频文件发送到 DialogFlow
Send audio file to DialogFlow using Python
我知道我可以使用 Python 以下列方式将数据(在本例中为文本)发送到 DialogFlow:
ai = apiai.ApiAI(CLIENT_ACCESS_TOKEN)
request = ai.text_request()
request.lang = 'de' # optional, default value equal 'en'
request.session_id = "<SESSION ID, UNIQUE FOR EACH USER>"
request.query = "Hello"
response = request.getresponse()
print (response.read())
但我不确定是否可以将音频文件发送到 DialogFlow,有人知道吗?
有两种方法可以在 Google Action/Dialogflow 响应中使用音频文件:带有 <audio>
标签的 SSML 和媒体响应。两者都希望通过 HTTPS URL 提供音频文件,文件本身通常存储在 Google Cloud Storage 或 Amazon S3 等云存储服务中。
SSML (Speech Synthesis Markup Language)是一种用于音频输出的标记语言,就像HTML用于视觉输出一样。它受 Google Actions 支持,可用作普通文本响应的替代品,而不是像这样包含响应文本:
{
"speech": "This is the text that the users hears",
...
}
您可以像这样使用 SSML 对其进行标记:
{
"speech": "<speak><audio src="https://some_cloud_storage.com/my_audio_file.ogg"></audio></speak>",
...
}
请注意,<speak>
标签必须始终包围整个响应,这样 Google 现在它必须使用 SSML 呈现文本(就像网站上的 <html>
标签一样) . <audio>
标签可以带几个可选属性,详情请参阅文档。
SSML 的优点是开发人员非常容易使用,但音频文件的长度限制为 120 秒,文件大小限制为 5MB,并且用户无法控制播放。
Media responses 没有这些限制,显示为带有图像和播放控件的卡片,但它们目前仅适用于 Google 家庭和 Android 设备。
我知道我可以使用 Python 以下列方式将数据(在本例中为文本)发送到 DialogFlow:
ai = apiai.ApiAI(CLIENT_ACCESS_TOKEN)
request = ai.text_request()
request.lang = 'de' # optional, default value equal 'en'
request.session_id = "<SESSION ID, UNIQUE FOR EACH USER>"
request.query = "Hello"
response = request.getresponse()
print (response.read())
但我不确定是否可以将音频文件发送到 DialogFlow,有人知道吗?
有两种方法可以在 Google Action/Dialogflow 响应中使用音频文件:带有 <audio>
标签的 SSML 和媒体响应。两者都希望通过 HTTPS URL 提供音频文件,文件本身通常存储在 Google Cloud Storage 或 Amazon S3 等云存储服务中。
SSML (Speech Synthesis Markup Language)是一种用于音频输出的标记语言,就像HTML用于视觉输出一样。它受 Google Actions 支持,可用作普通文本响应的替代品,而不是像这样包含响应文本:
{
"speech": "This is the text that the users hears",
...
}
您可以像这样使用 SSML 对其进行标记:
{
"speech": "<speak><audio src="https://some_cloud_storage.com/my_audio_file.ogg"></audio></speak>",
...
}
请注意,<speak>
标签必须始终包围整个响应,这样 Google 现在它必须使用 SSML 呈现文本(就像网站上的 <html>
标签一样) . <audio>
标签可以带几个可选属性,详情请参阅文档。
SSML 的优点是开发人员非常容易使用,但音频文件的长度限制为 120 秒,文件大小限制为 5MB,并且用户无法控制播放。
Media responses 没有这些限制,显示为带有图像和播放控件的卡片,但它们目前仅适用于 Google 家庭和 Android 设备。