Tool Use

Use web search tools with Mistral Nemotron served through the NVIDIA API.

NVIDIA marks the free endpoint for Llama 3.3 70B as deprecated. The current instructions use Mistral Nemotron, which lists an available free endpoint and function calling. You still need API account access. This does not describe partner endpoints or downloaded Llama weights.

tool_use.py
"""Run `uv pip install ddgs` to install dependencies."""

import asyncio

from agno.agent import Agent
from agno.models.nvidia import Nvidia
from agno.tools.websearch import WebSearchTools

# ---------------------------------------------------------------------------
# Create Agent
# ---------------------------------------------------------------------------

agent = Agent(
    model=Nvidia(id="meta/llama-3.3-70b-instruct"),
    tools=[WebSearchTools()],
    markdown=True,
)

# ---------------------------------------------------------------------------
# Run Agent
# ---------------------------------------------------------------------------
if __name__ == "__main__":
    # --- Sync ---
    agent.print_response("Whats happening in France?")

    # --- Sync + Streaming ---
    agent.print_response("Whats happening in France?", stream=True)

    # --- Async + Streaming ---
    asyncio.run(agent.aprint_response("Whats happening in France?", stream=True))

Run the Example

Set up your virtual environment

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

Install dependencies

uv pip install -U agno ddgs openai

Export your NVIDIA API key

export NVIDIA_API_KEY="your_nvidia_api_key_here"

Use the current hosted model

Replace id="meta/llama-3.3-70b-instruct" with id="mistralai/mistral-nemotron" in the saved file. Keep the NVIDIA API key and existing run options.

Run the example

Save the code above as tool_use.py, then run:

python tool_use.py

Full source: cookbook/90_models/nvidia/tool_use.py