The NVIDIA NeMo Agent toolkit is an open-source library for efficiently connecting and optimizing teams of AI agents.
2,629
stars
1,485
commits
Python
primary language
Sep 10, 2026
updated

NVIDIA NeMo Agent Toolkit adds intelligence to AI agents across any frameworkโenhancing speed, accuracy, and decision-making through enterprise-grade instrumentation, observability, and continuous learning.
1.5.0 simplifies package installation and dependency management. See the Migration Guide.With NeMo Agent Toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.
Before you begin using NeMo Agent Toolkit, ensure that you have Python 3.11, 3.12, or 3.13 installed on your system.
[!NOTE] For users who want to run the examples, it's required to clone the repository and install from source to get the necessary files required to run the examples. Please refer to the Examples documentation for more information.
To install the latest stable version of NeMo Agent Toolkit from PyPI, run the following command:
pip install nvidia-nat
NeMo Agent Toolkit has many optional dependencies that can be installed with the core package. Optional dependencies are grouped by framework. For example, to install the LangChain/LangGraph plugin, run the following:
pip install "nvidia-nat[langchain]"
Detailed installation instructions, including the full list of optional dependencies and their conflicts, can be found in the Installation Guide.
Before getting started, it's possible to run this simple workflow and many other examples in Google Colab with no setup. Click here to open the introduction notebook: .
Ensure you have set the NVIDIA_API_KEY environment variable to allow the example to use NVIDIA NIMs. An API key can be obtained by visiting build.nvidia.com and creating an account.
export NVIDIA_API_KEY=<your_api_key>
Create the NeMo Agent Toolkit workflow configuration file. This file will define the agents, tools, and workflows that will be used in the example. Save the following as workflow.yml:
functions:
# Add a tool to search wikipedia
wikipedia_search:
_type: wiki_search
max_results: 2
llms:
# Tell NeMo Agent Toolkit which LLM to use for the agent
nim_llm:
_type: nim
model_name: nvidia/nemotron-3.5-lightning-30b-a3b
temperature: 0.0
chat_template_kwargs:
enable_thinking: false
workflow:
# Use an agent that 'reasons' and 'acts'
_type: react_agent
# Give it access to our wikipedia search tool
tool_names: [wikipedia_search]
# Tell it which LLM to use
llm_name: nim_llm
# Make it verbose
verbose: true
# Retry up to 3 times
parse_agent_response_max_retries: 3
Run the Hello World example using the nat CLI and the workflow.yml file.
nat run --config_file workflow.yml --input "List five subspecies of Aardvarks"
This will run the workflow and output the results to the console.
Workflow Result:
['Here are five subspecies of Aardvarks:\n\n1. Orycteropus afer afer (Southern aardvark)\n2. O. a. adametzi Grote, 1921 (Western aardvark)\n3. O. a. aethiopicus Sundevall, 1843\n4. O. a. angolensis Zukowsky & Haltenorth, 1957\n5. O. a. erikssoni Lรถnnberg, 1906']
examples directory of the source repository.The NeMo Agent Toolkit includes runtime telemetry hooks for the nat command-line tool to help guide improvements. Telemetry is best-effort and never blocks or fails a CLI invocation. Once you opt in (see below), events are sent to the shared NeMo Usage Telemetry ingest.
The first time you run an interactive nat command, you'll see a one-time consent prompt explaining what is collected and asking whether to allow it. The prompt defaults to yes (pressing Enter accepts); type n to opt out. Your decision is persisted to ~/.config/nat/telemetry.toml and respected on every subsequent invocation.
In non-interactive contexts (CI, cron, piped scripts, daemons), telemetry is always off unless you explicitly enable it via the environment variable below. We never send data when there's no opportunity to ask.
You can change your decision anytime:
nat configure telemetry --enable # opt in
nat configure telemetry --disable # opt out
nat configure telemetry --status # show the current effective state
Or override the persisted decision (and skip the prompt) via environment variable:
export NAT_TELEMETRY_ENABLED=false # disable for this shell session
export NAT_TELEMETRY_ENABLED=true # enable for this shell session
The environment variable takes precedence over the persisted file. If both disagree, nat configure telemetry --status will tell you which one is winning.
For each nat command invocation, a single event is sent at exit containing:
run, serve, or evaluate.list-components for nat info list-components.success, failure, or interrupted.3.11.7.The following are never collected:
We would love to hear from you! Please file an issue on GitHub if you have any feedback or feature requests.
We would like to thank the following groups for their contribution to the toolkit:
In addition, we would like to thank the following open source projects that made NeMo Agent Toolkit possible:
(top 30 of 113)
Python
99.5%
The NVIDIA NeMo Agent toolkit is an open-source library for efficiently connecting and optimizing teams of AI agents.
2,629
stars
1,485
commits
Python
primary language
Sep 10, 2026
updated

