Welcome to your AgentOS: a high-performance runtime for serving agents, multi-agent teams and agentic workflows. It includes:
- AgentOS runtime: for serving agents, multi-agent teams and agentic workflows.
- PostgreSQL database: for storing agent sessions, knowledge, and memories.
- A set of pre-built agents, teams and workflows to use as a starting point.
For more details, checkout Agno and give it a โญ๏ธ
Follow these steps to setup your AgentOS:
git clone https://github.com/agno-agi/ai-eng-os.git
cd ai-eng-osFor this workshop, we'll use OpenAI, Anthropic and Parallel Search services. Please export the following environment variables:
export OPENAI_API_KEY="YOUR_API_KEY_HERE"
export ANTHROPIC_API_KEY="YOUR_API_KEY_HERE"
export PARALLEL_API_KEY="YOUR_API_KEY_HERE"Tip
You can copy the example.env file and rename it to .env to get started.
Please install Docker Desktop from here.
Run the application using docker compose:
docker compose up --build -dThis command builds the Docker image and starts the application:
- The AgentOS server, running on http://localhost:8000.
- The PostgreSQL database for storing agent sessions, knowledge, and memories, accessible on
localhost:5432.
Once started, you can:
- View the AgentOS runtime at http://localhost:8000/docs.
- Open the AgentOS UI
- Login and add
http://localhost:8000as a new AgentOS. You can call itLocal AgentOS(or any name you prefer).
The Agno Knowledge Agent is a minimal example of agentic search. It loads the Agno documentation into a local knowledge base and answers questions about the platform.
To populate the knowledge base, run the following command:
docker exec -it ai-eng-os-agent-os-1 python -m agents.agno_knowledge_agentWhen you're done, stop the application using:
docker compose downTo deploy the application to Railway, run the following commands:
- Install Railway CLI:
brew install railwayMore information on how to install Railway CLI can be found here.
- Login to Railway:
railway login- Deploy the application:
./scripts/railway_up.shThis command will:
- Create a new Railway project.
- Deploy a PgVector database service to your Railway project.
- Build and deploy the docker image to your Railway project.
- Set environment variables in your AgentOS service.
- Create a new domain for your AgentOS service.
To update the application, run the following command:
railway up --service agent_os -dThis rebuilds and redeploys the Docker image to your Railway service.
To delete the application, run the following command:
railway down --service agent_os
railway down --service pgvectorCareful: This command will delete the AgentOS and PgVector database services from your Railway project.
To connect the AgentOS UI to the AgentOS server:
- Open the AgentOS UI
- Create a new AgentOS by clicking on the
+button in the top left corner. - Enter the AgentOS URL and click on the
Connectbutton. - You can add a local endpoint from your dev setup. To add the railway endpoint, you will be provided with a coupon code during the workshop.
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 | shRun the dev_setup.sh script. This will create a virtual environment and install project dependencies:
./scripts/dev_setup.shActivate 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.shTo upgrade all existing dependencies to their latest compatible versions, run:
./scripts/generate_requirements.sh upgradeRebuild your Docker images to include the updated dependencies:
docker compose up -d --buildNeed 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.