You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: improve Google ADK structure and fix callback handlers for tools and LLMs (#848)
### Google ADK Integration Improvements
- fix LLM and TOOL call to ensure UUID matching
- move agent code to `nvidia-nat-adk` from the example
- generalize the ADK agent code
- minor code clean up -- remove unnecessary classes
- update example structure + content
- add references to ADK in documentation
- add missing `nvidia-nat-adk` reference in `nvidia-nat-all`
- update test to work in the case of non-module import
### General Improvements
- align/unify `litellm` and `openai` packages across all optional NAT packages
Closes
## By Submitting this PR I confirm:
- I am familiar with the [Contributing Guidelines](https://github.com/NVIDIA/NeMo-Agent-Toolkit/blob/develop/docs/source/resources/contributing.md).
- We require that all contributors "sign-off" on their commits. This certifies that the contribution is your original work, or you have rights to submit it under the same license, or a compatible license.
- Any contribution which contains commits that are not Signed-Off will not be accepted.
- When the PR is ready for review, new or existing tests cover these changes.
- When the PR is ready for review, the documentation is up to date with these changes.
## Summary by CodeRabbit
* **New Features**
* ADK-powered conversational agent with streaming responses and correlated step tracing (UUIDs).
* New ADK install extras/package to simplify ADK integration.
* **Refactor**
* Streamlined LLM/tool configuration and registration; simplified time/weather tool behavior and removed legacy demo pathway.
* **Documentation**
* Updated demo README, quick-start, profiler, and feature docs to include ADK and clearer setup/output examples.
Authors:
- Will Killian (https://github.com/willkill07)
Approvers:
- David Gardner (https://github.com/dagardner-nv)
URL: #848
Copy file name to clipboardExpand all lines: docs/source/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,7 +36,7 @@ NeMo Agent toolkit was previously known as <!-- vale off -->AgentIQ<!-- vale on
36
36
37
37
## Key Features
38
38
39
-
-[**Framework Agnostic:**](./quick-start/installing.md#framework-integrations) NeMo Agent toolkit works side-by-side and around existing agentic frameworks, such as [LangChain](https://www.langchain.com/), [LlamaIndex](https://www.llamaindex.ai/), [CrewAI](https://www.crewai.com/), and [Microsoft Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/), as well as customer enterprise 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, long-term memory, or data source.
39
+
-[**Framework Agnostic:**](./quick-start/installing.md#framework-integrations) NeMo Agent toolkit works side-by-side and around existing agentic frameworks, such as [LangChain](https://www.langchain.com/), [LlamaIndex](https://www.llamaindex.ai/), [CrewAI](https://www.crewai.com/), [Microsoft Semantic Kernel](https://learn.microsoft.com/en-us/semantic-kernel/), [Google ADK](https://github.com/google/adk-python), as well as customer enterprise 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, long-term memory, or data source.
40
40
41
41
-[**Reusability:**](./extend/sharing-components.md) 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.
Copy file name to clipboardExpand all lines: docs/source/quick-start/installing.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,6 +34,7 @@ To keep the library lightweight, many of the first-party plugins supported by Ne
34
34
35
35
To install these first-party plugin libraries, you can use the full distribution name (for example, `nvidia-nat-langchain`) or use the `nvidia-nat[langchain]` extra distribution. The following extras are supported:
36
36
37
+
-`nvidia-nat[adk]` or `nvidia-nat-adk` - [Google ADK](https://github.com/google/adk-python)
37
38
-`nvidia-nat[agno]` or `nvidia-nat-agno` - [Agno](https://agno.com/)
38
39
-`nvidia-nat[crewai]` or `nvidia-nat-crewai` - [CrewAI](https://www.crewai.com/)
39
40
-`nvidia-nat[data-flywheel]` or `nvidia-nat-data-flywheel` - [NeMo DataFlywheel](https://github.com/NVIDIA-AI-Blueprints/data-flywheel)
Copy file name to clipboardExpand all lines: docs/source/workflows/observe/index.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -146,7 +146,7 @@ Each exporter can optionally include a processing pipeline that transforms, filt
146
146
#### Integration Components
147
147
148
148
-**{py:class}`nat.profiler.decorators`**: Decorators that wrap workflow and LLM framework context managers to inject usage-collection callbacks.
149
-
-**{py:class}`~nat.profiler.callbacks`**: Callback handlers that track usage statistics (tokens, time, inputs/outputs) and push them to the event stream. Supports LangChain/LangGraph, LLama Index, CrewAI, and Semantic Kernel frameworks.
149
+
-**{py:class}`~nat.profiler.callbacks`**: Callback handlers that track usage statistics (tokens, time, inputs/outputs) and push them to the event stream. Supports LangChain/LangGraph, LLama Index, CrewAI, Semantic Kernel, and Google ADK frameworks.
150
150
151
151
### Registering a New Telemetry Provider as a Plugin
Copy file name to clipboardExpand all lines: docs/source/workflows/profiler.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -50,7 +50,7 @@ The NeMo Agent toolkit Profiler can be broken into the following components:
50
50
### Profiler Decorators and Callbacks
51
51
-`src/nat/profiler/decorators` directory defines decorators that can wrap each workflow or LLM framework context manager to inject usage-collection callbacks.
52
52
-`src/nat/profiler/callbacks` directory implements callback handlers. These handlers track usage statistics (tokens, time, inputs/outputs) and push them to the NeMo Agent toolkit usage stats queue. We currently support callback handlers for LangChain/LangGraph,
53
-
LlamaIndex, CrewAI, and Semantic Kernel.
53
+
LlamaIndex, CrewAI, Google ADK, and Semantic Kernel.
description: "To get the current weather and time in a specific city"
49
+
prompt: "You are a helpful agent who can answer user questions about weather in a city. You also have a sub-agent that can answer questions about the time in a city."
description: "To get the current weather and time in a specific city"
38
+
prompt: "You are a helpful agent who can answer user questions about weather in a city. You also have a sub-agent that can answer questions about the time in a city."
0 commit comments