Skip to content

NVIDIA/NeMo-Agent-Toolkit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

NVIDIA NeMo Agent Toolkit

NVIDIA NeMo Agent Toolkit

License: Apache 2.0 GitHub Release PyPI version GitHub issues GitHub pull requests GitHub Repo stars GitHub forks Open in Colab

NVIDIA NeMo Agent Toolkit is a flexible, lightweight, and unifying library that allows you to easily connect existing enterprise agents to data sources and tools across any framework.

Note

NeMo Agent Toolkit was previously known as the Agent Intelligence (AIQ) toolkit, and AgentIQ. The library was renamed to better reflect the purpose of the toolkit and to align with the NVIDIA NeMo family of products. The core technologies, performance, and roadmap remain unchanged and the API is fully compatible with previous releases. Please refer to the Migration Guide for more information.

πŸ”₯ New Features

  • Automatic Hyperparameter Tuning: Automatically tune the hyperparameters of your agents, tools, and workflows to maximize performance, minimize cost, and increase accuracy.

  • Google ADK Support: Users of Google's Agent Development Kit (ADK) framework are now supported in NeMo Agent Toolkit.

  • MCP Authorization: NeMo Agent Toolkit now supports MCP authorization. This allows you to use NeMo Agent Toolkit with MCP authorization when using the streamable HTTP protocol.

  • Function Groups: NeMo Agent Toolkit now supports Function Groups, allowing you to package multiple related functions together to share configuration, context, and resources.

✨ Key Features

  • 🧩 Framework Agnostic: NeMo Agent Toolkit works side-by-side and around existing agentic frameworks, such as LangChain, LlamaIndex, CrewAI, Microsoft Semantic Kernel, and Google ADK, as well as custom enterprise agentic frameworks and simple Python agents. This allows you to use your current technology stack without replatforming. NeMo Agent Toolkit complements any existing agentic framework or memory tool you're using and isn't tied to any specific agentic framework, LLM provider, or data source.

  • πŸ” Reusability: Every agent, tool, and agentic workflow in this library exists as a function call that works together in complex software applications. The composability between these agents, tools, and workflows allows you to build once and reuse in different scenarios.

  • ⚑ Rapid Development: Start with a pre-built agent, tool, or workflow, and customize it to your needs. This allows you and your development teams to move quickly if you're already developing with agents.

  • πŸ“ˆ Profiling: Use the profiler to profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks. While we encourage you to wrap (decorate) every tool and agent to get the most out of the profiler, you have the freedom to integrate your tools, agents, and workflows to whatever level you want. You start small and go to where you believe you'll see the most value and expand from there.

  • πŸ”Ž Observability: Monitor and debug your workflows with dedicated integrations for popular observability platforms such as Phoenix, Weave, and Langfuse, plus compatibility with OpenTelemetry-based observability platforms. Track performance, trace execution flows, and gain insights into your agent behaviors.

  • πŸ§ͺ Evaluation System: Validate and maintain accuracy of agentic workflows with built-in evaluation tools.

  • πŸ’¬ User Interface: Use the NeMo Agent Toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.

  • πŸ”— Full MCP Support: Compatible with Model Context Protocol (MCP). You can use NeMo Agent Toolkit as an MCP client to connect to and use tools served by remote MCP servers. You can also use NeMo Agent Toolkit as an MCP server to publish tools via MCP.

With NeMo Agent Toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.

πŸš€ Installation

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 which can be installed with the core package. Optional dependencies are grouped by framework and can be installed with the core package. For example, to install the LangChain/LangGraph plugin, run the following:

pip install "nvidia-nat[langchain]"

Or for all optional dependencies:

pip install "nvidia-nat[all]"

Detailed installation instructions, including the full list of optional dependencies, can be found in the Installation Guide.

🌟 Hello World Example

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 in a new tab: Open in Colab.

  1. 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>
  2. 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: meta/llama-3.1-70b-instruct
          temperature: 0.0
    
    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
  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']

πŸ“š Additional Resources

πŸ›£οΈ Roadmap

  • Add support for the AWS Strands framework.
  • Automatic Reinforcement Learning (RL) to fine-tune LLMs for a specific agent.
  • Integration with NeMo Guardrails to secure any function in an agent workflow.
  • End-to-end acceleration using intelligent integrations with NVIDIA Dynamo.

πŸ’¬ Feedback

We would love to hear from you! Please file an issue on GitHub if you have any feedback or feature requests.

🀝 Acknowledgements

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:

About

The NVIDIA NeMo Agent toolkit is an open-source library for efficiently connecting and optimizing teams of AI agents.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages