扩展流式传输

您可以使用扩展流式传输功能将音频内容流式传输到 Dialogflow,并流式传输回人工客服建议。

通常,您可以半关闭或告知 Dialogflow API 何时结束流式传输,以生成最终转写和 Agent Assist 建议。这种情况会在对话转换时发生,其中 API 会从识别结果 StreamingAnalyzeContentResponse.recognition_result 接收参数 is_final=true

延长流式传输时间可减少在对话转换时需要半关闭的情况。它会将连接超时延长到 3 分钟,在此期间,您可以发送音频流,而无需半关闭连接。Dialogflow API 会自动将最终转写内容和 Agent Assist 建议发送回数据流。只有在数据流超时时,您才需要重启数据流。

流式传输基础知识

Agent Assist 的扩展式流式传输功能类似于 CCAI 转写的音频流式传输。您的系统会将音频数据流式传输到 API,Dialogflow 会流式传输回 StreamingAnalyzeContentResponse 数据。返回的数据包含面向人工客服人员的建议。

如需使用“扩展式流式传输”,请调用 streamingAnalyzeContent 方法。

扩展式流式传输仅支持客服助理阶段。请参阅对话阶段。如需使用此功能,请执行以下操作:

  1. 调用 streamingAnalyzeContent 方法并设置以下字段:
    • StreamingAnalyzeContentRequest.audio_config.audio_encodingAUDIO_ENCODING_LINEAR_16AUDIO_ENCODING_MULAW
    • enable_extended_streamingtrue
  2. 第一个 streamingAnalyzeContent 请求会准备数据流并设置音频配置。
  3. 在后续请求中,您将音频字节发送到该串流。
  4. 只要您继续发送音频,就会继续收到建议。 您无需手动关闭数据流。当 Agent Assist 检测到用户停止说话时,会自动关闭。
  5. 在以下情况下重启数据流(包括重新发送初始音频配置):
    • 数据流中断(数据流在非预期情况下停止)。
    • 您的音频数据即将自动超时(3 分钟)。
    • 您收到了可重试的错误。您最多可以重试 3 次。