Awesome
<div align="center"><a href="https://trendshift.io/repositories/11978" target="_blank"><img src="https://trendshift.io/api/badge/repositories/11978" alt="TEN-framework%2FTEN-Agent | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
<a href="https://github.com/TEN-framework/ten-agent/blob/main/README.md"><img alt="README in English" src="https://img.shields.io/badge/English-lightgrey"></a> <a href="https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-CN.md"><img alt="简体中文操作指南" src="https://img.shields.io/badge/简体中文-lightgrey"></a> <a href="https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-JP.md"><img alt="日本語のREADME" src="https://img.shields.io/badge/日本語-lightgrey"></a> <a href="https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-KR.md"><img alt="README in 한국어" src="https://img.shields.io/badge/한국어-lightgrey"></a> <a href="https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-ES.md"><img alt="README en Español" src="https://img.shields.io/badge/Español-lightgrey"></a> <a href="https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-FR.md"><img alt="README en Français" src="https://img.shields.io/badge/Français-lightgrey"></a> <a href="https://github.com/ten-framework/ten-agent/blob/main/docs/readmes/README-IT.md"><img alt="README in Italiano" src="https://img.shields.io/badge/Italiano-lightgrey"></a>
Getting Started <span> • </span> Create Extensions <span> • </span> TEN Framework Repository
</div> <br> <h2>🎉 TEN Agent with OpenAI Realtime API and RTC</h2>Try OpenAI Realtime API, Weather Check and Web Search 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.
<br> <h2>Usecases</h2><br>
<h2>TEN Agent Features</h2>-
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.
Prerequisites
Keys
- Agora App ID and App Certificate (certificate only required if enabled in the Agora Console)
- OpenAI API key
- Deepgram ASR and FishAudio TTS
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.
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.
<br> <h2>Stay Tuned</h2>Before we get started, be sure to star our repository and get instant notifications for all new releases!
<br> <h2>Join Community</h2>- Discord: Ideal for sharing your applications and engaging with the community.
- GitHub Discussion: Perfect for providing feedback and asking questions.
- GitHub Issues: Best for reporting bugs and proposing new features. Refer to our contribution guidelines for more details.
- X (formerly Twitter): Great for sharing your agents and interacting with the community.
Contributions are welcome! Please read the contribution guidelines first.
<br> <h2>License</h2>This project is licensed under the Apache 2.0 License - see the LICENSE file for details.