TEN Framework は、リアルタイムAIエージェントの設計・開発を容易にするオープンソースのフレームワークです。
AIエージェントを設計するパーツまたはモジュールは Extension と呼ばれ、開発者はプリセットや独自開発の Extensionを繋ぎ合わせてシステムを構築します。
例えば、リアルタイムの音声会話 AI を作りたい場合、Agora を活用したリアルタイム音声処理、ChatGPT による自然言語処理、Azure TTS/STT の音声入出力機能など、それぞれの役割を持つ Extension を準備し、専用ツールでワークフローを設計できます。
専用ツールは、マウス操作での Extension 配置、レイアウト、繋ぎ込みに対応しており、 ローコードでのワークフロー設計・カスタマイズを可能にします。
Extension には、上述したAgora、ChatGPT、Azure 用などのような主要な Extension はプリセットとして提供されているため、チュートリアルを踏むことで少ない工数で基本的な機能の構築が可能になります。
TEN frameworkは、AI機能の統合とアプリケーション開発をより効率的かつ柔軟にするために設計されています。 開発者は、AI機能拡張を迅速に作成、導入し、それらを組み合わせてカスタマイズされたアプリケーションやサービスを形成することができます。
代表的な利用シナリオは以下の通りです。
※以下、公式ドキュメント内「Scenarios」より引用
TEN framework の強みとして、以下の5つの要素があげられます。
※以下、公式ドキュメント内「Welcome to TEN」より引用
AIを活用したアプリケーションの中でも、音声や映像を扱うシナリオの実装により真価を発揮します。TENは、AIアプリケーションを効率的に開発できるよう、多くのエクステンション間のインタラクションを徹底的に最適化し、優れた性能と低遅延を実現します。
開発者は、C++、Go、Python など(※1)の様々なプログラミング言語を使用して、モジュール式で再利用可能なエクステンションを作成できます。 さらに、Windows、Mac、Linux、モバイルデバイスなどのプラットフォーム間でシームレスに動作します。
※1 将来的にはJavaScript/TypeScriptもサポート予定
エッジとクラウド環境に展開されたExtensionは、多様なアプリケーションやシナリオを作成するために簡単に組み合わせることができます。 プライバシーに配慮したエッジの展開では、小型モデルはローカルの計算能力を活用してコスト削減と低レイテンシーを実現し、クラウドベースの大型モデルはコストとパフォーマンスの最適なバランスを実現するために統合することができます。
大規模モデルだけの機能を超えた複雑なAIアプリケーションの作成を可能にします。ドラッグアンドドロップのシンプルな操作により構築することができます。 また、AIとオーディオビジュアルツール、データベース、モニタリングシステム、RAGなどとの統合を容易にします。
リアルタイムのエージェント状態を管理する機能を備えており、リアルタイムでのエージェント動作の動的な応答と調整を可能にします。
すぐに機能を体験できるアプリケーションがWebにて公開されています。
ここでは、AI チャットボットとの対話等が体験できます。
https://agent.theten.ai/
2024年12月の時点では、以下のエクステンションの組み合わせパターンが用意されており、それぞれ体験が可能です。
(補足)TENではこの組み合わせパターンのことをgraphと表現します
また、このデモにはRAG(Retrieval-Augmented Generation)の機能も備わっており、事前にスクリプトを与えて知識を入れておくことができます。
試しに、事前に知識を与えた上で、realtime API を用いた会話を行ってみます。
事前知識をPromptに入力(以下スクリーンショット2枚)
graphを選択してConnectを押下
結果
RAGの機能を取り入れた上で、リアルタイムなコミュニケーションを行うことができました。
最後に、TEN framework をローカルでビルドし、realtime API を用いた会話を行う手順を紹介します。
まずは以下のリポジトリをクローンします。
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 つの部分から構成されています。
https://doc.theten.ai/ten-agent/overview
本記事では、Agora TEN Framework の紹介及びローカル実行の手順について記載しました。まだ登場したばかりであるため、今後より幅広い機能が実装されていくことと予想されます。
多様なユースケースに対応可能なプロダクトであるため、AIエージェントを組み込む必要がある様々なアイデアに活用してみてはいかがでしょうか。