跳至主要内容

如何使用插件

Runtime AI Chatbot Integrator 提供兩項主要功能:文字對文字聊天和文字轉語音(TTS)。兩項功能的工作流程相似:

  1. 註冊您的 API 提供者令牌
  2. 配置功能特定設定
  3. 發送請求並處理回應

註冊提供者令牌

在發送任何請求之前,請使用 RegisterProviderToken 函數註冊您的 API 提供者令牌。

備註

Ollama 在本地運行,不需要 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 語音

列出 Ollama 模型

您可以使用 ListOllamaModels 函數查詢本機 Ollama 實例中的所有可用模型。這對於動態填充 UI 中的模型選擇器非常有用。GetModelNames 輔助函數可從結果中提取名稱字串,以方便使用。

列出 Ollama 模型

錯誤處理

在發送任何請求時,透過在回呼中檢查 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. 根據應用程式的即時需求選擇最佳區塊大小和發送延遲
  12. 對於 Ollama:使用 ListOllamaModels 動態探索可用模型,而非硬編碼模型名稱

故障排除

  • 驗證每個提供者的 API 憑證是否正確
  • 檢查您的網路連線
  • 確保您使用的任何音訊處理庫(例如 Runtime Audio Importer)在處理 TTS 功能時已正確安裝
  • 驗證您在處理 TTS 回應資料時使用了正確的音訊格式
  • 對於串流 TTS,請確保您正確處理音訊區塊
  • 對於推理模型,請確保您同時處理推理和內容輸出
  • 查閱特定提供者的文件以了解模型可用性和功能
  • 對於 ElevenLabs 區塊串流:完成時確保呼叫 FinishChunkedStreaming 以正確關閉會話
  • 對於連續模式問題:檢查文字中的句子邊界是否被正確偵測
  • 對於即時應用程式:根據您的延遲需求調整區塊發送延遲和刷新逾時
  • 對於 Ollama:在發送請求前,確保 Ollama 伺服器正在執行且可透過設定的 BaseUrl 存取