uezo/aiavatarkit
🥰 Building AI-based conversational avatars lightning fast ⚡️💬
何を解決するか
AIAvatarKit は、複数のチャネル(Web、モバイル、電話、ハードウェアデバイス)で動作する低遅延の会話型AIアバターを構築するためのフレームワークを提供します。音声活動検出(VAD)、音声認識(STT)、大規模言語モデル(LLM)、音声合成(TTS)の間のパイプラインを調整する複雑さを解決し、応答性があり人間らしい会話フローを維持します。
動作方法
このプロジェクトは、データを4つの主要ステージに流すモジュール式の STSPipeline(音声→音声)を使用しています:
- VAD:ユーザーが話しているかどうかを検出し、意味的ゲート(例:Namo Turn)を使用して、ユーザーが本当に発言を終えたかどうかを判断し、会話の順番を管理します。
- STT:Azure、Google、OpenAIなどのプロバイダーを使用して音声をテキストに変換します。
- LLM/エージェント:テキストを処理し、応答を生成します。外部データアクセスのためのツール呼び出しやMCP(Model Context Protocol)をサポートします。
- TTS:VOICEVOX、ElevenLabs、Azureなどのサービスを使用して応答を音声に変換します。
アダプタがこのパイプラインをラップし、オムニチャネル展開を可能にし、ユーザーが異なるインターフェース間(例:電話通話からLINEボットへ)を移動しても、会話が継続できるようにします。
対象ユーザー
Web/モバイルアプリ向けインタラクティブAIキャラクター、デジタルサイネージ用仮想店員、コンパニオンハードウェア(Raspberry Pi)、メタバースアバター(VRChat)、AI電話オペレーターを構築する開発者。
特徴
- 超低遅延:発話終了から最初の音声出力まで1秒未満の応答時間を実現。
- モジュールアーキテクチャ:VAD、STT、LLM、TTSのすべてのコンポーネントが交換可能で、モデルや音声のアップグレード時にシステム全体を再書き込みする必要がありません。
- オムニチャネル対応:1つのパイプラインでWebSocket、HTTP、電話通話(Twilio/Asterisk)、メッセージングアプリ(LINE)をサポート。
- マルチモーダル表現力:LLMによってトリガーされる顔の表情、アニメーション、スクリーン上アーティファクト(チャートや地図など)をサポート。
- プロダクション対応:リアルタイム設定、ログ、メトリクス、ガードレールを備えた管理パネルを提供。アバターが発話中に誤りを修正するために途中で中断できる機能も搭載。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト