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 define an input schema for an agent using Pydantic models, ensuring structured input validation.
Code
from typing import List
from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.hackernews import HackerNewsTools
from pydantic import BaseModel, Field
class ResearchTopic(BaseModel):
"""Structured research topic with specific requirements"""
topic: str
focus_areas: List[str] = Field(description="Specific areas to focus on")
target_audience: str = Field(description="Who this research is for")
sources_required: int = Field(description="Number of sources needed", default=5)
# Define agents
hackernews_agent = Agent(
name="Hackernews Agent",
model=OpenAIChat(id="gpt-5-mini"),
tools=[HackerNewsTools()],
role="Extract key insights and content from Hackernews posts",
input_schema=ResearchTopic,
)
# Pass a dict that matches the input schema
hackernews_agent.print_response(
input={
"topic": "AI",
"focus_areas": ["AI", "Machine Learning"],
"target_audience": "Developers",
"sources_required": "5",
}
)
# Pass a pydantic model that matches the input schema
# hackernews_agent.print_response(
# input=ResearchTopic(
# topic="AI",
# focus_areas=["AI", "Machine Learning"],
# target_audience="Developers",
# sources_required=5,
# )
# )
Usage
Create a virtual environment
Open the Terminal and create a python virtual environment.python3 -m venv .venv
source .venv/bin/activate
Install libraries
pip install -U agno pydantic
Export your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"
Create a Python file
Create a Python file and add the above code.touch input_schema_on_agent.py
Run Agent
python input_schema_on_agent.py
Find All Cookbooks
Explore all the available cookbooks in the Agno repository. Click the link below to view the code on GitHub:Agno Cookbooks on GitHub