メインコンテンツまでスキップ

プラグインの使用方法

Runtime AI Chatbot Integrator は、2つの主要な機能を提供します:テキスト対テキストチャットとテキスト読み上げ(TTS)。両機能は同様のワークフローに従います:

  1. APIプロバイダートークンを登録する
  2. 機能固有の設定を構成する
  3. リクエストを送信し、レスポンスを処理する

プロバイダートークンの登録

任意のリクエストを送信する前に、RegisterProviderToken関数を使用してAPIプロバイダートークンを登録してください。

Blueprintでのプロバイダートークン登録

テキスト対テキストチャット機能

このプラグインは各プロバイダーに対して2つのチャットリクエストモードをサポートしています:

非ストリーミングチャットリクエスト

単一の呼び出しで完全な応答を取得します。

Send OpenAI Chat Request

ストリーミングチャットリクエスト

よりダイナミックなインタラクションのために、レスポンスのチャンクをリアルタイムで受信します。

Send OpenAI Streaming Chat Request

テキスト読み上げ (TTS) 機能

主要な TTS プロバイダーを使用して、テキストを高品質な音声オーディオに変換します。このプラグインは生のオーディオデータ (TArray<uint8>) を返すため、プロジェクトのニーズに応じて処理できます。

以下の例では、Runtime Audio Importer プラグインを使用した再生用のオーディオ処理を実演していますが(オーディオインポートドキュメントを参照)、Runtime AI Chatbot Integrator は柔軟に設計されています。このプラグインは単に生のオーディオデータを返すため、特定のユースケースに応じてオーディオ再生、ファイルへの保存、さらなるオーディオ処理、他のシステムへの送信、カスタムビジュアライゼーションなど、処理方法を完全に自由に選択できます。

非ストリーミング TTS リクエスト

非ストリーミング TTS リクエストは、テキスト全体が処理された後に完全なオーディオデータを単一の応答で返します。このアプローチは、完全なオーディオを待っても問題ない短いテキストに適しています。

Send OpenAI TTS Request

ストリーミング TTS リクエスト

ストリーミング TTS は、オーディオチャンクが生成されると同時に配信し、オーディオ全体が合成されるのを待つことなく、データを段階的に処理できるようにします。これにより、長いテキストに対する知覚レイテンシが大幅に削減され、リアルタイムアプリケーションが可能になります。ElevenLabs ストリーミング TTS は、動的なテキスト生成シナリオのための高度なチャンクストリーミング機能もサポートしています。

Send OpenAI Streaming TTS Request

利用可能な音声の取得

一部の TTS プロバイダーは、利用可能な音声をプログラムで検出するための音声一覧 API を提供しています。

Get Google Cloud Voices

エラー処理

リクエストを送信する際は、コールバック内の 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 を呼び出すことを確認する
  • 連続モードの問題の場合:テキスト内の文の境界が正しく検出されていることを確認する
  • リアルタイムアプリケーションの場合:レイテンシ要件に基づいてチャンク送信遅延とフラッシュタイムアウトを調整する