跳到主要内容

如何使用该插件

Runtime AI Chatbot Integrator 提供两大主要功能:文本到文本聊天和文本到语音转换。这两项功能遵循相似的工作流程:

  1. 注册您的 API 提供商令牌
  2. 配置特定功能设置
  3. 发送请求并处理响应

注册提供商令牌

在发送任何请求之前,请使用 RegisterProviderToken 函数注册您的 API 提供商令牌。

在 Blueprint 中注册提供商令牌

文本到文本聊天功能

该插件为每个提供商支持两种聊天请求模式:

非流式聊天请求

在单次调用中获取完整响应。

发送 OpenAI 聊天请求

流式聊天请求

实时接收响应数据块,实现更动态的交互体验。

发送 OpenAI 流式聊天请求

文本转语音 (TTS) 功能

使用领先的 TTS 提供商将文本转换为高质量的语音音频。该插件返回原始音频数据 (TArray<uint8>),您可以根据项目需求进行处理。

虽然下面的示例演示了使用 Runtime Audio Importer 插件进行音频播放处理(请参阅 音频导入文档),但 Runtime AI Chatbot Integrator 被设计为灵活的。该插件仅返回原始音频数据,让您在处理特定用例时拥有完全的自由度,这可能包括音频播放、保存到文件、进一步的音频处理、传输到其他系统、自定义可视化等等。

非流式 TTS 请求

非流式 TTS 请求在整个文本处理完毕后,在单个响应中返回完整的音频数据。这种方法适用于等待完整音频不成问题的较短文本。

发送 OpenAI TTS 请求

流式 TTS 请求

流式 TTS 在音频块生成时立即交付,允许您增量处理数据,而无需等待整个音频合成完成。这显著降低了长文本的感知延迟,并实现了实时应用。ElevenLabs 流式 TTS 还支持动态文本生成场景的高级分块流式功能。

发送 OpenAI 流式 TTS 请求

获取可用语音

一些 TTS 提供商提供语音列表 API,以便以编程方式发现可用语音。

获取 Google Cloud 语音

错误处理

发送任何请求时,通过在回调中检查 ErrorStatus 来处理潜在错误至关重要。ErrorStatus 提供有关请求过程中可能出现的任何问题的信息。

错误处理

取消请求

该插件允许您在文本转文本和TTS请求进行中时取消它们。这在您想要中断长时间运行的请求或动态更改对话流程时非常有用。

取消请求

最佳实践

  1. 始终通过检查回调中的 ErrorStatus 来处理潜在错误
  2. 注意每个提供商的 API 速率限制和成本
  3. 对于长篇或交互式对话使用流式模式
  4. 考虑取消不再需要的请求以有效管理资源
  5. 对较长文本使用流式 TTS 以减少感知延迟
  6. 对于音频处理,Runtime Audio Importer 插件提供了一个便捷的解决方案,但您可以根据项目需求实现自定义处理
  7. 使用推理模型(DeepSeek Reasoner、Grok)时,请适当处理推理和内容输出
  8. 在实现 TTS 功能之前,使用语音列表 API 发现可用语音
  9. 对于 ElevenLabs 分块流式传输:当文本是增量生成时(如 AI 响应)使用连续模式,对于预形成的文本块使用立即模式
  10. 配置适当的刷新超时时间以平衡响应速度与自然语音流畅度
  11. 根据应用程序的实时需求选择最佳分块大小和发送延迟

故障排除

  • 验证您为每个提供商配置的 API 凭据是否正确
  • 检查您的互联网连接
  • 在使用 TTS 功能时,确保您使用的任何音频处理库(如 Runtime Audio Importer)已正确安装
  • 处理 TTS 响应数据时,请验证您使用的是正确的音频格式
  • 对于流式 TTS,请确保正确处理音频块
  • 对于推理模型,确保您同时处理推理和内容输出
  • 查看提供商特定文档以了解模型可用性和功能
  • 对于 ElevenLabs 分块流式传输:确保在完成时调用 FinishChunkedStreaming 以正确关闭会话
  • 对于连续模式问题:检查文本中的句子边界是否正确检测
  • 对于实时应用程序:根据您的延迟要求调整分块发送延迟和刷新超时时间