Documentation Index
Fetch the complete documentation index at: https://spacesail.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
This example demonstrates how to use Pydantic models as output from teams, showing how structured data can be returned as responses for more precise and validated output handling.
Code
cookbook/examples/teams/structured_input_output/00_pydantic_model_output.py
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.team import Team
from agno.tools.duckduckgo import DuckDuckGoTools
from agno.utils.pprint import pprint_run_response
from pydantic import BaseModel
class StockAnalysis(BaseModel):
symbol: str
company_name: str
analysis: str
class CompanyAnalysis(BaseModel):
company_name: str
analysis: str
stock_searcher = Agent(
name="Stock Searcher",
model=OpenAIChat("gpt-5-mini"),
output_schema=StockAnalysis,
role="Searches for information on stocks and provides price analysis.",
tools=[DuckDuckGoTools()],
)
company_info_agent = Agent(
name="Company Info Searcher",
model=OpenAIChat("gpt-5-mini"),
role="Searches for information about companies and recent news.",
output_schema=CompanyAnalysis,
tools=[DuckDuckGoTools()],
)
class StockReport(BaseModel):
symbol: str
company_name: str
analysis: str
team = Team(
name="Stock Research Team",
model=OpenAIChat("gpt-5-mini"),
members=[stock_searcher, company_info_agent],
output_schema=StockReport,
markdown=True,
)
# This should route to the stock_searcher
response = team.run("What is the current stock price of NVDA?")
assert isinstance(response.content, StockReport)
pprint_run_response(response)
Usage
Create a virtual environment
Open the Terminal and create a python virtual environment.python3 -m venv .venv
source .venv/bin/activate
Install required libraries
pip install agno openai ddgs
Set environment variables
export OPENAI_API_KEY=****
Run the agent
python cookbook/examples/teams/structured_input_output/00_pydantic_model_output.py