metrics.py
"""
Groq Metrics
============
Cookbook example for `groq/metrics.py`.
"""
from agno.agent import Agent, RunOutput
from agno.models.groq import Groq
from agno.tools.yfinance import YFinanceTools
from agno.utils.pprint import pprint_run_response
from rich.pretty import pprint
# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------
agent = Agent(
model=Groq(id="llama-3.3-70b-versatile"),
tools=[YFinanceTools()],
markdown=True,
)
run_output: RunOutput = agent.run("What is the stock price of NVDA")
pprint_run_response(run_output)
# Print metrics per message
if run_output.messages:
for message in run_output.messages: # type: ignore
if message.role == "assistant":
if message.content:
print(f"Message: {message.content}")
elif message.tool_calls:
print(f"Tool calls: {message.tool_calls}")
print("---" * 5, "Metrics", "---" * 5)
pprint(message.metrics)
print("---" * 20)
# Print the metrics
print("---" * 5, "Collected Metrics", "---" * 5)
pprint(run_output.metrics) # type: ignore
# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
pass
Run the Example
1
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
2
Install dependencies
uv pip install -U agno groq yfinance
3
Export your Groq API key
export GROQ_API_KEY="your_groq_api_key_here"
$Env:GROQ_API_KEY="your_groq_api_key_here"
4
Run the example
Save the code above as
metrics.py, then run:python metrics.py