Lynpoint/CyberVerse

Self hosted, real-time digital human agent platform. Build voice-first AI agents with WebRTC, persona memory, tools, RAG, and optional digital-human video.

解決する課題

CyberVerseは、デジタルヒューマンのように振る舞う、生き生きとしたリアルタイム対話型AIキャラクターを作成するという課題に取り組みます。単なるチャットボットではなく、ライブ音声会話を行い、自然に割り込みや割り込まれを行い、過去のセッションを記憶し、キャラクター固有の知識を呼び出し、必要に応じて写真1枚から顔をアニメーション化できるエージェントを実現します。また、長時間実行されるタスク(検索、調査、レポート生成)をバックグラウンドのサブエージェントにオフロードすることで、音声対話のレスポンスを維持し、パフォーマンスの問題を解決します。

仕組み

CyberVerseは、低遅延のリアルタイム音声/ビデオ対話のためにWebRTC上に構築されたマルチエージェントフレームワークです。核となるのは、フォアグラウンドで流暢な会話、割り込み、コンテキスト切り替えを管理する PersonaAgent です。長時間実行されるタスクは SubAgents に非同期で委任されるため、バックグラウンドで作業が行われている間もメインキャラクターは応答を続けることができます。各キャラクターの会話履歴はローカルに永続化され、再開時に自動的に読み込まれます。また、知識ソース(ドキュメント、プロフィール)をインポートして、検索拡張生成 (RAG) 用にインデックス化し、回答をキャラクターのペルソナに合わせることも可能です。

デジタルヒューマンのビデオ機能については、FlashHead (1.3B) や LiveAct (18B) といったローカルモデル、またはクラウドサービス(Baidu Xiling、Xunfei Digital Human)を統合しています。スタックはプラグインベースで、脳、音声、聴覚、ツール、記憶、顔の各モジュールはすべて交換可能です。設定は config/cyberverse.yaml にあり、LLM、TTS、ASR、埋め込みのモデル定義は infra/config/*_models/ から自動的に検出され、config/*_models/ でオーバーライドできます。/settings のWeb UIからプロバイダーやモデルを切り替えることができます。システムは純粋な音声モード(アバター用のGPU不要)またはアバタービデオ有効モードで実行でき、ストリーミングの遅延を診断するためのリアルタイムパフォーマンス係数 (RTP) チェックが含まれています。

対象ユーザー

インタラクティブなAIキャラクター、デジタルヒューマンアシスタント、または J.A.R.V.I.S. のようなコンパニオンを構築したい開発者や愛好家向けです。アバタービデオを有効にする場合は Node.js、Go、Conda/Python、および GPU セットアップの知識が必要ですが、より迅速に開始するためのクラウドイメージも利用可能です。プロジェクトは GPL v3 であり、クローズドなデジタルヒューマンプラットフォームに代わる、自己ホスト可能で拡張性の高い代替手段を求める方にも適しています。

ハイライト

  • WebRTCによる全二重リアルタイム音声対話(割り込みサポート付き)
  • 写真1枚からライブデジタルヒューマンビデオアバターを生成(ローカルモデル FlashHead/LiveAct またはクラウド API)
  • マルチエージェント設計:会話を担当する PersonaAgent + バックグラウンドタスク(検索、調査、レポート生成)を担当する SubAgents
  • 持続的なキャラクター記憶と、インポートされた知識ベースおよびドキュメントに対する RAG
  • 脳、音声、聴覚、ツール、記憶、顔モジュールを交換可能なプラグインベースのアーキテクチャ
  • Web UI を介したモデル定義の自動検出とプロバイダー切り替え
  • LiteLLM を通じて 100 以上の LLM プロバイダーをサポートし、複数の TTS/ASR/埋め込みベンダーに対応
  • ローカルアバター GPU を必要としない純粋な音声モードで実行可能
  • リアルタイムアバターのストリーミングパフォーマンスを診断・調整するための組み込み RTP メトリック

関連

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