Production runtime with FastAPI server and control plane integration.
from agno.os import AgentOS
class AgentOS:
def __init__(
self,
*,
agents: Optional[List[Agent]] = None,
teams: Optional[List[Team]] = None,
workflows: Optional[List[Workflow]] = None,
name: Optional[str] = None,
description: Optional[str] = None,
version: str = "1.0.0",
api_key: Optional[str] = None,
enable_cors: bool = True,
**kwargs
): ...def get_app(self) -> FastAPI:
"""
Get the FastAPI application instance.
Returns:
FastAPI: The FastAPI app with all routes configured
"""
def serve(
self,
app: str,
host: str = "0.0.0.0",
port: int = 7777,
reload: bool = False,
**kwargs
) -> None:
"""
Start the AgentOS server.
Parameters:
app: App path in module:app format
host: Host address
port: Port number
reload: Enable auto-reload for development
**kwargs: Additional uvicorn parameters
"""from agno.agent import Agent
from agno.os import AgentOS
from agno.models.openai import OpenAIChat
from agno.db.sqlite import SqliteDb
# Create agents
agent = Agent(
name="Assistant",
model=OpenAIChat(id="gpt-4"),
db=SqliteDb(db_file="agent.db"),
add_history_to_context=True
)
# Create AgentOS
agent_os = AgentOS(
agents=[agent],
name="My AgentOS",
version="1.0.0"
)
# Get FastAPI app
app = agent_os.get_app()
# Run server
if __name__ == "__main__":
agent_os.serve(app="main:app", reload=True)from agno.agent import Agent
from agno.os import AgentOS
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.tools.yfinance import YFinanceTools
# Create multiple agents
research_agent = Agent(
name="Researcher",
model=OpenAIChat(id="gpt-4"),
tools=[DuckDuckGoTools()]
)
finance_agent = Agent(
name="Finance Analyst",
model=OpenAIChat(id="gpt-4"),
tools=[YFinanceTools()]
)
# Create AgentOS with multiple agents
agent_os = AgentOS(
agents=[research_agent, finance_agent],
name="Multi-Agent System"
)
app = agent_os.get_app()
if __name__ == "__main__":
agent_os.serve(app="main:app", port=7777)from agno.agent import Agent
from agno.team import Team
from agno.workflow import Workflow
from agno.os import AgentOS
# Create agents
agent1 = Agent(name="Agent 1", model=...)
agent2 = Agent(name="Agent 2", model=...)
# Create team
team = Team(
name="Research Team",
agents=[agent1, agent2]
)
# Create workflow
workflow = Workflow(
name="Research Pipeline",
steps=[...]
)
# Create AgentOS
agent_os = AgentOS(
agents=[agent1, agent2],
teams=[team],
workflows=[workflow]
)
app = agent_os.get_app()Once the server is running, connect to the AgentOS UI at https://os.agno.com: