Skip to content

TEN Agent is the world’s first real-time multimodal agent integrated with the OpenAI Realtime API, RTC, and features weather checks, web search, vision, and RAG capabilities.

License

Notifications You must be signed in to change notification settings

TEN-framework/TEN-Agent

Repository files navigation

TEN Agent banner


🎉 TEN Agent with OpenAI Realtime API and RTC

Try OpenAI Realtime API and RTC at agent.theten.ai.

Combining OpenAI Realtime API for ultra-low latency with RTC’s AI noise suppression ensures smooth, high-quality interactions. On top of that, the seamless integration of weather and news tools makes TEN Agent even more versatile.

TEN Agent with OpenAI Realtime API and RTC


TEN Agent Features

  • OpenAI Realtime API and RTC integration: TEN Agent is the world-class multimodal AI agent to integrate the OpenAI Realtime API and RTC.

  • High-Performance Real-Time Multimodal Interactions: Offers high-performance, low-latency solutions for complex audio-visual AI applications.

  • Multi-Language and Multi-Platform Support : Supports extension development in C++, Go, Python, etc. Runs on Windows, Mac, Linux, and mobile devices.

  • Edge-Cloud Integration: Flexibly combines edge and cloud-deployed extensions, balancing privacy, cost, and performance.

  • Flexibility Beyond Model Limitations: Easily build complex AI applications through simple drag-and-drop programming, integrating audio-visual tools, databases, RAG, and more.

  • Real-Time Agent State Management: Manages and adjusts agent behavior in real-time for dynamic responsiveness.


Ready-to-use Extensions

Ready-to-use Extensions


Stay Tuned

Before we get started, be sure to star our repository and get instant notifications for all new releases!

TEN star us gif


How to build TEN Agent locally

Prerequisites

Keys

Installation

Minimum system requirements

  • CPU >= 2 Core
  • RAM >= 4 GB

MacOS: Docker setting on Apple Silicon

You will need to uncheck "Use Rosetta for x86_64/amd64 emulation on Apple Silicon" option for Docker if you are on Apple Silicon. However, please note that build and connection times will be a little slower due to emulation when running on ARM systems. Once deployed to x64 (e.g. your Linux server) it will be much faster.

Docker Setting

Windows: Configuring Git to handle line endings

To avoid problems in make run-server later, you can configure Git to properly handle line endings on Windows.(more here)

git config --global core.autocrlf true

Next step

1. Modify config files

In the root of the project, use cp command to create .env from the .env.example .

It will be used to store environment variables for docker compose later, and if you change it, you will need to source .env again in the container for the changes to take effect.

cp ./.env.example ./.env

2. Setup API keys

Open the .env file and fill in the keys. We recommend using Deepgram ASR and FishAudio TTS as they are free to sign up for and offer free credits. Of course, you can also use other services, see the list in .env.example.

# Agora App ID 
# Agora App Certificate(only required if enabled in the Agora Console)
AGORA_APP_ID=
AGORA_APP_CERTIFICATE=

OPENAI_API_KEY=

DEEPGRAM_API_KEY=

FISH_AUDIO_TTS_KEY=

3. Start agent development containers

In the same directory, run the docker compose up command to compose containers:

docker compose up

Or using the docker compose up -d command, start the container in detached mode.(more here)

docker compose up -d

4. Enter container and build agent

Open up a separate terminal window, enter the container and build the agent:

docker exec -it ten_agent_dev bash

make build

5. Start the server

Once the build is done, make run-server on port 8080:

make run-server

Finish and verify

TEN Agent

Open up localhost:3000 in browser to play the TEN Agent.

TEN Graph Designer

Open up another tab go to localhost:3001, and use Graph Designer to create, connect and edit extensions on canvas.

Once you save the graph, you can return to localhost:3000 and select the corresponding graph to view the changes.

TEN Graph Designer



Join Community


Code Contributors

TEN


Contribution Guidelines

Contributions are welcome! Please read the contribution guidelines first.


License

This project is licensed under the Apache 2.0 License - see the LICENSE file for details.