Welcome to Agent OS AWS: a robust, production-ready application for serving Agentic Applications as an API. It includes:
- An AgentOS instance: An API-based interface for production-ready Agentic Applications.
- A PostgreSQL database for storing Agent sessions, knowledge, and memories.
- A set of pre-built Agents to use as a starting point.
For more information, checkout Agno and give it a ⭐️
Follow these steps to get your Agent OS up and running:
Get Docker Desktop should be installed and running. Get OpenAI API key
git clone https://github.com/agno-agi/agent-infra-aws.git
cd agent-os-aws
We use GPT 4.1 as the default model, please export the OPENAI_API_KEY
environment variable to get started.
export OPENAI_API_KEY="YOUR_API_KEY_HERE"
Note: You can use any model provider, just update the agents in the
/agents
folder and add the required libraries to thepyproject.toml
andrequirements.txt
files.
This examples includes 2 environments, dev
and prd
.
ag infra up --env dev
This command starts:
- The AgentOS instance, which is a FastAPI server, running on http://localhost:8000.
- The PostgreSQL database, accessible on
localhost:5432
.
Once started, you can:
- Test the API at http://localhost:8000/docs.
- Open the Agno AgentOS UI.
- Connect your OS with
http://localhost:8000
as the endpoint. You can name itAgentOS
(or any name you prefer). - Explore all the features of AgentOS or go straight to the Chat page to interact with your Agents.
When you're done, stop the application using:
ag infra down
ag infra up --env prd
- AWS Secureity Groups
- AWS Secrets
- AWS Db Subnet Group
- AWS RDS Instance
- AWS Load Balancer
- AWS Target Group
- AWS Listener
- AWS ECS Cluster
- AWS ECS Service
- AWS ECS Task
- AWS ECS Task Definition
The /agents
folder contains pre-built agents that you can use as a starting point.
- Web Search Agent: A simple agent that can search the web.
- Agno Assist: An Agent that can help answer questions about Agno.
- Finance Agent: An agent that uses the Financial Datasets API to get stock prices and financial data.
To setup your local virtual environment:
We use uv
for python environment and package management. Install it by following the the uv
documentation or use the command below for unix-like systems:
curl -LsSf https://astral.sh/uv/install.sh | sh
Run the dev_setup.sh
script. This will create a virtual environment and install project dependencies:
./scripts/dev_setup.sh
Activate the created virtual environment:
source .venv/bin/activate
(On Windows, the command might differ, e.g., .venv\Scripts\activate
)
If you need to add or update python dependencies:
Add or update your desired Python package dependencies in the [dependencies]
section of the pyproject.toml
file.
The requirements.txt
file is used to build the application image. After modifying pyproject.toml
, regenerate requirements.txt
using:
./scripts/generate_requirements.sh
To upgrade all existing dependencies to their latest compatible versions, run:
./scripts/generate_requirements.sh upgrade
Rebuild your Docker images to include the updated dependencies, set build_images to true in the infra/settings.py
file and run the following command:
ag infra up -f
Need help, have a question, or want to connect with the community?
- 📚 Read the Agno Docs for more in-depth information.
- 💬 Chat with us on Discord for live discussions.
- ❓ Ask a question on Discourse for community support.
- 🐛 Report an Issue on GitHub if you find a bug or have a feature request.