nvidia-nat 1.2.1rc1__py3-none-any.whl → 1.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aiq/__init__.py +2 -2
- nat/agent/base.py +27 -18
- nat/agent/dual_node.py +9 -4
- nat/agent/prompt_optimizer/prompt.py +68 -0
- nat/agent/prompt_optimizer/register.py +149 -0
- nat/agent/react_agent/agent.py +81 -50
- nat/agent/react_agent/register.py +59 -40
- nat/agent/reasoning_agent/reasoning_agent.py +17 -15
- nat/agent/register.py +1 -1
- nat/agent/rewoo_agent/agent.py +327 -149
- nat/agent/rewoo_agent/prompt.py +19 -22
- nat/agent/rewoo_agent/register.py +64 -46
- nat/agent/tool_calling_agent/agent.py +152 -29
- nat/agent/tool_calling_agent/register.py +61 -38
- nat/authentication/api_key/api_key_auth_provider.py +2 -2
- nat/authentication/credential_validator/bearer_token_validator.py +557 -0
- nat/authentication/http_basic_auth/http_basic_auth_provider.py +1 -1
- nat/authentication/interfaces.py +5 -2
- nat/authentication/oauth2/oauth2_auth_code_flow_provider.py +69 -36
- nat/authentication/oauth2/oauth2_resource_server_config.py +124 -0
- nat/authentication/register.py +0 -1
- nat/builder/builder.py +56 -24
- nat/builder/component_utils.py +10 -6
- nat/builder/context.py +70 -18
- nat/builder/eval_builder.py +16 -11
- nat/builder/framework_enum.py +1 -0
- nat/builder/front_end.py +1 -1
- nat/builder/function.py +378 -8
- nat/builder/function_base.py +3 -3
- nat/builder/function_info.py +6 -8
- nat/builder/intermediate_step_manager.py +6 -2
- nat/builder/user_interaction_manager.py +2 -2
- nat/builder/workflow.py +13 -1
- nat/builder/workflow_builder.py +327 -79
- nat/cli/cli_utils/config_override.py +2 -2
- nat/cli/commands/evaluate.py +1 -1
- nat/cli/commands/info/info.py +16 -6
- nat/cli/commands/info/list_channels.py +1 -1
- nat/cli/commands/info/list_components.py +7 -8
- nat/cli/commands/mcp/__init__.py +14 -0
- nat/cli/commands/mcp/mcp.py +986 -0
- nat/cli/commands/object_store/__init__.py +14 -0
- nat/cli/commands/object_store/object_store.py +227 -0
- nat/cli/commands/optimize.py +90 -0
- nat/cli/commands/registry/publish.py +2 -2
- nat/cli/commands/registry/pull.py +2 -2
- nat/cli/commands/registry/remove.py +2 -2
- nat/cli/commands/registry/search.py +15 -17
- nat/cli/commands/start.py +16 -5
- nat/cli/commands/uninstall.py +1 -1
- nat/cli/commands/workflow/templates/config.yml.j2 +14 -13
- nat/cli/commands/workflow/templates/pyproject.toml.j2 +5 -2
- nat/cli/commands/workflow/templates/register.py.j2 +2 -3
- nat/cli/commands/workflow/templates/workflow.py.j2 +35 -21
- nat/cli/commands/workflow/workflow_commands.py +105 -19
- nat/cli/entrypoint.py +17 -11
- nat/cli/main.py +3 -0
- nat/cli/register_workflow.py +38 -4
- nat/cli/type_registry.py +79 -10
- nat/control_flow/__init__.py +0 -0
- nat/control_flow/register.py +20 -0
- nat/control_flow/router_agent/__init__.py +0 -0
- nat/control_flow/router_agent/agent.py +329 -0
- nat/control_flow/router_agent/prompt.py +48 -0
- nat/control_flow/router_agent/register.py +91 -0
- nat/control_flow/sequential_executor.py +166 -0
- nat/data_models/agent.py +34 -0
- nat/data_models/api_server.py +196 -67
- nat/data_models/authentication.py +23 -9
- nat/data_models/common.py +1 -1
- nat/data_models/component.py +2 -0
- nat/data_models/component_ref.py +11 -0
- nat/data_models/config.py +42 -18
- nat/data_models/dataset_handler.py +1 -1
- nat/data_models/discovery_metadata.py +4 -4
- nat/data_models/evaluate.py +4 -1
- nat/data_models/function.py +34 -0
- nat/data_models/function_dependencies.py +14 -6
- nat/data_models/gated_field_mixin.py +242 -0
- nat/data_models/intermediate_step.py +3 -3
- nat/data_models/optimizable.py +119 -0
- nat/data_models/optimizer.py +149 -0
- nat/data_models/span.py +41 -3
- nat/data_models/swe_bench_model.py +1 -1
- nat/data_models/temperature_mixin.py +44 -0
- nat/data_models/thinking_mixin.py +86 -0
- nat/data_models/top_p_mixin.py +44 -0
- nat/embedder/azure_openai_embedder.py +46 -0
- nat/embedder/nim_embedder.py +1 -1
- nat/embedder/openai_embedder.py +2 -3
- nat/embedder/register.py +1 -1
- nat/eval/config.py +3 -1
- nat/eval/dataset_handler/dataset_handler.py +71 -7
- nat/eval/evaluate.py +86 -31
- nat/eval/evaluator/base_evaluator.py +1 -1
- nat/eval/evaluator/evaluator_model.py +13 -0
- nat/eval/intermediate_step_adapter.py +1 -1
- nat/eval/rag_evaluator/evaluate.py +9 -6
- nat/eval/rag_evaluator/register.py +3 -3
- nat/eval/register.py +4 -1
- nat/eval/remote_workflow.py +3 -3
- nat/eval/runtime_evaluator/__init__.py +14 -0
- nat/eval/runtime_evaluator/evaluate.py +123 -0
- nat/eval/runtime_evaluator/register.py +100 -0
- nat/eval/swe_bench_evaluator/evaluate.py +6 -6
- nat/eval/trajectory_evaluator/evaluate.py +1 -1
- nat/eval/trajectory_evaluator/register.py +1 -1
- nat/eval/tunable_rag_evaluator/evaluate.py +4 -7
- nat/eval/utils/eval_trace_ctx.py +89 -0
- nat/eval/utils/weave_eval.py +18 -9
- nat/experimental/decorators/experimental_warning_decorator.py +27 -7
- nat/experimental/test_time_compute/functions/execute_score_select_function.py +1 -1
- nat/experimental/test_time_compute/functions/plan_select_execute_function.py +7 -3
- nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py +3 -3
- nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py +3 -3
- nat/experimental/test_time_compute/models/strategy_base.py +5 -4
- nat/experimental/test_time_compute/register.py +0 -1
- nat/experimental/test_time_compute/selection/llm_based_output_merging_selector.py +1 -3
- nat/front_ends/console/authentication_flow_handler.py +82 -30
- nat/front_ends/console/console_front_end_plugin.py +19 -7
- nat/front_ends/fastapi/auth_flow_handlers/http_flow_handler.py +1 -1
- nat/front_ends/fastapi/auth_flow_handlers/websocket_flow_handler.py +52 -17
- nat/front_ends/fastapi/dask_client_mixin.py +65 -0
- nat/front_ends/fastapi/fastapi_front_end_config.py +36 -5
- nat/front_ends/fastapi/fastapi_front_end_controller.py +4 -4
- nat/front_ends/fastapi/fastapi_front_end_plugin.py +135 -4
- nat/front_ends/fastapi/fastapi_front_end_plugin_worker.py +455 -282
- nat/front_ends/fastapi/job_store.py +518 -99
- nat/front_ends/fastapi/main.py +11 -19
- nat/front_ends/fastapi/message_handler.py +74 -50
- nat/front_ends/fastapi/message_validator.py +20 -21
- nat/front_ends/fastapi/response_helpers.py +4 -4
- nat/front_ends/fastapi/step_adaptor.py +2 -2
- nat/front_ends/fastapi/utils.py +57 -0
- nat/front_ends/mcp/introspection_token_verifier.py +73 -0
- nat/front_ends/mcp/mcp_front_end_config.py +47 -3
- nat/front_ends/mcp/mcp_front_end_plugin.py +48 -13
- nat/front_ends/mcp/mcp_front_end_plugin_worker.py +120 -8
- nat/front_ends/mcp/tool_converter.py +44 -14
- nat/front_ends/register.py +0 -1
- nat/front_ends/simple_base/simple_front_end_plugin_base.py +3 -1
- nat/llm/aws_bedrock_llm.py +24 -12
- nat/llm/azure_openai_llm.py +57 -0
- nat/llm/litellm_llm.py +69 -0
- nat/llm/nim_llm.py +20 -8
- nat/llm/openai_llm.py +14 -6
- nat/llm/register.py +5 -1
- nat/llm/utils/env_config_value.py +2 -3
- nat/llm/utils/thinking.py +215 -0
- nat/meta/pypi.md +9 -9
- nat/object_store/register.py +0 -1
- nat/observability/exporter/base_exporter.py +3 -3
- nat/observability/exporter/file_exporter.py +1 -1
- nat/observability/exporter/processing_exporter.py +309 -81
- nat/observability/exporter/span_exporter.py +35 -15
- nat/observability/exporter_manager.py +7 -7
- nat/observability/mixin/file_mixin.py +7 -7
- nat/observability/mixin/redaction_config_mixin.py +42 -0
- nat/observability/mixin/tagging_config_mixin.py +62 -0
- nat/observability/mixin/type_introspection_mixin.py +420 -107
- nat/observability/processor/batching_processor.py +5 -7
- nat/observability/processor/falsy_batch_filter_processor.py +55 -0
- nat/observability/processor/processor.py +3 -0
- nat/observability/processor/processor_factory.py +70 -0
- nat/observability/processor/redaction/__init__.py +24 -0
- nat/observability/processor/redaction/contextual_redaction_processor.py +125 -0
- nat/observability/processor/redaction/contextual_span_redaction_processor.py +66 -0
- nat/observability/processor/redaction/redaction_processor.py +177 -0
- nat/observability/processor/redaction/span_header_redaction_processor.py +92 -0
- nat/observability/processor/span_tagging_processor.py +68 -0
- nat/observability/register.py +22 -4
- nat/profiler/calc/calc_runner.py +3 -4
- nat/profiler/callbacks/agno_callback_handler.py +1 -1
- nat/profiler/callbacks/langchain_callback_handler.py +14 -7
- nat/profiler/callbacks/llama_index_callback_handler.py +3 -3
- nat/profiler/callbacks/semantic_kernel_callback_handler.py +3 -3
- nat/profiler/data_frame_row.py +1 -1
- nat/profiler/decorators/framework_wrapper.py +62 -13
- nat/profiler/decorators/function_tracking.py +160 -3
- nat/profiler/forecasting/models/forecasting_base_model.py +3 -1
- nat/profiler/forecasting/models/linear_model.py +1 -1
- nat/profiler/forecasting/models/random_forest_regressor.py +1 -1
- nat/profiler/inference_optimization/bottleneck_analysis/nested_stack_analysis.py +1 -1
- nat/profiler/inference_optimization/bottleneck_analysis/simple_stack_analysis.py +1 -1
- nat/profiler/inference_optimization/data_models.py +3 -3
- nat/profiler/inference_optimization/experimental/prefix_span_analysis.py +8 -9
- nat/profiler/inference_optimization/token_uniqueness.py +1 -1
- nat/profiler/parameter_optimization/__init__.py +0 -0
- nat/profiler/parameter_optimization/optimizable_utils.py +93 -0
- nat/profiler/parameter_optimization/optimizer_runtime.py +67 -0
- nat/profiler/parameter_optimization/parameter_optimizer.py +164 -0
- nat/profiler/parameter_optimization/parameter_selection.py +107 -0
- nat/profiler/parameter_optimization/pareto_visualizer.py +395 -0
- nat/profiler/parameter_optimization/prompt_optimizer.py +384 -0
- nat/profiler/parameter_optimization/update_helpers.py +66 -0
- nat/profiler/profile_runner.py +14 -9
- nat/profiler/utils.py +4 -2
- nat/registry_handlers/local/local_handler.py +2 -2
- nat/registry_handlers/package_utils.py +1 -2
- nat/registry_handlers/pypi/pypi_handler.py +23 -26
- nat/registry_handlers/register.py +3 -4
- nat/registry_handlers/rest/rest_handler.py +12 -13
- nat/retriever/milvus/retriever.py +2 -2
- nat/retriever/nemo_retriever/retriever.py +1 -1
- nat/retriever/register.py +0 -1
- nat/runtime/loader.py +2 -2
- nat/runtime/runner.py +105 -8
- nat/runtime/session.py +69 -8
- nat/settings/global_settings.py +16 -5
- nat/tool/chat_completion.py +5 -2
- nat/tool/code_execution/local_sandbox/local_sandbox_server.py +3 -3
- nat/tool/datetime_tools.py +49 -9
- nat/tool/document_search.py +2 -2
- nat/tool/github_tools.py +450 -0
- nat/tool/memory_tools/add_memory_tool.py +3 -3
- nat/tool/memory_tools/delete_memory_tool.py +3 -4
- nat/tool/memory_tools/get_memory_tool.py +4 -4
- nat/tool/nvidia_rag.py +1 -1
- nat/tool/register.py +2 -9
- nat/tool/retriever.py +3 -2
- nat/utils/callable_utils.py +70 -0
- nat/utils/data_models/schema_validator.py +3 -3
- nat/utils/decorators.py +210 -0
- nat/utils/exception_handlers/automatic_retries.py +104 -51
- nat/utils/exception_handlers/schemas.py +1 -1
- nat/utils/io/yaml_tools.py +2 -2
- nat/utils/log_levels.py +25 -0
- nat/utils/reactive/base/observable_base.py +2 -2
- nat/utils/reactive/base/observer_base.py +1 -1
- nat/utils/reactive/observable.py +2 -2
- nat/utils/reactive/observer.py +4 -4
- nat/utils/reactive/subscription.py +1 -1
- nat/utils/settings/global_settings.py +6 -8
- nat/utils/type_converter.py +12 -3
- nat/utils/type_utils.py +9 -5
- nvidia_nat-1.3.0.dist-info/METADATA +195 -0
- {nvidia_nat-1.2.1rc1.dist-info → nvidia_nat-1.3.0.dist-info}/RECORD +244 -200
- {nvidia_nat-1.2.1rc1.dist-info → nvidia_nat-1.3.0.dist-info}/entry_points.txt +1 -0
- nat/cli/commands/info/list_mcp.py +0 -304
- nat/tool/github_tools/create_github_commit.py +0 -133
- nat/tool/github_tools/create_github_issue.py +0 -87
- nat/tool/github_tools/create_github_pr.py +0 -106
- nat/tool/github_tools/get_github_file.py +0 -106
- nat/tool/github_tools/get_github_issue.py +0 -166
- nat/tool/github_tools/get_github_pr.py +0 -256
- nat/tool/github_tools/update_github_issue.py +0 -100
- nat/tool/mcp/exceptions.py +0 -142
- nat/tool/mcp/mcp_client.py +0 -255
- nat/tool/mcp/mcp_tool.py +0 -96
- nat/utils/exception_handlers/mcp.py +0 -211
- nvidia_nat-1.2.1rc1.dist-info/METADATA +0 -365
- /nat/{tool/github_tools → agent/prompt_optimizer}/__init__.py +0 -0
- /nat/{tool/mcp → authentication/credential_validator}/__init__.py +0 -0
- {nvidia_nat-1.2.1rc1.dist-info → nvidia_nat-1.3.0.dist-info}/WHEEL +0 -0
- {nvidia_nat-1.2.1rc1.dist-info → nvidia_nat-1.3.0.dist-info}/licenses/LICENSE-3rd-party.txt +0 -0
- {nvidia_nat-1.2.1rc1.dist-info → nvidia_nat-1.3.0.dist-info}/licenses/LICENSE.md +0 -0
- {nvidia_nat-1.2.1rc1.dist-info → nvidia_nat-1.3.0.dist-info}/top_level.txt +0 -0
nat/utils/type_utils.py
CHANGED
|
@@ -50,7 +50,7 @@ def is_valid_json(string):
|
|
|
50
50
|
# In Python >= 3.12, it uses the built-in typing.override decorator
|
|
51
51
|
# In Python < 3.12, it acts as a no-op decorator
|
|
52
52
|
if sys.version_info >= (3, 12):
|
|
53
|
-
from typing import override
|
|
53
|
+
from typing import override
|
|
54
54
|
else:
|
|
55
55
|
|
|
56
56
|
def override(func):
|
|
@@ -181,7 +181,7 @@ class DecomposedType:
|
|
|
181
181
|
True if the current type is a union type, False otherwise.
|
|
182
182
|
"""
|
|
183
183
|
|
|
184
|
-
return self.origin in (typing.Union, types.UnionType)
|
|
184
|
+
return self.origin in (typing.Union, types.UnionType)
|
|
185
185
|
|
|
186
186
|
@property
|
|
187
187
|
@lru_cache
|
|
@@ -197,7 +197,7 @@ class DecomposedType:
|
|
|
197
197
|
"""
|
|
198
198
|
|
|
199
199
|
return self.origin in (
|
|
200
|
-
typing.AsyncGenerator,
|
|
200
|
+
typing.AsyncGenerator,
|
|
201
201
|
collections.abc.AsyncGenerator,
|
|
202
202
|
types.AsyncGeneratorType,
|
|
203
203
|
)
|
|
@@ -250,7 +250,7 @@ class DecomposedType:
|
|
|
250
250
|
remaining_args = tuple(arg for arg in self.args if arg is not types.NoneType)
|
|
251
251
|
|
|
252
252
|
if (len(remaining_args) > 1):
|
|
253
|
-
return DecomposedType(typing.Union[remaining_args])
|
|
253
|
+
return DecomposedType(typing.Union[*remaining_args])
|
|
254
254
|
if (len(remaining_args) == 1):
|
|
255
255
|
return DecomposedType(remaining_args[0])
|
|
256
256
|
|
|
@@ -353,7 +353,7 @@ class DecomposedType:
|
|
|
353
353
|
True if the current type is an instance of the specified instance, False otherwise
|
|
354
354
|
"""
|
|
355
355
|
|
|
356
|
-
return isinstance(instance, self.root)
|
|
356
|
+
return isinstance(instance, self.get_base_type().root)
|
|
357
357
|
|
|
358
358
|
def get_pydantic_schema(self,
|
|
359
359
|
converters: list[collections.abc.Callable] | None = None) -> type[BaseModel] | type[None]:
|
|
@@ -469,6 +469,10 @@ class DecomposedType:
|
|
|
469
469
|
# Handle generic types that can't use issubclass
|
|
470
470
|
pass
|
|
471
471
|
|
|
472
|
+
# Check direct equality (works for both regular and generic types)
|
|
473
|
+
if source_type == target_type:
|
|
474
|
+
return True
|
|
475
|
+
|
|
472
476
|
# Check if source outputs list[T] and target expects T
|
|
473
477
|
source_decomposed = DecomposedType(source_type)
|
|
474
478
|
if source_decomposed.origin is list and source_decomposed.args:
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: nvidia-nat
|
|
3
|
+
Version: 1.3.0
|
|
4
|
+
Summary: NVIDIA NeMo Agent toolkit
|
|
5
|
+
Author: NVIDIA Corporation
|
|
6
|
+
Maintainer: NVIDIA Corporation
|
|
7
|
+
License: Apache-2.0
|
|
8
|
+
Project-URL: documentation, https://docs.nvidia.com/nemo/agent-toolkit/latest/
|
|
9
|
+
Project-URL: source, https://github.com/NVIDIA/NeMo-Agent-Toolkit
|
|
10
|
+
Keywords: ai,rag,agents
|
|
11
|
+
Classifier: Programming Language :: Python
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Requires-Python: <3.14,>=3.11
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
License-File: LICENSE-3rd-party.txt
|
|
18
|
+
License-File: LICENSE.md
|
|
19
|
+
Requires-Dist: aioboto3>=11.0.0
|
|
20
|
+
Requires-Dist: authlib<2.0.0,>=1.6.5
|
|
21
|
+
Requires-Dist: click~=8.1
|
|
22
|
+
Requires-Dist: colorama~=0.4.6
|
|
23
|
+
Requires-Dist: datasets~=4.0
|
|
24
|
+
Requires-Dist: expandvars~=1.0
|
|
25
|
+
Requires-Dist: fastapi~=0.115.5
|
|
26
|
+
Requires-Dist: httpx~=0.27
|
|
27
|
+
Requires-Dist: jinja2~=3.1
|
|
28
|
+
Requires-Dist: jsonpath-ng~=1.7
|
|
29
|
+
Requires-Dist: mcp~=1.13
|
|
30
|
+
Requires-Dist: nest-asyncio~=1.6
|
|
31
|
+
Requires-Dist: networkx~=3.4
|
|
32
|
+
Requires-Dist: numpy~=1.26; python_version < "3.12"
|
|
33
|
+
Requires-Dist: numpy~=2.3; python_version >= "3.12"
|
|
34
|
+
Requires-Dist: openinference-semantic-conventions~=0.1.14
|
|
35
|
+
Requires-Dist: openpyxl~=3.1
|
|
36
|
+
Requires-Dist: optuna~=4.4.0
|
|
37
|
+
Requires-Dist: pip>=24.3.1
|
|
38
|
+
Requires-Dist: pkce==1.0.3
|
|
39
|
+
Requires-Dist: pkginfo~=1.12
|
|
40
|
+
Requires-Dist: platformdirs~=4.3
|
|
41
|
+
Requires-Dist: pydantic~=2.11
|
|
42
|
+
Requires-Dist: pymilvus~=2.4
|
|
43
|
+
Requires-Dist: python-dotenv~=1.1.1
|
|
44
|
+
Requires-Dist: PyYAML~=6.0
|
|
45
|
+
Requires-Dist: ragas~=0.2.14
|
|
46
|
+
Requires-Dist: rich~=13.9
|
|
47
|
+
Requires-Dist: tabulate~=0.9
|
|
48
|
+
Requires-Dist: uvicorn[standard]<0.36
|
|
49
|
+
Requires-Dist: wikipedia~=1.4
|
|
50
|
+
Provides-Extra: all
|
|
51
|
+
Requires-Dist: nvidia-nat-all; extra == "all"
|
|
52
|
+
Provides-Extra: adk
|
|
53
|
+
Requires-Dist: nvidia-nat-adk; extra == "adk"
|
|
54
|
+
Provides-Extra: agno
|
|
55
|
+
Requires-Dist: nvidia-nat-agno; extra == "agno"
|
|
56
|
+
Provides-Extra: crewai
|
|
57
|
+
Requires-Dist: nvidia-nat-crewai; extra == "crewai"
|
|
58
|
+
Provides-Extra: data-flywheel
|
|
59
|
+
Requires-Dist: nvidia-nat-data-flywheel; extra == "data-flywheel"
|
|
60
|
+
Provides-Extra: ingestion
|
|
61
|
+
Requires-Dist: nvidia-nat-ingestion; extra == "ingestion"
|
|
62
|
+
Provides-Extra: langchain
|
|
63
|
+
Requires-Dist: nvidia-nat-langchain; extra == "langchain"
|
|
64
|
+
Provides-Extra: llama-index
|
|
65
|
+
Requires-Dist: nvidia-nat-llama-index; extra == "llama-index"
|
|
66
|
+
Provides-Extra: mcp
|
|
67
|
+
Requires-Dist: nvidia-nat-mcp; extra == "mcp"
|
|
68
|
+
Provides-Extra: mem0ai
|
|
69
|
+
Requires-Dist: nvidia-nat-mem0ai; extra == "mem0ai"
|
|
70
|
+
Provides-Extra: opentelemetry
|
|
71
|
+
Requires-Dist: nvidia-nat-opentelemetry; extra == "opentelemetry"
|
|
72
|
+
Provides-Extra: phoenix
|
|
73
|
+
Requires-Dist: nvidia-nat-phoenix; extra == "phoenix"
|
|
74
|
+
Provides-Extra: profiling
|
|
75
|
+
Requires-Dist: nvidia-nat-profiling; extra == "profiling"
|
|
76
|
+
Provides-Extra: ragaai
|
|
77
|
+
Requires-Dist: nvidia-nat-ragaai; extra == "ragaai"
|
|
78
|
+
Provides-Extra: mysql
|
|
79
|
+
Requires-Dist: nvidia-nat-mysql; extra == "mysql"
|
|
80
|
+
Provides-Extra: redis
|
|
81
|
+
Requires-Dist: nvidia-nat-redis; extra == "redis"
|
|
82
|
+
Provides-Extra: s3
|
|
83
|
+
Requires-Dist: nvidia-nat-s3; extra == "s3"
|
|
84
|
+
Provides-Extra: semantic-kernel
|
|
85
|
+
Requires-Dist: nvidia-nat-semantic-kernel; extra == "semantic-kernel"
|
|
86
|
+
Provides-Extra: telemetry
|
|
87
|
+
Requires-Dist: nvidia-nat-data-flywheel; extra == "telemetry"
|
|
88
|
+
Requires-Dist: nvidia-nat-opentelemetry; extra == "telemetry"
|
|
89
|
+
Requires-Dist: nvidia-nat-phoenix; extra == "telemetry"
|
|
90
|
+
Requires-Dist: nvidia-nat-ragaai; extra == "telemetry"
|
|
91
|
+
Requires-Dist: nvidia-nat-weave; extra == "telemetry"
|
|
92
|
+
Provides-Extra: weave
|
|
93
|
+
Requires-Dist: nvidia-nat-weave; extra == "weave"
|
|
94
|
+
Provides-Extra: zep-cloud
|
|
95
|
+
Requires-Dist: nvidia-nat-zep-cloud; extra == "zep-cloud"
|
|
96
|
+
Provides-Extra: examples
|
|
97
|
+
Requires-Dist: nat_adk_demo; extra == "examples"
|
|
98
|
+
Requires-Dist: nat_agno_personal_finance; extra == "examples"
|
|
99
|
+
Requires-Dist: nat_haystack_deep_research_agent; extra == "examples"
|
|
100
|
+
Requires-Dist: nat_alert_triage_agent; extra == "examples"
|
|
101
|
+
Requires-Dist: nat_automated_description_generation; extra == "examples"
|
|
102
|
+
Requires-Dist: nat_email_phishing_analyzer; extra == "examples"
|
|
103
|
+
Requires-Dist: nat_multi_frameworks; extra == "examples"
|
|
104
|
+
Requires-Dist: nat_plot_charts; extra == "examples"
|
|
105
|
+
Requires-Dist: nat_por_to_jiratickets; extra == "examples"
|
|
106
|
+
Requires-Dist: nat_profiler_agent; extra == "examples"
|
|
107
|
+
Requires-Dist: nat_router_agent; extra == "examples"
|
|
108
|
+
Requires-Dist: nat_semantic_kernel_demo; extra == "examples"
|
|
109
|
+
Requires-Dist: nat_sequential_executor; extra == "examples"
|
|
110
|
+
Requires-Dist: nat_simple_auth; extra == "examples"
|
|
111
|
+
Requires-Dist: nat_simple_auth_mcp; extra == "examples"
|
|
112
|
+
Requires-Dist: nat_simple_web_query; extra == "examples"
|
|
113
|
+
Requires-Dist: nat_simple_web_query_eval; extra == "examples"
|
|
114
|
+
Requires-Dist: nat_simple_calculator; extra == "examples"
|
|
115
|
+
Requires-Dist: nat_simple_calculator_custom_routes; extra == "examples"
|
|
116
|
+
Requires-Dist: nat_simple_calculator_eval; extra == "examples"
|
|
117
|
+
Requires-Dist: nat_simple_calculator_mcp; extra == "examples"
|
|
118
|
+
Requires-Dist: nat_simple_calculator_observability; extra == "examples"
|
|
119
|
+
Requires-Dist: nat_simple_calculator_hitl; extra == "examples"
|
|
120
|
+
Requires-Dist: nat_simple_rag; extra == "examples"
|
|
121
|
+
Requires-Dist: nat_swe_bench; extra == "examples"
|
|
122
|
+
Requires-Dist: nat_user_report; extra == "examples"
|
|
123
|
+
Provides-Extra: gunicorn
|
|
124
|
+
Requires-Dist: gunicorn~=23.0; extra == "gunicorn"
|
|
125
|
+
Provides-Extra: async-endpoints
|
|
126
|
+
Requires-Dist: aiosqlite~=0.21; extra == "async-endpoints"
|
|
127
|
+
Requires-Dist: dask==2023.6; extra == "async-endpoints"
|
|
128
|
+
Requires-Dist: distributed==2023.6; extra == "async-endpoints"
|
|
129
|
+
Requires-Dist: sqlalchemy[asyncio]~=2.0; extra == "async-endpoints"
|
|
130
|
+
Provides-Extra: nvidia-haystack
|
|
131
|
+
Requires-Dist: nvidia-haystack~=0.3.0; extra == "nvidia-haystack"
|
|
132
|
+
Provides-Extra: litellm
|
|
133
|
+
Requires-Dist: litellm==1.74.9; extra == "litellm"
|
|
134
|
+
Provides-Extra: openai
|
|
135
|
+
Requires-Dist: openai~=1.106; extra == "openai"
|
|
136
|
+
Dynamic: license-file
|
|
137
|
+
|
|
138
|
+
<!--
|
|
139
|
+
SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
|
|
140
|
+
SPDX-License-Identifier: Apache-2.0
|
|
141
|
+
|
|
142
|
+
Licensed under the Apache License, Version 2.0 (the "License");
|
|
143
|
+
you may not use this file except in compliance with the License.
|
|
144
|
+
You may obtain a copy of the License at
|
|
145
|
+
|
|
146
|
+
http://www.apache.org/licenses/LICENSE-2.0
|
|
147
|
+
|
|
148
|
+
Unless required by applicable law or agreed to in writing, software
|
|
149
|
+
distributed under the License is distributed on an "AS IS" BASIS,
|
|
150
|
+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
151
|
+
See the License for the specific language governing permissions and
|
|
152
|
+
limitations under the License.
|
|
153
|
+
-->
|
|
154
|
+
|
|
155
|
+

|
|
156
|
+
|
|
157
|
+
# NVIDIA NeMo Agent Toolkit
|
|
158
|
+
|
|
159
|
+
NeMo Agent toolkit is a flexible library designed to seamlessly integrate your enterprise agents—regardless of framework—with various data sources and tools. By treating agents, tools, and agentic workflows as simple function calls, NeMo Agent toolkit enables true composability: build once and reuse anywhere.
|
|
160
|
+
|
|
161
|
+
## Key Features
|
|
162
|
+
|
|
163
|
+
- [**Framework Agnostic:**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/extend/plugins.html) Works with any agentic framework, so you can use your current technology stack without replatforming.
|
|
164
|
+
- [**Reusability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/extend/sharing-components.html) Every agent, tool, or workflow can be combined and repurposed, allowing developers to leverage existing work in new scenarios.
|
|
165
|
+
- [**Rapid Development:**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/tutorials/index.html) Start with a pre-built agent, tool, or workflow, and customize it to your needs.
|
|
166
|
+
- [**Profiling:**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/workflows/profiler.html) Profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks.
|
|
167
|
+
- [**Observability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/workflows/observe/observe-workflow-with-phoenix.html) Monitor and debug your workflows with any OpenTelemetry-compatible observability tool, with examples using [Phoenix](https://docs.nvidia.com/nemo/agent-toolkit/1.3/workflows/observe/observe-workflow-with-phoenix.html) and [W&B Weave](https://docs.nvidia.com/nemo/agent-toolkit/1.3/workflows/observe/observe-workflow-with-weave.html).
|
|
168
|
+
- [**Evaluation System:**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/workflows/evaluate.html) Validate and maintain accuracy of agentic workflows with built-in evaluation tools.
|
|
169
|
+
- [**User Interface:**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/quick-start/launching-ui.html) Use the NeMo Agent toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.
|
|
170
|
+
- [**MCP Compatibility**](https://docs.nvidia.com/nemo/agent-toolkit/1.3/workflows/mcp/mcp-client.html) Compatible with Model Context Protocol (MCP), allowing tools served by MCP Servers to be used as NeMo Agent toolkit functions.
|
|
171
|
+
|
|
172
|
+
With NeMo Agent toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.
|
|
173
|
+
|
|
174
|
+
## Links
|
|
175
|
+
* [Documentation](https://docs.nvidia.com/nemo/agent-toolkit/1.3/index.html): Explore the full documentation for NeMo Agent toolkit.
|
|
176
|
+
|
|
177
|
+
## First time user?
|
|
178
|
+
If this is your first time using NeMo Agent toolkit, it is recommended to install the latest version from the [source repository](https://github.com/NVIDIA/NeMo-Agent-Toolkit?tab=readme-ov-file#quick-start) on GitHub. This package is intended for users who are familiar with NeMo Agent toolkit applications and need to add NeMo Agent toolkit as a dependency to their project.
|
|
179
|
+
|
|
180
|
+
## Feedback
|
|
181
|
+
|
|
182
|
+
We would love to hear from you! Please file an issue on [GitHub](https://github.com/NVIDIA/NeMo-Agent-Toolkit/issues) if you have any feedback or feature requests.
|
|
183
|
+
|
|
184
|
+
## Acknowledgements
|
|
185
|
+
|
|
186
|
+
We would like to thank the following open source projects that made NeMo Agent toolkit possible:
|
|
187
|
+
|
|
188
|
+
- [CrewAI](https://github.com/crewAIInc/crewAI)
|
|
189
|
+
- [FastAPI](https://github.com/tiangolo/fastapi)
|
|
190
|
+
- [LangChain](https://github.com/langchain-ai/langchain)
|
|
191
|
+
- [Llama-Index](https://github.com/run-llama/llama_index)
|
|
192
|
+
- [Mem0ai](https://github.com/mem0ai/mem0)
|
|
193
|
+
- [Ragas](https://github.com/explodinggradients/ragas)
|
|
194
|
+
- [Semantic Kernel](https://github.com/microsoft/semantic-kernel)
|
|
195
|
+
- [uv](https://github.com/astral-sh/uv)
|