Agent with Async Tool Usage
Run a WatsonX agent with WebSearchTools asynchronously and stream the response.
Code
import asyncio
from agno.agent import Agent
from agno.models.ibm import WatsonX
from agno.tools.websearch import WebSearchTools
agent = Agent(
model=WatsonX(id="mistralai/mistral-small-3-1-24b-instruct-2503"),
tools=[WebSearchTools()],
markdown=True,
)
asyncio.run(agent.aprint_response("Whats happening in France?", stream=True))Usage
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateSet your API key
export IBM_WATSONX_API_KEY=xxx
export IBM_WATSONX_PROJECT_ID=xxxInstall dependencies
uv pip install -U ibm-watsonx-ai ddgs agnoRun Agent
Save the code above as tool_use.py, then run:
python tool_use.pyThe agent runs asynchronously, searches the web with WebSearchTools, and streams the response as it's generated.