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

プラグインの使用方法

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 Streaming TTSは、動的なテキスト生成シナリオのための高度なチャンクストリーミング機能もサポートしています。

Send OpenAI Streaming TTS Request

利用可能な音声の取得

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

Get Google Cloud Voices

エラー処理

リクエストを送信する際は、コールバック内で ErrorStatus をチェックして潜在的なエラーを処理することが重要です。ErrorStatus は、リクエスト中に発生する可能性のある問題に関する情報を提供します。

エラー処理

リクエストのキャンセル

このプラグインでは、進行中のテキスト対テキストおよびTTSリクエストの両方をキャンセルすることができます。これは、長時間実行されているリクエストを中断したい場合や、会話の流れを動的に変更したい場合に便利です。

Cancel Request

ベストプラクティス

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