Documentation Index
Fetch the complete documentation index at: https://agno-v2-rbac-doc-update.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Set followups=True to automatically generate followup prompt suggestions after each response. The agent makes a second model call to produce short, action-oriented prompts based on the conversation.
Create a Python file
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
agent = Agent(
model=OpenAIResponses(id="gpt-4o"),
followups=True,
num_followups=3,
)
response = agent.run("What is quantum computing?")
print(response.content)
print("\nFollowup suggestions:")
for i, suggestion in enumerate(response.followups, 1):
print(f" {i}. {suggestion}")
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
Install dependencies
uv pip install -U agno openai
Export your OpenAI API key
export OPENAI_API_KEY="your_openai_api_key_here"
Run Agent
python followup_suggestions.py
Options
| Parameter | Type | Default | Description |
|---|
followups | bool | False | Enable followup suggestion generation |
num_followups | int | 3 | Number of suggestions to generate (minimum 1) |
followup_model | Model | Agent’s model | Separate model for generating followups. Use a smaller model to reduce cost. |
Streaming
Followup suggestions are available via events when streaming. The FollowupsCompleted event carries the suggestions after the main response finishes.
followup_suggestions_streaming.py
import asyncio
from agno.agent import Agent, RunEvent
from agno.models.openai import OpenAIResponses
agent = Agent(
model=OpenAIResponses(id="gpt-4o"),
followups=True,
num_followups=3,
)
async def main():
async for event in agent.arun(
"What is quantum computing?",
stream=True,
stream_events=True,
):
if event.event == RunEvent.run_content and event.content:
print(event.content, end="", flush=True)
if event.event == RunEvent.followups_completed:
print("\n\nFollowup suggestions:")
for i, suggestion in enumerate(event.followups, 1):
print(f" {i}. {suggestion}")
asyncio.run(main())
Using a separate model
Use followup_model to offload followup generation to a cheaper model.
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
agent = Agent(
model=OpenAIResponses(id="gpt-4o"),
followups=True,
num_followups=3,
followup_model=OpenAIResponses(id="gpt-4o-mini"),
)
Developer Resources