Async Basic Streaming Agent

Code

1import asyncio
2from typing import Iterator # noqa
3
4from kern.agent import Agent, RunOutputEvent # noqa
5from kern.models.perplexity import Perplexity
6
7agent = Agent(model=Perplexity(id="sonar"), markdown=True)
8
9# Get the response in a variable
10# run_response: Iterator[RunOutputEvent] = agent.run("Share a 2 sentence horror story", stream=True)
11# for chunk in run_response:
12# print(chunk.content)
13
14# Print the response in the terminal
15asyncio.run(agent.aprint_response("Share a 2 sentence horror story", stream=True))

Usage

Set up your virtual environment

1uv venv --python 3.12
2source .venv/bin/activate
1uv venv --python 3.12
2.venv\Scripts\activate

Set your API key

1export PERPLEXITY_API_KEY=xxx

Install dependencies

1uv pip install -U kern-ai openai

Run Agent

1python cookbook/11_models/perplexity/async_basic_stream.py