nvidia-nat 1.2.0rc5__py3-none-any.whl → 1.2.0rc6__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 → nat}/agent/react_agent/agent.py +12 -12
- {aiq → nat}/agent/react_agent/register.py +20 -20
- {aiq → nat}/agent/reasoning_agent/reasoning_agent.py +14 -14
- {aiq → nat}/agent/rewoo_agent/agent.py +7 -7
- {aiq → nat}/agent/rewoo_agent/prompt.py +11 -12
- {aiq → nat}/agent/rewoo_agent/register.py +47 -49
- {aiq → nat}/agent/tool_calling_agent/agent.py +4 -4
- {aiq → nat}/agent/tool_calling_agent/register.py +8 -8
- {aiq → nat}/authentication/api_key/api_key_auth_provider.py +6 -6
- {aiq → nat}/authentication/api_key/api_key_auth_provider_config.py +5 -5
- {aiq → nat}/authentication/api_key/register.py +4 -4
- {aiq → nat}/authentication/http_basic_auth/http_basic_auth_provider.py +10 -10
- {aiq → nat}/authentication/http_basic_auth/register.py +4 -4
- {aiq → nat}/authentication/interfaces.py +6 -6
- {aiq → nat}/authentication/oauth2/oauth2_auth_code_flow_provider.py +11 -11
- {aiq → nat}/authentication/oauth2/oauth2_auth_code_flow_provider_config.py +1 -1
- {aiq → nat}/authentication/oauth2/register.py +4 -4
- {aiq → nat}/authentication/register.py +3 -3
- {aiq → nat}/builder/builder.py +30 -30
- {aiq → nat}/builder/component_utils.py +23 -23
- {aiq → nat}/builder/context.py +35 -29
- {aiq → nat}/builder/embedder.py +1 -1
- {aiq → nat}/builder/eval_builder.py +13 -13
- {aiq → nat}/builder/evaluator.py +3 -3
- {aiq → nat}/builder/front_end.py +11 -11
- {aiq → nat}/builder/function.py +8 -8
- {aiq → nat}/builder/function_base.py +6 -6
- {aiq → nat}/builder/function_info.py +3 -3
- {aiq → nat}/builder/intermediate_step_manager.py +13 -13
- {aiq → nat}/builder/llm.py +1 -1
- {aiq → nat}/builder/retriever.py +1 -1
- {aiq → nat}/builder/user_interaction_manager.py +14 -10
- {aiq → nat}/builder/workflow.py +25 -25
- {aiq → nat}/builder/workflow_builder.py +86 -86
- {aiq → nat}/cli/cli_utils/config_override.py +2 -2
- {aiq → nat}/cli/cli_utils/validation.py +4 -4
- {aiq → nat}/cli/commands/configure/channel/add.py +2 -2
- {aiq → nat}/cli/commands/configure/channel/channel.py +4 -6
- {aiq → nat}/cli/commands/configure/channel/remove.py +2 -2
- {aiq → nat}/cli/commands/configure/channel/update.py +2 -2
- {aiq → nat}/cli/commands/configure/configure.py +3 -3
- {aiq → nat}/cli/commands/evaluate.py +3 -3
- {aiq → nat}/cli/commands/info/info.py +5 -7
- {aiq → nat}/cli/commands/info/list_channels.py +1 -1
- {aiq → nat}/cli/commands/info/list_components.py +14 -14
- {aiq → nat}/cli/commands/info/list_mcp.py +106 -15
- {aiq → nat}/cli/commands/registry/publish.py +9 -9
- {aiq → nat}/cli/commands/registry/pull.py +10 -10
- {aiq → nat}/cli/commands/registry/registry.py +5 -7
- {aiq → nat}/cli/commands/registry/remove.py +8 -8
- {aiq → nat}/cli/commands/registry/search.py +15 -15
- {aiq → nat}/cli/commands/sizing/calc.py +3 -3
- {aiq → nat}/cli/commands/start.py +15 -15
- {aiq → nat}/cli/commands/uninstall.py +5 -5
- {aiq → nat}/cli/commands/validate.py +1 -1
- {aiq → nat}/cli/commands/workflow/templates/pyproject.toml.j2 +4 -4
- {aiq → nat}/cli/commands/workflow/templates/workflow.py.j2 +4 -4
- {aiq → nat}/cli/commands/workflow/workflow.py +3 -3
- {aiq → nat}/cli/commands/workflow/workflow_commands.py +15 -11
- {aiq → nat}/cli/entrypoint.py +6 -6
- {aiq → nat}/cli/main.py +15 -2
- {aiq → nat}/cli/register_workflow.py +70 -70
- {aiq → nat}/cli/type_registry.py +82 -82
- {aiq → nat}/data_models/api_server.py +121 -99
- {aiq → nat}/data_models/authentication.py +2 -2
- {aiq → nat}/data_models/component.py +5 -1
- {aiq → nat}/data_models/component_ref.py +12 -12
- {aiq → nat}/data_models/config.py +17 -13
- {aiq → nat}/data_models/dataset_handler.py +58 -12
- {aiq → nat}/data_models/discovery_metadata.py +36 -66
- {aiq → nat}/data_models/evaluate.py +9 -9
- {aiq → nat}/data_models/intermediate_step.py +7 -7
- {aiq → nat}/data_models/retriever.py +2 -2
- {aiq → nat}/data_models/span.py +10 -7
- {aiq → nat}/data_models/step_adaptor.py +1 -1
- {aiq → nat}/data_models/telemetry_exporter.py +2 -2
- {aiq → nat}/embedder/nim_embedder.py +5 -5
- {aiq → nat}/embedder/openai_embedder.py +5 -5
- {aiq/retriever → nat/embedder}/register.py +2 -2
- {aiq → nat}/eval/config.py +4 -4
- {aiq → nat}/eval/dataset_handler/dataset_downloader.py +1 -1
- {aiq → nat}/eval/dataset_handler/dataset_filter.py +1 -1
- {aiq → nat}/eval/dataset_handler/dataset_handler.py +127 -14
- {aiq → nat}/eval/evaluate.py +38 -34
- {aiq → nat}/eval/evaluator/base_evaluator.py +9 -5
- {aiq → nat}/eval/evaluator/evaluator_model.py +4 -4
- {aiq → nat}/eval/intermediate_step_adapter.py +2 -2
- {aiq → nat}/eval/rag_evaluator/evaluate.py +8 -8
- {aiq → nat}/eval/rag_evaluator/register.py +7 -7
- {aiq → nat}/eval/remote_workflow.py +8 -8
- {aiq → nat}/eval/runners/config.py +2 -2
- {aiq → nat}/eval/runners/multi_eval_runner.py +4 -4
- {aiq → nat}/eval/runtime_event_subscriber.py +3 -3
- {aiq → nat}/eval/swe_bench_evaluator/evaluate.py +6 -6
- {aiq → nat}/eval/swe_bench_evaluator/register.py +4 -4
- {aiq → nat}/eval/trajectory_evaluator/evaluate.py +5 -5
- {aiq → nat}/eval/trajectory_evaluator/register.py +5 -5
- {aiq → nat}/eval/tunable_rag_evaluator/evaluate.py +3 -3
- {aiq → nat}/eval/tunable_rag_evaluator/register.py +6 -6
- {aiq → nat}/eval/utils/output_uploader.py +1 -1
- {aiq → nat}/eval/utils/weave_eval.py +6 -6
- {aiq → nat}/experimental/decorators/experimental_warning_decorator.py +6 -2
- {aiq → nat}/experimental/test_time_compute/editing/iterative_plan_refinement_editor.py +10 -10
- {aiq → nat}/experimental/test_time_compute/editing/llm_as_a_judge_editor.py +10 -10
- {aiq → nat}/experimental/test_time_compute/editing/motivation_aware_summarization.py +10 -10
- {aiq → nat}/experimental/test_time_compute/functions/execute_score_select_function.py +10 -10
- {aiq → nat}/experimental/test_time_compute/functions/plan_select_execute_function.py +17 -17
- aiq/experimental/test_time_compute/functions/its_tool_orchestration_function.py → nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py +12 -12
- aiq/experimental/test_time_compute/functions/its_tool_wrapper_function.py → nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py +10 -10
- {aiq → nat}/experimental/test_time_compute/models/editor_config.py +2 -2
- {aiq → nat}/experimental/test_time_compute/models/scoring_config.py +2 -2
- {aiq → nat}/experimental/test_time_compute/models/search_config.py +2 -2
- {aiq → nat}/experimental/test_time_compute/models/selection_config.py +2 -2
- {aiq → nat}/experimental/test_time_compute/models/strategy_base.py +4 -4
- {aiq → nat}/experimental/test_time_compute/register.py +2 -2
- {aiq → nat}/experimental/test_time_compute/scoring/llm_based_agent_scorer.py +11 -11
- {aiq → nat}/experimental/test_time_compute/scoring/llm_based_plan_scorer.py +11 -11
- {aiq → nat}/experimental/test_time_compute/scoring/motivation_aware_scorer.py +10 -10
- {aiq → nat}/experimental/test_time_compute/search/multi_llm_planner.py +10 -10
- {aiq → nat}/experimental/test_time_compute/search/multi_query_retrieval_search.py +10 -10
- {aiq → nat}/experimental/test_time_compute/search/single_shot_multi_plan_planner.py +11 -11
- {aiq → nat}/experimental/test_time_compute/selection/best_of_n_selector.py +7 -7
- {aiq → nat}/experimental/test_time_compute/selection/llm_based_agent_output_selector.py +11 -11
- {aiq → nat}/experimental/test_time_compute/selection/llm_based_output_merging_selector.py +11 -11
- {aiq → nat}/experimental/test_time_compute/selection/llm_based_plan_selector.py +11 -11
- {aiq → nat}/experimental/test_time_compute/selection/threshold_selector.py +7 -7
- {aiq → nat}/front_ends/console/authentication_flow_handler.py +6 -6
- {aiq → nat}/front_ends/console/console_front_end_config.py +2 -2
- {aiq → nat}/front_ends/console/console_front_end_plugin.py +9 -9
- {aiq → nat}/front_ends/console/register.py +5 -5
- {aiq → nat}/front_ends/fastapi/auth_flow_handlers/http_flow_handler.py +4 -4
- {aiq → nat}/front_ends/fastapi/auth_flow_handlers/websocket_flow_handler.py +6 -6
- {aiq → nat}/front_ends/fastapi/fastapi_front_end_config.py +22 -15
- {aiq → nat}/front_ends/fastapi/fastapi_front_end_plugin.py +10 -10
- {aiq → nat}/front_ends/fastapi/fastapi_front_end_plugin_worker.py +110 -115
- {aiq → nat}/front_ends/fastapi/intermediate_steps_subscriber.py +10 -10
- {aiq → nat}/front_ends/fastapi/main.py +8 -8
- {aiq → nat}/front_ends/fastapi/message_handler.py +58 -36
- {aiq → nat}/front_ends/fastapi/message_validator.py +55 -48
- {aiq → nat}/front_ends/fastapi/register.py +5 -5
- {aiq → nat}/front_ends/fastapi/response_helpers.py +26 -26
- {aiq → nat}/front_ends/fastapi/step_adaptor.py +35 -37
- {aiq → nat}/front_ends/mcp/mcp_front_end_config.py +12 -8
- nat/front_ends/mcp/mcp_front_end_plugin.py +81 -0
- nat/front_ends/mcp/mcp_front_end_plugin_worker.py +143 -0
- {aiq → nat}/front_ends/mcp/register.py +5 -5
- {aiq → nat}/front_ends/mcp/tool_converter.py +20 -21
- {aiq → nat}/front_ends/simple_base/simple_front_end_plugin_base.py +6 -6
- {aiq → nat}/llm/aws_bedrock_llm.py +5 -5
- {aiq → nat}/llm/nim_llm.py +5 -5
- {aiq → nat}/llm/openai_llm.py +5 -5
- {aiq → nat}/memory/__init__.py +2 -2
- nat/meta/pypi.md +58 -0
- {aiq → nat}/object_store/__init__.py +2 -2
- {aiq → nat}/object_store/in_memory_object_store.py +6 -6
- {aiq → nat}/observability/exporter/base_exporter.py +9 -9
- {aiq → nat}/observability/exporter/exporter.py +1 -1
- {aiq → nat}/observability/exporter/file_exporter.py +6 -6
- {aiq → nat}/observability/exporter/processing_exporter.py +9 -9
- {aiq → nat}/observability/exporter/raw_exporter.py +4 -4
- {aiq → nat}/observability/exporter/span_exporter.py +57 -34
- {aiq → nat}/observability/exporter_manager.py +6 -6
- {aiq → nat}/observability/mixin/file_mixin.py +2 -2
- {aiq → nat}/observability/processor/batching_processor.py +1 -1
- {aiq → nat}/observability/processor/callback_processor.py +1 -1
- {aiq → nat}/observability/processor/intermediate_step_serializer.py +4 -4
- {aiq → nat}/observability/processor/processor.py +1 -1
- {aiq → nat}/observability/register.py +7 -7
- {aiq → nat}/profiler/calc/calc_runner.py +18 -18
- {aiq → nat}/profiler/calc/calculations.py +3 -3
- {aiq → nat}/profiler/calc/plot.py +2 -2
- {aiq → nat}/profiler/callbacks/agno_callback_handler.py +14 -14
- {aiq → nat}/profiler/callbacks/langchain_callback_handler.py +11 -11
- {aiq → nat}/profiler/callbacks/llama_index_callback_handler.py +12 -12
- {aiq → nat}/profiler/callbacks/semantic_kernel_callback_handler.py +11 -11
- {aiq → nat}/profiler/data_models.py +2 -2
- {aiq → nat}/profiler/decorators/framework_wrapper.py +6 -6
- {aiq → nat}/profiler/decorators/function_tracking.py +10 -10
- {aiq → nat}/profiler/forecasting/model_trainer.py +5 -5
- {aiq → nat}/profiler/forecasting/models/linear_model.py +5 -4
- {aiq → nat}/profiler/forecasting/models/random_forest_regressor.py +5 -4
- {aiq → nat}/profiler/inference_optimization/bottleneck_analysis/nested_stack_analysis.py +7 -7
- {aiq → nat}/profiler/inference_optimization/bottleneck_analysis/simple_stack_analysis.py +4 -4
- {aiq → nat}/profiler/inference_optimization/experimental/concurrency_spike_analysis.py +6 -6
- {aiq → nat}/profiler/inference_optimization/experimental/prefix_span_analysis.py +6 -6
- {aiq → nat}/profiler/inference_optimization/llm_metrics.py +2 -2
- {aiq → nat}/profiler/inference_optimization/prompt_caching.py +5 -5
- {aiq → nat}/profiler/inference_optimization/token_uniqueness.py +4 -4
- {aiq → nat}/profiler/inference_optimization/workflow_runtimes.py +3 -3
- {aiq → nat}/profiler/intermediate_property_adapter.py +3 -3
- {aiq → nat}/profiler/profile_runner.py +17 -17
- {aiq → nat}/profiler/utils.py +4 -4
- {aiq → nat}/registry_handlers/local/local_handler.py +19 -19
- {aiq → nat}/registry_handlers/local/register_local.py +4 -4
- {aiq → nat}/registry_handlers/metadata_factory.py +7 -7
- {aiq → nat}/registry_handlers/package_utils.py +37 -33
- {aiq → nat}/registry_handlers/pypi/pypi_handler.py +21 -21
- {aiq → nat}/registry_handlers/pypi/register_pypi.py +6 -6
- {aiq → nat}/registry_handlers/registry_handler_base.py +21 -21
- {aiq → nat}/registry_handlers/rest/register_rest.py +7 -7
- {aiq → nat}/registry_handlers/rest/rest_handler.py +19 -19
- {aiq → nat}/registry_handlers/schemas/package.py +3 -3
- {aiq → nat}/registry_handlers/schemas/publish.py +17 -12
- {aiq → nat}/registry_handlers/schemas/pull.py +6 -6
- {aiq → nat}/registry_handlers/schemas/remove.py +2 -2
- {aiq → nat}/registry_handlers/schemas/search.py +11 -11
- {aiq → nat}/retriever/interface.py +6 -2
- {aiq → nat}/retriever/milvus/register.py +7 -7
- {aiq → nat}/retriever/milvus/retriever.py +8 -8
- {aiq → nat}/retriever/models.py +10 -7
- {aiq → nat}/retriever/nemo_retriever/register.py +6 -6
- {aiq → nat}/retriever/nemo_retriever/retriever.py +10 -10
- {aiq/embedder → nat/retriever}/register.py +2 -4
- {aiq → nat}/runtime/loader.py +38 -33
- {aiq → nat}/runtime/runner.py +30 -25
- {aiq → nat}/runtime/session.py +19 -15
- {aiq → nat}/runtime/user_metadata.py +1 -1
- {aiq → nat}/settings/global_settings.py +11 -11
- {aiq → nat}/tool/chat_completion.py +6 -6
- {aiq → nat}/tool/code_execution/README.md +2 -2
- {aiq → nat}/tool/code_execution/code_sandbox.py +1 -1
- {aiq → nat}/tool/code_execution/register.py +5 -5
- {aiq → nat}/tool/code_execution/test_code_execution_sandbox.py +1 -1
- {aiq → nat}/tool/datetime_tools.py +4 -4
- {aiq → nat}/tool/document_search.py +6 -6
- {aiq → nat}/tool/github_tools/create_github_commit.py +4 -4
- {aiq → nat}/tool/github_tools/create_github_issue.py +4 -4
- {aiq → nat}/tool/github_tools/create_github_pr.py +4 -4
- {aiq → nat}/tool/github_tools/get_github_file.py +4 -4
- {aiq → nat}/tool/github_tools/get_github_issue.py +4 -4
- {aiq → nat}/tool/github_tools/get_github_pr.py +4 -4
- {aiq → nat}/tool/github_tools/update_github_issue.py +4 -4
- {aiq → nat}/tool/mcp/exceptions.py +1 -1
- {aiq → nat}/tool/mcp/mcp_client.py +2 -2
- {aiq → nat}/tool/mcp/mcp_tool.py +7 -7
- {aiq → nat}/tool/memory_tools/add_memory_tool.py +6 -6
- {aiq → nat}/tool/memory_tools/delete_memory_tool.py +6 -6
- {aiq → nat}/tool/memory_tools/get_memory_tool.py +6 -6
- {aiq → nat}/tool/nvidia_rag.py +4 -4
- {aiq → nat}/tool/retriever.py +20 -15
- {aiq → nat}/tool/server_tools.py +16 -16
- {aiq → nat}/utils/dump_distro_mapping.py +2 -2
- {aiq → nat}/utils/exception_handlers/mcp.py +8 -8
- {aiq → nat}/utils/io/yaml_tools.py +1 -1
- {aiq → nat}/utils/metadata_utils.py +2 -2
- {aiq → nat}/utils/reactive/base/observable_base.py +2 -2
- {aiq → nat}/utils/reactive/base/subject_base.py +1 -1
- {aiq → nat}/utils/reactive/observable.py +5 -5
- {aiq → nat}/utils/reactive/observer.py +1 -1
- {aiq → nat}/utils/reactive/subject.py +4 -4
- {aiq → nat}/utils/reactive/subscription.py +1 -1
- {aiq → nat}/utils/settings/global_settings.py +4 -4
- {aiq → nat}/utils/type_converter.py +1 -1
- {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc6.dist-info}/METADATA +37 -37
- nvidia_nat-1.2.0rc6.dist-info/RECORD +434 -0
- nvidia_nat-1.2.0rc6.dist-info/entry_points.txt +21 -0
- nvidia_nat-1.2.0rc6.dist-info/top_level.txt +1 -0
- aiq/embedder/langchain_client.py +0 -41
- aiq/front_ends/mcp/mcp_front_end_plugin.py +0 -93
- aiq/meta/module_to_distro.json +0 -3
- aiq/meta/pypi.md +0 -58
- nvidia_nat-1.2.0rc5.dist-info/RECORD +0 -435
- nvidia_nat-1.2.0rc5.dist-info/entry_points.txt +0 -20
- nvidia_nat-1.2.0rc5.dist-info/top_level.txt +0 -1
- {aiq → nat}/agent/__init__.py +0 -0
- {aiq → nat}/agent/base.py +0 -0
- {aiq → nat}/agent/dual_node.py +0 -0
- {aiq → nat}/agent/react_agent/__init__.py +0 -0
- {aiq → nat}/agent/react_agent/output_parser.py +0 -0
- {aiq → nat}/agent/react_agent/prompt.py +0 -0
- {aiq → nat}/agent/reasoning_agent/__init__.py +0 -0
- {aiq → nat}/agent/register.py +0 -0
- {aiq → nat}/agent/rewoo_agent/__init__.py +0 -0
- {aiq → nat}/agent/tool_calling_agent/__init__.py +0 -0
- {aiq → nat}/authentication/__init__.py +0 -0
- {aiq → nat}/authentication/api_key/__init__.py +0 -0
- {aiq → nat}/authentication/exceptions/__init__.py +0 -0
- {aiq → nat}/authentication/exceptions/api_key_exceptions.py +0 -0
- {aiq → nat}/authentication/http_basic_auth/__init__.py +0 -0
- {aiq → nat}/authentication/oauth2/__init__.py +0 -0
- {aiq → nat}/builder/__init__.py +0 -0
- {aiq → nat}/builder/framework_enum.py +0 -0
- {aiq → nat}/cli/__init__.py +0 -0
- {aiq → nat}/cli/cli_utils/__init__.py +0 -0
- {aiq → nat}/cli/commands/__init__.py +0 -0
- {aiq → nat}/cli/commands/configure/__init__.py +0 -0
- {aiq → nat}/cli/commands/configure/channel/__init__.py +0 -0
- {aiq → nat}/cli/commands/info/__init__.py +0 -0
- {aiq → nat}/cli/commands/registry/__init__.py +0 -0
- {aiq → nat}/cli/commands/sizing/__init__.py +0 -0
- {aiq → nat}/cli/commands/sizing/sizing.py +0 -0
- {aiq → nat}/cli/commands/workflow/__init__.py +0 -0
- {aiq → nat}/cli/commands/workflow/templates/__init__.py.j2 +0 -0
- {aiq → nat}/cli/commands/workflow/templates/config.yml.j2 +0 -0
- {aiq → nat}/cli/commands/workflow/templates/register.py.j2 +0 -0
- {aiq → nat}/data_models/__init__.py +0 -0
- {aiq → nat}/data_models/common.py +0 -0
- {aiq → nat}/data_models/embedder.py +0 -0
- {aiq → nat}/data_models/evaluator.py +0 -0
- {aiq → nat}/data_models/front_end.py +0 -0
- {aiq → nat}/data_models/function.py +0 -0
- {aiq → nat}/data_models/function_dependencies.py +0 -0
- {aiq → nat}/data_models/interactive.py +0 -0
- {aiq → nat}/data_models/invocation_node.py +0 -0
- {aiq → nat}/data_models/llm.py +0 -0
- {aiq → nat}/data_models/logging.py +0 -0
- {aiq → nat}/data_models/memory.py +0 -0
- {aiq → nat}/data_models/object_store.py +0 -0
- {aiq → nat}/data_models/profiler.py +0 -0
- {aiq → nat}/data_models/registry_handler.py +0 -0
- {aiq → nat}/data_models/retry_mixin.py +0 -0
- {aiq → nat}/data_models/streaming.py +0 -0
- {aiq → nat}/data_models/swe_bench_model.py +0 -0
- {aiq → nat}/data_models/ttc_strategy.py +0 -0
- {aiq → nat}/embedder/__init__.py +0 -0
- {aiq → nat}/eval/__init__.py +0 -0
- {aiq → nat}/eval/dataset_handler/__init__.py +0 -0
- {aiq → nat}/eval/evaluator/__init__.py +0 -0
- {aiq → nat}/eval/rag_evaluator/__init__.py +0 -0
- {aiq → nat}/eval/register.py +0 -0
- {aiq → nat}/eval/runners/__init__.py +0 -0
- {aiq → nat}/eval/swe_bench_evaluator/__init__.py +0 -0
- {aiq → nat}/eval/trajectory_evaluator/__init__.py +0 -0
- {aiq → nat}/eval/tunable_rag_evaluator/__init__.py +0 -0
- {aiq → nat}/eval/usage_stats.py +0 -0
- {aiq → nat}/eval/utils/__init__.py +0 -0
- {aiq → nat}/eval/utils/tqdm_position_registry.py +0 -0
- {aiq → nat}/experimental/__init__.py +0 -0
- {aiq → nat}/experimental/decorators/__init__.py +0 -0
- {aiq → nat}/experimental/test_time_compute/__init__.py +0 -0
- {aiq → nat}/experimental/test_time_compute/editing/__init__.py +0 -0
- {aiq → nat}/experimental/test_time_compute/functions/__init__.py +0 -0
- {aiq → nat}/experimental/test_time_compute/models/__init__.py +0 -0
- {aiq → nat}/experimental/test_time_compute/models/stage_enums.py +0 -0
- {aiq → nat}/experimental/test_time_compute/models/tool_use_config.py +0 -0
- {aiq → nat}/experimental/test_time_compute/models/ttc_item.py +0 -0
- {aiq → nat}/experimental/test_time_compute/scoring/__init__.py +0 -0
- {aiq → nat}/experimental/test_time_compute/search/__init__.py +0 -0
- {aiq → nat}/experimental/test_time_compute/selection/__init__.py +0 -0
- {aiq → nat}/front_ends/__init__.py +0 -0
- {aiq → nat}/front_ends/console/__init__.py +0 -0
- {aiq → nat}/front_ends/cron/__init__.py +0 -0
- {aiq → nat}/front_ends/fastapi/__init__.py +0 -0
- {aiq → nat}/front_ends/fastapi/auth_flow_handlers/__init__.py +0 -0
- {aiq → nat}/front_ends/fastapi/fastapi_front_end_controller.py +0 -0
- {aiq → nat}/front_ends/fastapi/html_snippets/__init__.py +0 -0
- {aiq → nat}/front_ends/fastapi/html_snippets/auth_code_grant_success.py +0 -0
- {aiq → nat}/front_ends/fastapi/job_store.py +0 -0
- {aiq → nat}/front_ends/mcp/__init__.py +0 -0
- {aiq → nat}/front_ends/register.py +0 -0
- {aiq → nat}/front_ends/simple_base/__init__.py +0 -0
- {aiq → nat}/llm/__init__.py +0 -0
- {aiq → nat}/llm/register.py +0 -0
- {aiq → nat}/llm/utils/__init__.py +0 -0
- {aiq → nat}/llm/utils/env_config_value.py +0 -0
- {aiq → nat}/llm/utils/error.py +0 -0
- {aiq → nat}/memory/interfaces.py +0 -0
- {aiq → nat}/memory/models.py +0 -0
- {aiq → nat}/object_store/interfaces.py +0 -0
- {aiq → nat}/object_store/models.py +0 -0
- {aiq → nat}/object_store/register.py +0 -0
- {aiq → nat}/observability/__init__.py +0 -0
- {aiq → nat}/observability/exporter/__init__.py +0 -0
- {aiq → nat}/observability/mixin/__init__.py +0 -0
- {aiq → nat}/observability/mixin/batch_config_mixin.py +0 -0
- {aiq → nat}/observability/mixin/collector_config_mixin.py +0 -0
- {aiq → nat}/observability/mixin/file_mode.py +0 -0
- {aiq → nat}/observability/mixin/resource_conflict_mixin.py +0 -0
- {aiq → nat}/observability/mixin/serialize_mixin.py +0 -0
- {aiq → nat}/observability/mixin/type_introspection_mixin.py +0 -0
- {aiq → nat}/observability/processor/__init__.py +0 -0
- {aiq → nat}/observability/utils/__init__.py +0 -0
- {aiq → nat}/observability/utils/dict_utils.py +0 -0
- {aiq → nat}/observability/utils/time_utils.py +0 -0
- {aiq → nat}/plugins/.namespace +0 -0
- {aiq → nat}/profiler/__init__.py +0 -0
- {aiq → nat}/profiler/calc/__init__.py +0 -0
- {aiq → nat}/profiler/calc/data_models.py +0 -0
- {aiq → nat}/profiler/callbacks/__init__.py +0 -0
- {aiq → nat}/profiler/callbacks/base_callback_class.py +0 -0
- {aiq → nat}/profiler/callbacks/token_usage_base_model.py +0 -0
- {aiq → nat}/profiler/data_frame_row.py +0 -0
- {aiq → nat}/profiler/decorators/__init__.py +0 -0
- {aiq → nat}/profiler/forecasting/__init__.py +0 -0
- {aiq → nat}/profiler/forecasting/config.py +0 -0
- {aiq → nat}/profiler/forecasting/models/__init__.py +0 -0
- {aiq → nat}/profiler/forecasting/models/forecasting_base_model.py +0 -0
- {aiq → nat}/profiler/inference_metrics_model.py +0 -0
- {aiq → nat}/profiler/inference_optimization/__init__.py +0 -0
- {aiq → nat}/profiler/inference_optimization/bottleneck_analysis/__init__.py +0 -0
- {aiq → nat}/profiler/inference_optimization/data_models.py +0 -0
- {aiq → nat}/profiler/inference_optimization/experimental/__init__.py +0 -0
- {aiq → nat}/registry_handlers/__init__.py +0 -0
- {aiq → nat}/registry_handlers/local/__init__.py +0 -0
- {aiq → nat}/registry_handlers/pypi/__init__.py +0 -0
- {aiq → nat}/registry_handlers/register.py +0 -0
- {aiq → nat}/registry_handlers/rest/__init__.py +0 -0
- {aiq → nat}/registry_handlers/schemas/__init__.py +0 -0
- {aiq → nat}/registry_handlers/schemas/headers.py +0 -0
- {aiq → nat}/registry_handlers/schemas/status.py +0 -0
- {aiq → nat}/retriever/__init__.py +0 -0
- {aiq → nat}/retriever/milvus/__init__.py +0 -0
- {aiq → nat}/retriever/nemo_retriever/__init__.py +0 -0
- {aiq → nat}/runtime/__init__.py +0 -0
- {aiq → nat}/settings/__init__.py +0 -0
- {aiq → nat}/test/.namespace +0 -0
- {aiq → nat}/tool/__init__.py +0 -0
- {aiq → nat}/tool/code_execution/__init__.py +0 -0
- {aiq → nat}/tool/code_execution/local_sandbox/.gitignore +0 -0
- {aiq → nat}/tool/code_execution/local_sandbox/Dockerfile.sandbox +0 -0
- {aiq → nat}/tool/code_execution/local_sandbox/__init__.py +0 -0
- {aiq → nat}/tool/code_execution/local_sandbox/local_sandbox_server.py +0 -0
- {aiq → nat}/tool/code_execution/local_sandbox/sandbox.requirements.txt +0 -0
- {aiq → nat}/tool/code_execution/local_sandbox/start_local_sandbox.sh +0 -0
- {aiq → nat}/tool/code_execution/utils.py +0 -0
- {aiq → nat}/tool/github_tools/__init__.py +0 -0
- {aiq → nat}/tool/mcp/__init__.py +0 -0
- {aiq → nat}/tool/memory_tools/__init__.py +0 -0
- {aiq → nat}/tool/register.py +0 -0
- {aiq → nat}/utils/__init__.py +0 -0
- {aiq → nat}/utils/data_models/__init__.py +0 -0
- {aiq → nat}/utils/data_models/schema_validator.py +0 -0
- {aiq → nat}/utils/debugging_utils.py +0 -0
- {aiq → nat}/utils/exception_handlers/__init__.py +0 -0
- {aiq → nat}/utils/exception_handlers/automatic_retries.py +0 -0
- {aiq → nat}/utils/exception_handlers/schemas.py +0 -0
- {aiq → nat}/utils/io/__init__.py +0 -0
- {aiq → nat}/utils/io/model_processing.py +0 -0
- {aiq → nat}/utils/log_utils.py +0 -0
- {aiq → nat}/utils/optional_imports.py +0 -0
- {aiq → nat}/utils/producer_consumer_queue.py +0 -0
- {aiq → nat}/utils/reactive/__init__.py +0 -0
- {aiq → nat}/utils/reactive/base/__init__.py +0 -0
- {aiq → nat}/utils/reactive/base/observer_base.py +0 -0
- {aiq → nat}/utils/settings/__init__.py +0 -0
- {aiq → nat}/utils/string_utils.py +0 -0
- {aiq → nat}/utils/type_utils.py +0 -0
- {aiq → nat}/utils/url_utils.py +0 -0
- {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc6.dist-info}/WHEEL +0 -0
- {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc6.dist-info}/licenses/LICENSE-3rd-party.txt +0 -0
- {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc6.dist-info}/licenses/LICENSE.md +0 -0
{aiq → nat}/tool/nvidia_rag.py
RENAMED
|
@@ -18,10 +18,10 @@ import logging
|
|
|
18
18
|
|
|
19
19
|
from pydantic import Field
|
|
20
20
|
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
24
|
-
from
|
|
21
|
+
from nat.builder.builder import Builder
|
|
22
|
+
from nat.builder.function_info import FunctionInfo
|
|
23
|
+
from nat.cli.register_workflow import register_function
|
|
24
|
+
from nat.data_models.function import FunctionBaseConfig
|
|
25
25
|
|
|
26
26
|
logger = logging.getLogger(__name__)
|
|
27
27
|
|
{aiq → nat}/tool/retriever.py
RENAMED
|
@@ -18,21 +18,21 @@ import logging
|
|
|
18
18
|
from pydantic import BaseModel
|
|
19
19
|
from pydantic import Field
|
|
20
20
|
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
24
|
-
from
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
28
|
-
from
|
|
21
|
+
from nat.builder.builder import Builder
|
|
22
|
+
from nat.builder.function_info import FunctionInfo
|
|
23
|
+
from nat.cli.register_workflow import register_function
|
|
24
|
+
from nat.data_models.component_ref import RetrieverRef
|
|
25
|
+
from nat.data_models.function import FunctionBaseConfig
|
|
26
|
+
from nat.retriever.interface import Retriever
|
|
27
|
+
from nat.retriever.models import RetrieverError
|
|
28
|
+
from nat.retriever.models import RetrieverOutput
|
|
29
29
|
|
|
30
30
|
logger = logging.getLogger(__name__)
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
class
|
|
33
|
+
class RetrieverConfig(FunctionBaseConfig, name="nat_retriever"):
|
|
34
34
|
"""
|
|
35
|
-
|
|
35
|
+
Retriever tool which provides a common interface for different vectorstores. Its
|
|
36
36
|
configuration uses clients, which are the vectorstore-specific implementaiton of the retriever interface.
|
|
37
37
|
"""
|
|
38
38
|
retriever: RetrieverRef = Field(description="The retriever instance name from the workflow configuration object.")
|
|
@@ -44,7 +44,7 @@ class AIQRetrieverConfig(FunctionBaseConfig, name="aiq_retriever"):
|
|
|
44
44
|
description: str | None = Field(default=None, description="If present it will be used as the tool description")
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
def _get_description_from_config(config:
|
|
47
|
+
def _get_description_from_config(config: RetrieverConfig) -> str:
|
|
48
48
|
"""
|
|
49
49
|
Generate a description of what the tool will do based on how it is configured.
|
|
50
50
|
"""
|
|
@@ -55,10 +55,10 @@ def _get_description_from_config(config: AIQRetrieverConfig) -> str:
|
|
|
55
55
|
return description.format(topic=_topic) if not config.description else config.description
|
|
56
56
|
|
|
57
57
|
|
|
58
|
-
@register_function(config_type=
|
|
59
|
-
async def
|
|
58
|
+
@register_function(config_type=RetrieverConfig)
|
|
59
|
+
async def retriever_tool(config: RetrieverConfig, builder: Builder):
|
|
60
60
|
"""
|
|
61
|
-
Configure
|
|
61
|
+
Configure a NAT Retriever Tool which supports different clients such as Milvus and Nemo Retriever.
|
|
62
62
|
|
|
63
63
|
Args:
|
|
64
64
|
config: A config object with required parameters 'client' and 'client_config'
|
|
@@ -68,7 +68,7 @@ async def aiq_retriever_tool(config: AIQRetrieverConfig, builder: Builder):
|
|
|
68
68
|
class RetrieverInputSchema(BaseModel):
|
|
69
69
|
query: str = Field(description="The query to be searched in the configured data store")
|
|
70
70
|
|
|
71
|
-
client:
|
|
71
|
+
client: Retriever = await builder.get_retriever(config.retriever)
|
|
72
72
|
|
|
73
73
|
async def _retrieve(query: str) -> RetrieverOutput:
|
|
74
74
|
try:
|
|
@@ -87,3 +87,8 @@ async def aiq_retriever_tool(config: AIQRetrieverConfig, builder: Builder):
|
|
|
87
87
|
input_schema=RetrieverInputSchema,
|
|
88
88
|
description=_get_description_from_config(config),
|
|
89
89
|
)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
# Compatibility aliases with previous releases
|
|
93
|
+
AIQRetrieverConfig = RetrieverConfig
|
|
94
|
+
aiq_retriever_tool = retriever_tool
|
{aiq → nat}/tool/server_tools.py
RENAMED
|
@@ -13,10 +13,10 @@
|
|
|
13
13
|
# See the License for the specific language governing permissions and
|
|
14
14
|
# limitations under the License.
|
|
15
15
|
|
|
16
|
-
from
|
|
17
|
-
from
|
|
18
|
-
from
|
|
19
|
-
from
|
|
16
|
+
from nat.builder.builder import Builder
|
|
17
|
+
from nat.builder.function_info import FunctionInfo
|
|
18
|
+
from nat.cli.register_workflow import register_function
|
|
19
|
+
from nat.data_models.function import FunctionBaseConfig
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
class RequestAttributesTool(FunctionBaseConfig, name="current_request_attributes"):
|
|
@@ -37,19 +37,19 @@ async def current_request_attributes(config: RequestAttributesTool, builder: Bui
|
|
|
37
37
|
|
|
38
38
|
async def _get_request_attributes(unused: str) -> str:
|
|
39
39
|
|
|
40
|
-
from
|
|
41
|
-
|
|
40
|
+
from nat.builder.context import Context
|
|
41
|
+
nat_context = Context.get()
|
|
42
42
|
|
|
43
|
-
method: str | None =
|
|
44
|
-
url_path: str | None =
|
|
45
|
-
url_scheme: str | None =
|
|
46
|
-
headers: Headers | None =
|
|
47
|
-
query_params: QueryParams | None =
|
|
48
|
-
path_params: dict[str, str] | None =
|
|
49
|
-
client_host: str | None =
|
|
50
|
-
client_port: int | None =
|
|
51
|
-
cookies: dict[str, str] | None =
|
|
52
|
-
conversation_id: str | None =
|
|
43
|
+
method: str | None = nat_context.metadata.method
|
|
44
|
+
url_path: str | None = nat_context.metadata.url_path
|
|
45
|
+
url_scheme: str | None = nat_context.metadata.url_scheme
|
|
46
|
+
headers: Headers | None = nat_context.metadata.headers
|
|
47
|
+
query_params: QueryParams | None = nat_context.metadata.query_params
|
|
48
|
+
path_params: dict[str, str] | None = nat_context.metadata.path_params
|
|
49
|
+
client_host: str | None = nat_context.metadata.client_host
|
|
50
|
+
client_port: int | None = nat_context.metadata.client_port
|
|
51
|
+
cookies: dict[str, str] | None = nat_context.metadata.cookies
|
|
52
|
+
conversation_id: str | None = nat_context.conversation_id
|
|
53
53
|
|
|
54
54
|
return (f"Method: {method}, "
|
|
55
55
|
f"URL Path: {url_path}, "
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
import argparse
|
|
17
17
|
import json
|
|
18
18
|
|
|
19
|
-
from
|
|
19
|
+
from nat.runtime.loader import get_all_entrypoints_distro_mapping
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def dump_distro_mapping(path: str):
|
|
23
|
-
mapping =
|
|
23
|
+
mapping = get_all_entrypoints_distro_mapping()
|
|
24
24
|
with open(path, "w", encoding="utf-8") as f:
|
|
25
25
|
json.dump(mapping, f, indent=4)
|
|
26
26
|
|
|
@@ -22,14 +22,14 @@ from typing import Any
|
|
|
22
22
|
|
|
23
23
|
import httpx
|
|
24
24
|
|
|
25
|
-
from
|
|
26
|
-
from
|
|
27
|
-
from
|
|
28
|
-
from
|
|
29
|
-
from
|
|
30
|
-
from
|
|
31
|
-
from
|
|
32
|
-
from
|
|
25
|
+
from nat.tool.mcp.exceptions import MCPAuthenticationError
|
|
26
|
+
from nat.tool.mcp.exceptions import MCPConnectionError
|
|
27
|
+
from nat.tool.mcp.exceptions import MCPError
|
|
28
|
+
from nat.tool.mcp.exceptions import MCPProtocolError
|
|
29
|
+
from nat.tool.mcp.exceptions import MCPRequestError
|
|
30
|
+
from nat.tool.mcp.exceptions import MCPSSLError
|
|
31
|
+
from nat.tool.mcp.exceptions import MCPTimeoutError
|
|
32
|
+
from nat.tool.mcp.exceptions import MCPToolNotFoundError
|
|
33
33
|
|
|
34
34
|
logger = logging.getLogger(__name__)
|
|
35
35
|
|
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
|
|
16
16
|
from pydantic_core import PydanticUndefined
|
|
17
17
|
|
|
18
|
-
from
|
|
19
|
-
from
|
|
18
|
+
from nat.data_models.common import TypedBaseModelT
|
|
19
|
+
from nat.utils.type_utils import DecomposedType
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
def generate_config_type_docs(config_type: TypedBaseModelT) -> str:
|
|
@@ -20,8 +20,8 @@ from collections.abc import Callable
|
|
|
20
20
|
from typing import Generic
|
|
21
21
|
from typing import TypeVar
|
|
22
22
|
|
|
23
|
-
from
|
|
24
|
-
from
|
|
23
|
+
from nat.utils.reactive.base.observer_base import ObserverBase
|
|
24
|
+
from nat.utils.reactive.subscription import Subscription
|
|
25
25
|
|
|
26
26
|
# Covariant type param: An Observable producing type X can also produce
|
|
27
27
|
# a subtype of X.
|
|
@@ -22,7 +22,7 @@ from .observable_base import ObservableBase
|
|
|
22
22
|
from .observer_base import ObserverBase
|
|
23
23
|
|
|
24
24
|
if typing.TYPE_CHECKING:
|
|
25
|
-
from
|
|
25
|
+
from nat.utils.reactive.subscription import Subscription
|
|
26
26
|
|
|
27
27
|
T = TypeVar("T")
|
|
28
28
|
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
from collections.abc import Callable
|
|
17
17
|
from typing import TypeVar
|
|
18
18
|
|
|
19
|
-
from
|
|
20
|
-
from
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
19
|
+
from nat.utils.reactive.base.observable_base import ObservableBase
|
|
20
|
+
from nat.utils.reactive.base.observer_base import ObserverBase
|
|
21
|
+
from nat.utils.reactive.observer import Observer
|
|
22
|
+
from nat.utils.reactive.subscription import Subscription
|
|
23
|
+
from nat.utils.type_utils import override
|
|
24
24
|
|
|
25
25
|
# Covariant type param: An Observable producing type X can also produce
|
|
26
26
|
# a subtype of X.
|
|
@@ -17,7 +17,7 @@ import logging
|
|
|
17
17
|
from collections.abc import Callable
|
|
18
18
|
from typing import TypeVar
|
|
19
19
|
|
|
20
|
-
from
|
|
20
|
+
from nat.utils.reactive.base.observer_base import ObserverBase
|
|
21
21
|
|
|
22
22
|
logger = logging.getLogger(__name__)
|
|
23
23
|
|
|
@@ -17,10 +17,10 @@ import threading
|
|
|
17
17
|
from collections.abc import Callable
|
|
18
18
|
from typing import TypeVar
|
|
19
19
|
|
|
20
|
-
from
|
|
21
|
-
from
|
|
22
|
-
from
|
|
23
|
-
from
|
|
20
|
+
from nat.utils.reactive.base.subject_base import SubjectBase
|
|
21
|
+
from nat.utils.reactive.observable import Observable
|
|
22
|
+
from nat.utils.reactive.observer import Observer
|
|
23
|
+
from nat.utils.reactive.subscription import Subscription
|
|
24
24
|
|
|
25
25
|
T = TypeVar("T")
|
|
26
26
|
|
|
@@ -19,7 +19,7 @@ from typing import Generic
|
|
|
19
19
|
from typing import TypeVar
|
|
20
20
|
|
|
21
21
|
if typing.TYPE_CHECKING:
|
|
22
|
-
from
|
|
22
|
+
from nat.utils.reactive.base.subject_base import SubjectBase
|
|
23
23
|
|
|
24
24
|
_T = TypeVar("_T") # pylint: disable=invalid-name
|
|
25
25
|
|
|
@@ -17,9 +17,9 @@ import logging
|
|
|
17
17
|
|
|
18
18
|
from pydantic import create_model
|
|
19
19
|
|
|
20
|
-
from
|
|
21
|
-
from
|
|
22
|
-
from
|
|
20
|
+
from nat.cli.type_registry import GlobalTypeRegistry
|
|
21
|
+
from nat.data_models.registry_handler import RegistryHandlerBaseConfig
|
|
22
|
+
from nat.settings.global_settings import GlobalSettings
|
|
23
23
|
|
|
24
24
|
logger = logging.getLogger(__name__)
|
|
25
25
|
|
|
@@ -66,7 +66,7 @@ def configure_registry_channel(config_type: RegistryHandlerBaseConfig, channel_n
|
|
|
66
66
|
|
|
67
67
|
|
|
68
68
|
def add_channel_interative(channel_type: str) -> None:
|
|
69
|
-
"""Add a remote registry channel to publish/search/pull
|
|
69
|
+
"""Add a remote registry channel to publish/search/pull NAT plugin packages.
|
|
70
70
|
|
|
71
71
|
Args:
|
|
72
72
|
channel_type (str): They type of channel to configure.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: nvidia-nat
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.0rc6
|
|
4
4
|
Summary: NVIDIA NeMo Agent toolkit
|
|
5
5
|
Author: NVIDIA Corporation
|
|
6
6
|
Maintainer: NVIDIA Corporation
|
|
@@ -273,28 +273,28 @@ Requires-Dist: nvidia-nat-weave; extra == "weave"
|
|
|
273
273
|
Provides-Extra: zep-cloud
|
|
274
274
|
Requires-Dist: nvidia-nat-zep-cloud; extra == "zep-cloud"
|
|
275
275
|
Provides-Extra: examples
|
|
276
|
-
Requires-Dist:
|
|
277
|
-
Requires-Dist:
|
|
278
|
-
Requires-Dist:
|
|
279
|
-
Requires-Dist:
|
|
280
|
-
Requires-Dist:
|
|
281
|
-
Requires-Dist:
|
|
282
|
-
Requires-Dist:
|
|
283
|
-
Requires-Dist:
|
|
284
|
-
Requires-Dist:
|
|
285
|
-
Requires-Dist:
|
|
286
|
-
Requires-Dist:
|
|
287
|
-
Requires-Dist:
|
|
288
|
-
Requires-Dist:
|
|
289
|
-
Requires-Dist:
|
|
290
|
-
Requires-Dist:
|
|
291
|
-
Requires-Dist:
|
|
292
|
-
Requires-Dist:
|
|
293
|
-
Requires-Dist:
|
|
294
|
-
Requires-Dist:
|
|
295
|
-
Requires-Dist:
|
|
296
|
-
Requires-Dist:
|
|
297
|
-
Requires-Dist:
|
|
276
|
+
Requires-Dist: nat_agno_personal_finance; extra == "examples"
|
|
277
|
+
Requires-Dist: nat_alert_triage_agent; extra == "examples"
|
|
278
|
+
Requires-Dist: nat_automated_description_generation; extra == "examples"
|
|
279
|
+
Requires-Dist: nat_email_phishing_analyzer; extra == "examples"
|
|
280
|
+
Requires-Dist: nat_multi_frameworks; extra == "examples"
|
|
281
|
+
Requires-Dist: nat_plot_charts; extra == "examples"
|
|
282
|
+
Requires-Dist: nat_por_to_jiratickets; extra == "examples"
|
|
283
|
+
Requires-Dist: nat_profiler_agent; extra == "examples"
|
|
284
|
+
Requires-Dist: nat_redact_pii; extra == "examples"
|
|
285
|
+
Requires-Dist: nat_semantic_kernel_demo; extra == "examples"
|
|
286
|
+
Requires-Dist: nat_simple_auth; extra == "examples"
|
|
287
|
+
Requires-Dist: nat_simple_web_query; extra == "examples"
|
|
288
|
+
Requires-Dist: nat_simple_web_query_eval; extra == "examples"
|
|
289
|
+
Requires-Dist: nat_simple_calculator; extra == "examples"
|
|
290
|
+
Requires-Dist: nat_simple_calculator_custom_routes; extra == "examples"
|
|
291
|
+
Requires-Dist: nat_simple_calculator_eval; extra == "examples"
|
|
292
|
+
Requires-Dist: nat_simple_calculator_mcp; extra == "examples"
|
|
293
|
+
Requires-Dist: nat_simple_calculator_observability; extra == "examples"
|
|
294
|
+
Requires-Dist: nat_simple_calculator_hitl; extra == "examples"
|
|
295
|
+
Requires-Dist: nat_simple_rag; extra == "examples"
|
|
296
|
+
Requires-Dist: nat_swe_bench; extra == "examples"
|
|
297
|
+
Requires-Dist: nat_user_report; extra == "examples"
|
|
298
298
|
Provides-Extra: profiling
|
|
299
299
|
Requires-Dist: matplotlib~=3.9; extra == "profiling"
|
|
300
300
|
Requires-Dist: prefixspan~=0.5.2; extra == "profiling"
|
|
@@ -320,30 +320,30 @@ See the License for the specific language governing permissions and
|
|
|
320
320
|
limitations under the License.
|
|
321
321
|
-->
|
|
322
322
|
|
|
323
|
-

|
|
324
324
|
|
|
325
325
|
# NVIDIA NeMo Agent Toolkit
|
|
326
326
|
|
|
327
|
-
|
|
327
|
+
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.
|
|
328
328
|
|
|
329
329
|
## Key Features
|
|
330
330
|
|
|
331
|
-
- [**Framework Agnostic:**](https://docs.nvidia.com/
|
|
332
|
-
- [**Reusability:**](https://docs.nvidia.com/
|
|
333
|
-
- [**Rapid Development:**](https://docs.nvidia.com/
|
|
334
|
-
- [**Profiling:**](https://docs.nvidia.com/
|
|
335
|
-
- [**Observability:**](https://docs.nvidia.com/
|
|
336
|
-
- [**Evaluation System:**](https://docs.nvidia.com/
|
|
337
|
-
- [**User Interface:**](https://docs.nvidia.com/
|
|
338
|
-
- [**MCP Compatibility**](https://docs.nvidia.com/
|
|
331
|
+
- [**Framework Agnostic:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/extend/plugins.html) Works with any agentic framework, so you can use your current technology stack without replatforming.
|
|
332
|
+
- [**Reusability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/extend/sharing-components.html) Every agent, tool, or workflow can be combined and repurposed, allowing developers to leverage existing work in new scenarios.
|
|
333
|
+
- [**Rapid Development:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/tutorials/index.html) Start with a pre-built agent, tool, or workflow, and customize it to your needs.
|
|
334
|
+
- [**Profiling:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/profiler.html) Profile entire workflows down to the tool and agent level, track input/output tokens and timings, and identify bottlenecks.
|
|
335
|
+
- [**Observability:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/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.2.0/workflows/observe/observe-workflow-with-phoenix.html) and [W&B Weave](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/observe/observe-workflow-with-weave.html).
|
|
336
|
+
- [**Evaluation System:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/workflows/evaluate.html) Validate and maintain accuracy of agentic workflows with built-in evaluation tools.
|
|
337
|
+
- [**User Interface:**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/quick-start/launching-ui.html) Use the NeMo Agent toolkit UI chat interface to interact with your agents, visualize output, and debug workflows.
|
|
338
|
+
- [**MCP Compatibility**](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/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.
|
|
339
339
|
|
|
340
|
-
With
|
|
340
|
+
With NeMo Agent toolkit, you can move quickly, experiment freely, and ensure reliability across all your agent-driven projects.
|
|
341
341
|
|
|
342
342
|
## Links
|
|
343
|
-
* [Documentation](https://docs.nvidia.com/
|
|
343
|
+
* [Documentation](https://docs.nvidia.com/nemo/agent-toolkit/1.2.0/index.html): Explore the full documentation for NeMo Agent toolkit.
|
|
344
344
|
|
|
345
345
|
## First time user?
|
|
346
|
-
If this is your first time using
|
|
346
|
+
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.
|
|
347
347
|
|
|
348
348
|
## Feedback
|
|
349
349
|
|
|
@@ -351,7 +351,7 @@ We would love to hear from you! Please file an issue on [GitHub](https://github.
|
|
|
351
351
|
|
|
352
352
|
## Acknowledgements
|
|
353
353
|
|
|
354
|
-
We would like to thank the following open source projects that made
|
|
354
|
+
We would like to thank the following open source projects that made NeMo Agent toolkit possible:
|
|
355
355
|
|
|
356
356
|
- [CrewAI](https://github.com/crewAIInc/crewAI)
|
|
357
357
|
- [FastAPI](https://github.com/tiangolo/fastapi)
|