We showcase an impressive voice agent called Astra, powered by TEN, demonstrating its ability to create intuitive and seamless conversational interactions.
- Keys
- Agora App ID and App Certificate(read here on how)
- Azure's speech-to-text and text-to-speech API keys
- OpenAI API key
- Downloads
You will need to uncheck "Use Rosetta for x86_64/amd64 emulation on apple silicon" option for Docker if you are on Apple Silicon, otherwise the server is not gonna work.
In the root of the project, create these files from the examples. They will be used to store information for Docker Compose later.
# Create property.json from the example
cp ./agents/property.json.example ./agents/property.json
# Create .env from the example
cp ./.env.example ./.env
Open the .env
file and fill in the keys and regions. This is also where you can choose to use any different extensions:
# Agora App ID and Agora App Certificate
# required: this variable must be set
AGORA_APP_ID=
AGORA_APP_CERTIFICATE=
# Extension: agora_rtc
# Azure STT key and region
AZURE_STT_KEY=
AZURE_STT_REGION=
# Extension: azure_tts
# Azure TTS key and region
AZURE_TTS_KEY=
AZURE_TTS_REGION=
# Extension: openai_chatgpt
# OpenAI API key
OPENAI_API_KEY=
In the same directory, run the docker
command to compose containers:
# Execute docker compose up to start the services
docker compose up
Open up a separate terminal window, build the agent and start the server:
# Enter container to build agent
docker exec -it astra_agents_dev bash
make build
# Run server on port 8080
make run-server
You can open localhost:3000
in your browser to test your own agent, or open localhost:3001
in your browser to build your workflow by Graph Designer.
Now that you’ve created your first AI agent, the creativity doesn’t stop here. To develop more amazing agents, you’ll need an advanced understanding of how the TEN works under the hood. Please refer to the TEN service documentation .
Before we dive further, be sure to star our repository and get instant notifications for all new releases!
- 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.
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.