- Handling temporary failures
- Improving output quality through retries
- Implementing human-in-the-loop validation
Code
retry_functions.py
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
You are viewing v1 docs. For the latest documentation, visit docs.agno.com
from typing import Iterator
from agno.agent import Agent
from agno.exceptions import RetryAgentRun
from agno.tools import FunctionCall, tool
num_calls = 0
def pre_hook(fc: FunctionCall):
global num_calls
print(f"Pre-hook: {fc.function.name}")
print(f"Arguments: {fc.arguments}")
num_calls += 1
if num_calls < 2:
raise RetryAgentRun(
"This wasn't interesting enough, please retry with a different argument"
)
@tool(pre_hook=pre_hook)
def print_something(something: str) -> Iterator[str]:
print(something)
yield f"I have printed {something}"
agent = Agent(tools=[print_something], markdown=True)
agent.print_response("Print something interesting", stream=True)
Was this page helpful?