Async Basic Agent

Code

1import asyncio
2
3from kern.agent import Agent, RunOutput
4from kern.models.ibm import WatsonX
5
6agent = Agent(model=WatsonX(id="ibm/granite-20b-code-instruct"), markdown=True)
7
8# Get the response in a variable
9# run: RunOutput = agent.run("Share a 2 sentence horror story")
10# print(run.content)
11
12# Print the response in the terminal
13asyncio.run(agent.aprint_response("Share a 2 sentence horror story"))

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 IBM_WATSONX_API_KEY=xxx
2export IBM_WATSONX_PROJECT_ID=xxx

Install dependencies

1uv pip install -U ibm-watsonx-ai kern-ai

Run Agent

1python cookbook/11_models/ibm/watsonx/async_basic.py

This example shows how to use the asynchronous API of Kern with IBM WatsonX. It creates an agent and uses asyncio.run() to execute the asynchronous aprint_response method.