Documentation Index
Fetch the complete documentation index at: https://agno-v2-shaloo-ai-support-link.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Here is a full example of an AgentOS where you provide your own FastAPI app.
Code
from agno.agent import Agent
from agno.db.postgres import PostgresDb
from agno.models.anthropic import Claude
from agno.os import AgentOS
from agno.tools.hackernews import HackerNewsTools
from fastapi import FastAPI
# Setup the database
db = PostgresDb(db_url="postgresql+psycopg://ai:ai@localhost:5532/ai")
web_research_agent = Agent(
id="web-research-agent",
name="Web Research Agent",
model=Claude(id="claude-sonnet-4-0"),
db=db,
tools=[HackerNewsTools()],
add_history_to_context=True,
num_history_runs=3,
add_datetime_to_context=True,
markdown=True,
)
# Custom FastAPI app
app: FastAPI = FastAPI(
title="Custom FastAPI App",
version="1.0.0",
)
# Add your own routes
@app.post("/customers")
async def get_customers():
return [
{
"id": 1,
"name": "John Doe",
"email": "john.doe@example.com",
},
{
"id": 2,
"name": "Jane Doe",
"email": "jane.doe@example.com",
},
]
# Setup our AgentOS app by passing your FastAPI app
# Use route_prefix to avoid conflicts with your custom routes
agent_os = AgentOS(
description="Example app with custom routers",
agents=[web_research_agent],
base_app=app,
)
# Alternatively, add all routes from AgentOS app to the current app
# for route in agent_os.get_routes():
# app.router.routes.append(route)
app = agent_os.get_app()
if __name__ == "__main__":
"""Run your AgentOS.
With this setup:
- API docs: http://localhost:7777/docs
"""
agent_os.serve(app="custom_fastapi:app", reload=True)
Usage
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
Set Environment Variables
export ANTHROPIC_API_KEY=your_anthropic_api_key
Install dependencies
uv pip install -U agno anthropic fastapi uvicorn sqlalchemy pgvector psycopg
Setup PostgreSQL Database
# Using Docker
docker run -d \
--name agno-postgres \
-e POSTGRES_DB=ai \
-e POSTGRES_USER=ai \
-e POSTGRES_PASSWORD=ai \
-p 5532:5432 \
pgvector/pgvector:pg17