NVIDIA NeMo Agent Toolkit adds intelligence to AI agents across any frameworkโenhancing speed, accuracy, and decision-making through enterprise-grade instrumentation, observability, and continuous learning.
1.5.0 simplifies package installation and dependency management. See the Migration Guide.With NeMo Agent Toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.
Before you begin using NeMo Agent Toolkit, ensure that you have Python 3.11, 3.12, or 3.13 installed on your system.
[!NOTE] For users who want to run the examples, it's required to clone the repository and install from source to get the necessary files required to run the examples. Please refer to the Examples documentation for more information.
To install the latest stable version of NeMo Agent Toolkit from PyPI, run the following command:
pip install nvidia-nat
NeMo Agent Toolkit has many optional dependencies that can be installed with the core package. Optional dependencies are grouped by framework. For example, to install the LangChain/LangGraph plugin, run the following:
pip install "nvidia-nat[langchain]"
Detailed installation instructions, including the full list of optional dependencies and their conflicts, can be found in the Installation Guide.
Before getting started, it's possible to run this simple workflow and many other examples in Google Colab with no setup. Click here to open the introduction notebook: .
Ensure you have set the NVIDIA_API_KEY environment variable to allow the example to use NVIDIA NIMs. An API key can be obtained by visiting build.nvidia.com and creating an account.
export NVIDIA_API_KEY=<your_api_key>
Create the NeMo Agent Toolkit workflow configuration file. This file will define the agents, tools, and workflows that will be used in the example. Save the following as workflow.yml:
functions:
# Add a tool to search wikipedia
wikipedia_search:
_type: wiki_search
max_results: 2
llms:
# Tell NeMo Agent Toolkit which LLM to use for the agent
nim_llm:
_type: nim
model_name: nvidia/nemotron-3.5-lightning-30b-a3b
temperature: 0.0
chat_template_kwargs:
enable_thinking: false
workflow:
# Use an agent that 'reasons' and 'acts'
_type: react_agent
# Give it access to our wikipedia search tool
tool_names: [wikipedia_search]
# Tell it which LLM to use
llm_name: nim_llm
# Make it verbose
verbose: true
# Retry up to 3 times
parse_agent_response_max_retries: 3
Run the Hello World example using the nat CLI and the workflow.yml file.
nat run --config_file workflow.yml --input "List five subspecies of Aardvarks"
This will run the workflow and output the results to the console.
Workflow Result:
['Here are five subspecies of Aardvarks:\n\n1. Orycteropus afer afer (Southern aardvark)\n2. O. a. adametzi Grote, 1921 (Western aardvark)\n3. O. a. aethiopicus Sundevall, 1843\n4. O. a. angolensis Zukowsky & Haltenorth, 1957\n5. O. a. erikssoni Lรถnnberg, 1906']
examples directory of the source repository.The NeMo Agent Toolkit includes runtime telemetry hooks for the nat command-line tool to help guide improvements. Telemetry is best-effort and never blocks or fails a CLI invocation. Once you opt in (see below), events are sent to the shared NeMo Usage Telemetry ingest.
The first time you run an interactive nat command, you'll see a one-time consent prompt explaining what is collected and asking whether to allow it. The prompt defaults to yes (pressing Enter accepts); type n to opt out. Your decision is persisted to ~/.config/nat/telemetry.toml and respected on every subsequent invocation.
In non-interactive contexts (CI, cron, piped scripts, daemons), telemetry is always off unless you explicitly enable it via the environment variable below. We never send data when there's no opportunity to ask.
You can change your decision anytime:
nat configure telemetry --enable # opt in
nat configure telemetry --disable # opt out
nat configure telemetry --status # show the current effective state
Or override the persisted decision (and skip the prompt) via environment variable:
export NAT_TELEMETRY_ENABLED=false # disable for this shell session
export NAT_TELEMETRY_ENABLED=true # enable for this shell session
The environment variable takes precedence over the persisted file. If both disagree, nat configure telemetry --status will tell you which one is winning.
For each nat command invocation, a single event is sent at exit containing:
run, serve, or evaluate.list-components for nat info list-components.success, failure, or interrupted.3.11.7.The following are never collected:
We would love to hear from you! Please file an issue on GitHub if you have any feedback or feature requests.
We would like to thank the following groups for their contribution to the toolkit:
In addition, we would like to thank the following open source projects that made NeMo Agent Toolkit possible:
(top 30 of 113)
Python
99.5%