2025年01月28日

TEN framework とは? 映像音声を扱う柔軟なAIアプリケーションを作成する

TENはTransformative Extensions Networkの略で、会話型AIを作るための音声エージェントフレームワークです。

2024 年後半に登場したものであり、オーディオフレーム及びビデオフレームの処理にAgoraが採用されています。

この記事では、TEN framework の紹介とローカルビルドの手順を簡単に紹介します。

TEN framework 公式サイト:https://www.theten.ai/

TEN Framework とは

TEN Framework は、リアルタイムAIエージェントの設計・開発を容易にするオープンソースのフレームワークです。

AIエージェントを設計するパーツまたはモジュールは Extension と呼ばれ、開発者はプリセットや独自開発の Extensionを繋ぎ合わせてシステムを構築します。

例えば、リアルタイムの音声会話 AI を作りたい場合、Agora を活用したリアルタイム音声処理、ChatGPT による自然言語処理、Azure TTS/STT の音声入出力機能など、それぞれの役割を持つ Extension を準備し、専用ツールでワークフローを設計できます。
専用ツールは、マウス操作での Extension 配置、レイアウト、繋ぎ込みに対応しており、 ローコードでのワークフロー設計・カスタマイズを可能にします。

Extension には、上述したAgora、ChatGPT、Azure 用などのような主要な Extension はプリセットとして提供されているため、チュートリアルを踏むことで少ない工数で基本的な機能の構築が可能になります。

想定シナリオ

TEN frameworkは、AI機能の統合とアプリケーション開発をより効率的かつ柔軟にするために設計されています。 開発者は、AI機能拡張を迅速に作成、導入し、それらを組み合わせてカスタマイズされたアプリケーションやサービスを形成することができます。
代表的な利用シナリオは以下の通りです。
※以下、公式ドキュメント内「Scenarios」より引用

  • AI音声処理:音声認識(STT)、音声生成(TTS)、感情分析の拡張機能を組み合わせて、会話システムを構築する
  • 視覚認識システム: 画像認識とビデオ解析のための拡張機能を使用して、顔認識、物体検出、モーション・トラッキングによるセキュリティや物販システムなどを構築する
  • レコメンデーション・データ解析: 機械学習とデータ処理のための拡張機能を組み合わせて、パーソナライズされたレコメンデーションシステムや分析ツールを構築する
  • 教育とトレーニングプラットフォーム: インタラクティブな教育、高度な個人指導、および評価のため教育技術ソリューションを構築する
  • 健康モニタリングと診断システム: 医療画像解析とAI主導の診断拡張機能を使って、病気のモニタリングと早期診断のシステムを構築する

特徴・強み

TEN framework の強みとして、以下の5つの要素があげられます。
※以下、公式ドキュメント内「Welcome to TEN」より引用

1. 高性能でリアルタイムな多機能の結合をサポート

AIを活用したアプリケーションの中でも、音声や映像を扱うシナリオの実装により真価を発揮します。TENは、AIアプリケーションを効率的に開発できるよう、多くのエクステンション間のインタラクションを徹底的に最適化し、優れた性能と低遅延を実現します。

2. 複数の言語とプラットフォームをサポート

 開発者は、C++、Go、Python など(※1)の様々なプログラミング言語を使用して、モジュール式で再利用可能なエクステンションを作成できます。 さらに、Windows、Mac、Linux、モバイルデバイスなどのプラットフォーム間でシームレスに動作します。
※1 将来的にはJavaScript/TypeScriptもサポート予定

3. エッジとクラウドの統合

エッジとクラウド環境に展開されたExtensionは、多様なアプリケーションやシナリオを作成するために簡単に組み合わせることができます。 プライバシーに配慮したエッジの展開では、小型モデルはローカルの計算能力を活用してコスト削減と低レイテンシーを実現し、クラウドベースの大型モデルはコストとパフォーマンスの最適なバランスを実現するために統合することができます。

4. モデルの限界を超える柔軟性

大規模モデルだけの機能を超えた複雑なAIアプリケーションの作成を可能にします。ドラッグアンドドロップのシンプルな操作により構築することができます。 また、AIとオーディオビジュアルツール、データベース、モニタリングシステム、RAGなどとの統合を容易にします。

5. リアルタイムのエージェント状態管理

リアルタイムのエージェント状態を管理する機能を備えており、リアルタイムでのエージェント動作の動的な応答と調整を可能にします。

豊富なデモ環境

すぐに機能を体験できるアプリケーションがWebにて公開されています。
ここでは、AI チャットボットとの対話等が体験できます。
https://agent.theten.ai/

2024年12月の時点では、以下のエクステンションの組み合わせパターンが用意されており、それぞれ体験が可能です。

ten-agora-ai-real-time-02

(補足)TENではこの組み合わせパターンのことをgraphと表現します

また、このデモにはRAG(Retrieval-Augmented Generation)の機能も備わっており、事前にスクリプトを与えて知識を入れておくことができます。

試しに、事前に知識を与えた上で、realtime API を用いた会話を行ってみます。

事前知識をPromptに入力(以下スクリーンショット2枚)
ten-agora-ai-real-time-03
ten-agora-ai-real-time-04
graphを選択してConnectを押下

ten-agora-ai-real-time-05
結果

ten-agora-ai-real-time-06

RAGの機能を取り入れた上で、リアルタイムなコミュニケーションを行うことができました。

ローカル実行

最後に、TEN framework をローカルでビルドし、realtime API を用いた会話を行う手順を紹介します。

前提

  • Agora開発者用プロジェクト
  • OpenAI API key
  • Docker / Docker Compose
  • Node.js(LTS) ^18

手順

まずは以下のリポジトリをクローンします。
github : https://github.com/TEN-framework/TEN-Agent/tree/main

大まかな流れとしては、READMEに記載の通りに作業を行います。
ただし realtime API を用いる箇所のみ異なります。

 

1. envファイルの作成
cp ./.env.example ./.env

2. 必要な環境変数のセットアップ 
AGORA_APP_ID=
AGORA_APP_CERTIFICATE=

OPENAI_REALTIME_API_KEY=

3. agent development containers の立ち上げ
docker compose up -d

4. container へ接続
docker exec -it ten_agent_dev bash

5. agent のビルド
task use

6. web server の起動
task run

以上6ステップにより、ローカルで実行する準備は完了です。

また、5 分ほどのビデオチュートリアルも公開されています。

ソフトウェアアーキテクチャ

TEN エージェントは、主に以下の 2 つの部分から構成されています。

  • Playground (Port 3000)
    ・ API Router と UI を備えた Web UI
    ・通信とgraphの制御を管理
  • Backend Services
    ・Designer (Port 49483): graphの操作を処理
    ・WebServer(Port 8080): コマンドの処理
    ・AgentApp: 拡張機能と設定を備えたコアコンポーネント

ten-agora-ai-real-time-07

https://doc.theten.ai/ten-agent/overview

まとめ

本記事では、Agora TEN Framework の紹介及びローカル実行の手順について記載しました。まだ登場したばかりであるため、今後より幅広い機能が実装されていくことと予想されます。


多様なユースケースに対応可能なプロダクトであるため、AIエージェントを組み込む必要がある様々なアイデアに活用してみてはいかがでしょうか。

ブイキューブ

執筆者ブイキューブ

Agoraの日本総代理店として、配信/通話SDKの提供だけでなく、導入支援から行い幅広いコミュニケーションサービスに携わっている。

関連記事

先頭へ戻る