Releases: NVIDIA/NeMo-Agent-Toolkit
v1.2.1
📦 Overview
This is a documentation only release, there are no code changes in this release.
📜 Full Change Log
- Add a version switcher to the documentation builds by @dagardner-nv in #681
- Add link to GitHub repository from documentation by @dagardner-nv in #687
Full Changelog: v1.2.0...v1.2.1
v1.2.0
📦 Overview
The NeMo Agent toolkit, formerly known as Agent Intelligence (AIQ) toolkit, has been renamed to align with the NVIDIA NeMo family of products. This release brings significant new capabilities and improvements across authentication, resource management, observability, and developer experience. The toolkit continues to offer backwards compatibility, making the transition seamless for existing users.
While NeMo Agent Toolkit is designed to be compatible with the previous version, users are encouraged to update their code to follow the latest conventions and best practices. Migration instructions are provided in the migration guide.
🚨 Breaking Changes
- Remove outdated/unsupported devcontainer by @dagardner-nv in #626
- Rename
aiq
namespace tonat
by @dagardner-nv in #618 - Update
AIQ
toNAT
in documentation and comments by @yczhang-nv in #614 - Remove
AIQ
prefix from class and function names by @dagardner-nv in #606 - Rename aiqtoolkit packages to nvidia-nat by @dagardner-nv in #598
- Observability redesign to reduce dependencies and improve flexibility by @mpenn in #379
🚀 Notable Features and Improvements
- Authentication for Tool Calling: Implement robust authentication mechanisms that enable secure and configurable access management for tool invocation within agent workflows.
- Test Time Compute: Dynamically reallocate compute resources after model training, allowing agents to optimize reasoning, factual accuracy, and system robustness without retraining the base model.
- Sizing Calculator: Estimate GPU cluster requirements to support your target number of users and desired response times, simplifying deployment planning and scaling.
- Object Store Integration: Connect and manage data through supported object stores, improving agent extensibility and enabling advanced data workflows.
- Enhanced Cursor Rules: Build new workflows or extend existing ones by leveraging cursor rules, making agent development faster and more flexible.
- Interactive Notebooks: Access a suite of onboarding and example notebooks to accelerate agent workflow development, testing, and experimentation.
- Observability Refactor: Onboard new observability and monitoring platforms more easily, and take advantage of improved plug-in architecture for workflow inspection and analysis.
- Examples Reorganization: Organize examples by functionality, making it easier to find and use the examples.
📜 Full Change Log
- Use consistent casing for ReAct agent by @dagardner-nv in #293
- Update alert triage agent's prompt by @hsin-c in #297
- Move Wikipedia search to separate file by @jkornblum-nv in #237
- Release documentation fixes by @dagardner-nv in #300
- Add a
pyproject.toml
tosimple_rag
example allowing for declared dependencies by @dagardner-nv in #284 - Update version in develop, in prep for the next release by @AnuradhaKaruppiah in #294
- Add field validation for the evaluate API by @dagardner-nv in #311
- Intermediate steps: evaluation fix by @titericz in #312
- Fix or silence warnings emitted by tests by @dagardner-nv in #305
- Add documentation for
load_workflow()
by @yczhang-nv in #306 - Adding pytest-pretty for nice test outputs by @benomahony in #194
- feat(telemetry): add langfuse and langsmith telemetry exporters #233 by @briancaffey in #235
- Check links in markdown files by @dagardner-nv in #323
- Eval doc updates by @AnuradhaKaruppiah in #322
- Add unit tests for the alert triage agent example by @hsin-c in #252
- Add support for AWS Bedrock LLM Provider by @yczhang-nv in #238
- Add missing import in
load_workflow
documentation by @yczhang-nv in #329 - propose another solution to problem[copy] by @LunaticMaestro in #298
- Support additional_instructions by @gfreeman-nvidia in #302
- Update installing.md by @manny-pi in #316
- Add an async version of the /generate endpoint by @dagardner-nv in #315
- Update trajectory eval documentation by @hsin-c in #338
- Rename test mode to offline mode by @hsin-c in #343
- Simplify offline mode with
aiq eval
by @hsin-c in #344 - fix mcp client schema creation in flat lists by @slopp in #346
- Refactor for better prompt and tool description organization by @hsin-c in #350
- Extend
IntermediateStep
to support tool schemas in tool calling LLM requests by @mpenn in #357 - Fix AttributeError bug for otel_telemetry_exporter by @ZhongxuanWang in #335
- Update
OpenAIModelConfig
to supportstream_usage
option by @mdemoret-nv in #328 - Rename to NeMo Agent toolkit by @dagardner-nv in #359
- fix(phoenix): set project name when using phoenix telemetry exporter (#337) by @briancaffey in #347
- Account for the "required fields" list in the mcp_input_schema by @AnuradhaKaruppiah in #360
- Provide a config to pass the complete dataset entry as an EvalInputItem field to evaluators by @AnuradhaKaruppiah in #355
- Simplify custom evaluator definition by @AnuradhaKaruppiah in #358
- Add Patronus OTEL Exporter by @hersheybar in #341
- Expand Alert Triage Agent Offline Dataset by @hsin-c in #369
- Add Custom Classification Accuracy Evaluator for the Alert Triage Agent by @hsin-c in #373
- Add
Cursor rules
to improve Cursor support for development by @yczhang-nv in #319 - Added LLM retry logic to handle rate limiting LLM without frequent Exception by @liamy-nv in #368
- Fixes Function and LambdaFunction classes to push active function instance names by @mpenn in #374
- TunableRagEvaluator: Re-enable inheriting from the base abc by @AnuradhaKaruppiah in #375
- Add Job ID Appending to Output Directories and Maximum Folders Threshold by @ZhongxuanWang in #331
- Add support for custom functions in bottleneck analysis by @dnandakumar-nv in #380
- Persist chat conversation ID for workflow tool usage by @ericevans-nv in #326
- Add support for Weave evaluation by @ayulockin in #264
- Update the information displayed in the Weave Eval dashboard by @AnuradhaKaruppiah in #390
- Allow non-json string outputs for workflows that use unstructured datasets by @AnuradhaKaruppiah in #396
- Add aws region config for s3 eval uploads by @munjalp6 in #397
- add support for union types in mcp client by @cheese-head in #372
- Add percentile computation (p90, p95, p99) to profiling by @dnandakumar-nv in https://github.com/NVIDIA/NeMo-Agent-Toolkit/pull...
v1.1.0
Key Features
- Full Model Context Protocol (MCP) support. Workflows/tools can now be exposed as MCP servers.
- Deep integration with Weights and Biases’ Weave for logging and tracing support.
- Addition of the Agno LLM framework.
- A new ReWOO agent which improves on ReAct by removing the tool output from the LLM context, reducing token counts.
- A new Alert Triage Agent example which demonstrates how to build a full application with AIQ toolkit to automatically analyze system monitoring alerts, performs diagnostic checks using various tools, and generates structured triage reports with root cause categorization.
- Support for Python 3.11.
- Various quality of life improvements.
What's Changed
- Add subpackage readmes redirecting to the main package by @AnuradhaKaruppiah in #20
- Update README.md by @gzitzlsb-nv in #25
- Fix #27 Documentation fix by @atalhens in #28
- Fix #29 - Simple_calculator example throws error - list index out of range when given subtraction by @atalhens in #31
- Fix: #32 Recursion Issue by @atalhens in #33
- "Sharing NVIDIA AgentIQ Components" docs typo fix by @avoroshilov in #42
- First pass at setting up issue templates by @dagardner-nv in #6
- Provide a cleaner progress bar when running evaluators in parallel by @AnuradhaKaruppiah in #38
- Setup GHA CI by @dagardner-nv in #46
- Switch UI submodule to https by @AnuradhaKaruppiah in #53
- gitlab ci pipeline cleanup by @AnuradhaKaruppiah in #54
- Allow str or None for retriever description by @AnuradhaKaruppiah in #55
- Fix case where res['categories'] = None by @balvisio in #22
- Misc CI improvements by @dagardner-nv in #56
- CI Documentation improvements by @dagardner-nv in #24
- Add missing
platformdirs
dependency by @yczhang-nv in #62 - Fix
aiq
command error when the parent directory ofAIQ_CONFIG_DIR
does not exist by @yczhang-nv in #63 - Fix broken image link in multi_frameworks documentation by @dagardner-nv in #61
- Updating doc string for AIQSessionManager class. by @ericevans-nv in #64
- Fix ragas evaluate unit tests by @AnuradhaKaruppiah in #68
- Normalize Gannt Chart Timestamps in Profiler Nested Stack Analysis by @dnandakumar-nv in #70
- Scripts for running CI locally by @dagardner-nv in #59
- Update types for
topic
anddescription
attributes inAIQRetrieverConfig
to allowNone
by @dagardner-nv in #76 - Add support for customizing output and uploading it to remote storage (S3 bucket) by @AnuradhaKaruppiah in #71
- Support ARM in CI by @dagardner-nv in #73
- Allow overriding configuration values not set in the YAML by @dagardner-nv in #85
- Fix bug where
--workers
flag was being ignored by @dagardner-nv in #88 - Adding Cors config for api server by @ericevans-nv in #89
- Update changelog for 1.1.0a1 alpha release by @AnuradhaKaruppiah in #90
- Merge develop to main for v1.1.0a1 by @AnuradhaKaruppiah in #92
- Updated changelog with another bug fix by @AnuradhaKaruppiah in #93
- Updated changelog with another bug fix (#93) by @AnuradhaKaruppiah in #94
- Adjust how the base_sha is passed into the workflow by @dagardner-nv in #81
- Changes for evaluating remote workflows by @AnuradhaKaruppiah in #57
- Fix a bug in our pytest plugin causing test coverage to be under-reported by @dagardner-nv in #105
- Docker container for AgentIQ by @dagardner-nv in #87
- Modify JSON serialization to handle non-serializable objects by @dnandakumar-nv in #106
- Upload nightly builds and release builds to pypi by @dagardner-nv in #112
- Ensure the nightly builds have a unique alpha version number by @dagardner-nv in #115
- Ensure tags are fetched prior to determining the version by @dagardner-nv in #116
- Fix CI variable value by @dagardner-nv in #117
- Use setuptools_scm environment variables to set the version by @dagardner-nv in #118
- Only set the setuptools_scm variable when performing a nightly build by @dagardner-nv in #119
- Add a release PR template by @dagardner-nv in #123
- Add an async /evaluate endpoint to trigger evaluation jobs on a remote cluster by @AnuradhaKaruppiah in #109
- Update /evaluate endpoint doc by @AnuradhaKaruppiah in #126
- Add function tracking decorator and update IntermediateStep by @dnandakumar-nv in #98
- Fix typo in aiq.profiler.decorators by @dnandakumar-nv in #132
- Update the start command to use
validate_schema
by @dagardner-nv in #82 - Document using local/self-hosted models by @dagardner-nv in #101
- added Agno integration by @wenqiglantz in #36
- MCP Front-End Implementation by @VictorYudin in #133
- Make kwargs optional to the eval output customizer scripts by @AnuradhaKaruppiah in #139
- Add an example that shows simple_calculator running with a MCP service. by @AnuradhaKaruppiah in #131
- add
gitdiagram
to README by @yczhang-nv in #141 - Updating HITL reference guide to instruct users to toggle ws mode and… by @ericevans-nv in #142
- Add override option to the eval CLI command by @Hritik003 in #129
- Implement ReWOO Agent by @yczhang-nv in #75
- Fix type hints and docstrings for
ModelTrainer
by @dagardner-nv in #107 - Delete workflow confirmation check in CLI - #114 by @atalhens in #137
- Improve Agent logging by @yczhang-nv in #136
- Add nicer error message for agents without tools by @jkornblum-nv in #146
- Add
colorama
to core dependency by @yczhang-nv in #149 - Rename packages agentiq -> aiqtoolkit by @dagardner-nv in #152
- Rename AIQ_COMPONENT_NAME, remove unused COMPONENT_NAME by @dagardner-nv in #153
- Group wheels under a common
aiqtoolkit
directory by @dagardner-nv in #154 - Fix wheel upload wildcards by @dagardner-nv in #155
- Support Python
3.11
for AgentIQ by @yczhang-nv in #148 - fix pydantic version incompatibility, closes #74 by @zac-wang-nv in #159
- Rename AgentIQ to Agent Intelligence Toolkit by @dagardner-nv in #160
- Create config file symlink with
aiq workflow create
command by @mpenn in #166 - Rename generate/stream/full to generate/full and add filter_steps parameter by @AnuradhaKaruppiah in #164
- Add support for environment variable interpolation in config files by @mpenn in #157
- UI submodule rename by @AnuradhaKaruppiah in #168
- Consistent Trace Nesting in Parallel Function Calling by @dnandakumar-nv in #162
- Fix broken links in examples documentation by @dagardner-nv in #177
- Remove support for Python
3.13
by @yczhang-nv in htt...
Version 1.0.0
Initial Release of NVIDIA AgentIQ
v1.0.0-rc8
Release Candidate 8 of the 1.0.0 release.
Full Changelog: https://github.com/NVIDIA/AgentIQ/commits/v1.0.0-rc8