Asynchronous Streaming Agent

Stream a Llama-powered Agno agent's response asynchronously with aprint_response().

Code

async_stream.py
import asyncio

from agno.agent import Agent
from agno.models.meta import Llama

agent = Agent(model=Llama(id="Llama-4-Maverick-17B-128E-Instruct-FP8"), markdown=True)

# Get the response in a variable
# async def main():
#     async for chunk in agent.arun("Share a 2 sentence horror story", stream=True):
#         print(chunk.content, end="", flush=True)

# Print the response in the terminal
asyncio.run(agent.aprint_response("Share a 2 sentence horror story", stream=True))

These examples require access to the Meta Llama API, an API key, and the chosen model enabled for your account. Check the model catalog while signed in, and replace the example ID if your account offers a different compatible model. Installing llama-api-client alone does not grant API access.

Usage

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate

Set your LLAMA API key

export LLAMA_API_KEY=YOUR_API_KEY

Install dependencies

uv pip install llama-api-client agno

Run Agent

python async_stream.py