uezo/aiavatarkit

🥰 Building AI-based conversational avatars lightning fast ⚡️💬

何を解決するか

AIAvatarKit は、複数のチャネル(Web、モバイル、電話、ハードウェアデバイス)で動作する低遅延の会話型AIアバターを構築するためのフレームワークを提供します。音声活動検出(VAD)、音声認識(STT)、大規模言語モデル(LLM)、音声合成(TTS)の間のパイプラインを調整する複雑さを解決し、応答性があり人間らしい会話フローを維持します。

動作方法

このプロジェクトは、データを4つの主要ステージに流すモジュール式の STSPipeline(音声→音声)を使用しています:

  1. VAD:ユーザーが話しているかどうかを検出し、意味的ゲート(例:Namo Turn)を使用して、ユーザーが本当に発言を終えたかどうかを判断し、会話の順番を管理します。
  2. STT:Azure、Google、OpenAIなどのプロバイダーを使用して音声をテキストに変換します。
  3. LLM/エージェント:テキストを処理し、応答を生成します。外部データアクセスのためのツール呼び出しやMCP(Model Context Protocol)をサポートします。
  4. TTS:VOICEVOX、ElevenLabs、Azureなどのサービスを使用して応答を音声に変換します。

アダプタがこのパイプラインをラップし、オムニチャネル展開を可能にし、ユーザーが異なるインターフェース間(例:電話通話からLINEボットへ)を移動しても、会話が継続できるようにします。

対象ユーザー

Web/モバイルアプリ向けインタラクティブAIキャラクター、デジタルサイネージ用仮想店員、コンパニオンハードウェア(Raspberry Pi)、メタバースアバター(VRChat)、AI電話オペレーターを構築する開発者。

特徴

  • 超低遅延:発話終了から最初の音声出力まで1秒未満の応答時間を実現。
  • モジュールアーキテクチャ:VAD、STT、LLM、TTSのすべてのコンポーネントが交換可能で、モデルや音声のアップグレード時にシステム全体を再書き込みする必要がありません。
  • オムニチャネル対応:1つのパイプラインでWebSocket、HTTP、電話通話(Twilio/Asterisk)、メッセージングアプリ(LINE)をサポート。
  • マルチモーダル表現力:LLMによってトリガーされる顔の表情、アニメーション、スクリーン上アーティファクト(チャートや地図など)をサポート。
  • プロダクション対応:リアルタイム設定、ログ、メトリクス、ガードレールを備えた管理パネルを提供。アバターが発話中に誤りを修正するために途中で中断できる機能も搭載。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト