nvidia-nat 1.2.0rc5__py3-none-any.whl → 1.2.0rc7__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.
Files changed (441) hide show
  1. {aiq → nat}/agent/react_agent/agent.py +12 -12
  2. {aiq → nat}/agent/react_agent/register.py +20 -20
  3. {aiq → nat}/agent/reasoning_agent/reasoning_agent.py +14 -14
  4. {aiq → nat}/agent/rewoo_agent/agent.py +7 -7
  5. {aiq → nat}/agent/rewoo_agent/prompt.py +11 -12
  6. {aiq → nat}/agent/rewoo_agent/register.py +47 -49
  7. {aiq → nat}/agent/tool_calling_agent/agent.py +4 -4
  8. {aiq → nat}/agent/tool_calling_agent/register.py +8 -8
  9. {aiq → nat}/authentication/api_key/api_key_auth_provider.py +6 -6
  10. {aiq → nat}/authentication/api_key/api_key_auth_provider_config.py +5 -5
  11. {aiq → nat}/authentication/api_key/register.py +4 -4
  12. {aiq → nat}/authentication/http_basic_auth/http_basic_auth_provider.py +10 -10
  13. {aiq → nat}/authentication/http_basic_auth/register.py +4 -4
  14. {aiq → nat}/authentication/interfaces.py +6 -6
  15. {aiq → nat}/authentication/oauth2/oauth2_auth_code_flow_provider.py +11 -11
  16. {aiq → nat}/authentication/oauth2/oauth2_auth_code_flow_provider_config.py +1 -1
  17. {aiq → nat}/authentication/oauth2/register.py +4 -4
  18. {aiq → nat}/authentication/register.py +3 -3
  19. {aiq → nat}/builder/builder.py +30 -30
  20. {aiq → nat}/builder/component_utils.py +23 -23
  21. {aiq → nat}/builder/context.py +35 -29
  22. {aiq → nat}/builder/embedder.py +1 -1
  23. {aiq → nat}/builder/eval_builder.py +13 -13
  24. {aiq → nat}/builder/evaluator.py +3 -3
  25. {aiq → nat}/builder/front_end.py +11 -11
  26. {aiq → nat}/builder/function.py +8 -8
  27. {aiq → nat}/builder/function_base.py +6 -6
  28. {aiq → nat}/builder/function_info.py +3 -3
  29. {aiq → nat}/builder/intermediate_step_manager.py +13 -13
  30. {aiq → nat}/builder/llm.py +1 -1
  31. {aiq → nat}/builder/retriever.py +1 -1
  32. {aiq → nat}/builder/user_interaction_manager.py +14 -10
  33. {aiq → nat}/builder/workflow.py +25 -25
  34. {aiq → nat}/builder/workflow_builder.py +86 -86
  35. {aiq → nat}/cli/cli_utils/config_override.py +2 -2
  36. {aiq → nat}/cli/cli_utils/validation.py +4 -4
  37. {aiq → nat}/cli/commands/configure/channel/add.py +2 -2
  38. {aiq → nat}/cli/commands/configure/channel/channel.py +4 -6
  39. {aiq → nat}/cli/commands/configure/channel/remove.py +2 -2
  40. {aiq → nat}/cli/commands/configure/channel/update.py +2 -2
  41. {aiq → nat}/cli/commands/configure/configure.py +3 -3
  42. {aiq → nat}/cli/commands/evaluate.py +3 -3
  43. {aiq → nat}/cli/commands/info/info.py +5 -7
  44. {aiq → nat}/cli/commands/info/list_channels.py +1 -1
  45. {aiq → nat}/cli/commands/info/list_components.py +14 -14
  46. {aiq → nat}/cli/commands/info/list_mcp.py +106 -15
  47. {aiq → nat}/cli/commands/registry/publish.py +9 -9
  48. {aiq → nat}/cli/commands/registry/pull.py +10 -10
  49. {aiq → nat}/cli/commands/registry/registry.py +5 -7
  50. {aiq → nat}/cli/commands/registry/remove.py +8 -8
  51. {aiq → nat}/cli/commands/registry/search.py +15 -15
  52. {aiq → nat}/cli/commands/sizing/calc.py +3 -3
  53. {aiq → nat}/cli/commands/start.py +15 -15
  54. {aiq → nat}/cli/commands/uninstall.py +5 -5
  55. {aiq → nat}/cli/commands/validate.py +1 -1
  56. {aiq → nat}/cli/commands/workflow/templates/pyproject.toml.j2 +4 -4
  57. {aiq → nat}/cli/commands/workflow/templates/workflow.py.j2 +4 -4
  58. {aiq → nat}/cli/commands/workflow/workflow.py +3 -3
  59. {aiq → nat}/cli/commands/workflow/workflow_commands.py +15 -11
  60. {aiq → nat}/cli/entrypoint.py +6 -6
  61. {aiq → nat}/cli/main.py +15 -2
  62. {aiq → nat}/cli/register_workflow.py +70 -70
  63. {aiq → nat}/cli/type_registry.py +82 -82
  64. {aiq → nat}/data_models/api_server.py +121 -99
  65. {aiq → nat}/data_models/authentication.py +2 -2
  66. {aiq → nat}/data_models/component.py +5 -1
  67. {aiq → nat}/data_models/component_ref.py +12 -12
  68. {aiq → nat}/data_models/config.py +17 -13
  69. {aiq → nat}/data_models/dataset_handler.py +58 -12
  70. {aiq → nat}/data_models/discovery_metadata.py +36 -66
  71. {aiq → nat}/data_models/evaluate.py +9 -9
  72. {aiq → nat}/data_models/intermediate_step.py +7 -7
  73. {aiq → nat}/data_models/retriever.py +2 -2
  74. {aiq → nat}/data_models/span.py +10 -7
  75. {aiq → nat}/data_models/step_adaptor.py +1 -1
  76. {aiq → nat}/data_models/telemetry_exporter.py +2 -2
  77. {aiq → nat}/embedder/nim_embedder.py +5 -5
  78. {aiq → nat}/embedder/openai_embedder.py +5 -5
  79. {aiq/retriever → nat/embedder}/register.py +2 -2
  80. {aiq → nat}/eval/config.py +4 -4
  81. {aiq → nat}/eval/dataset_handler/dataset_downloader.py +1 -1
  82. {aiq → nat}/eval/dataset_handler/dataset_filter.py +1 -1
  83. {aiq → nat}/eval/dataset_handler/dataset_handler.py +127 -14
  84. {aiq → nat}/eval/evaluate.py +38 -34
  85. {aiq → nat}/eval/evaluator/base_evaluator.py +9 -5
  86. {aiq → nat}/eval/evaluator/evaluator_model.py +4 -4
  87. {aiq → nat}/eval/intermediate_step_adapter.py +2 -2
  88. {aiq → nat}/eval/rag_evaluator/evaluate.py +8 -8
  89. {aiq → nat}/eval/rag_evaluator/register.py +7 -7
  90. {aiq → nat}/eval/remote_workflow.py +8 -8
  91. {aiq → nat}/eval/runners/config.py +2 -2
  92. {aiq → nat}/eval/runners/multi_eval_runner.py +4 -4
  93. {aiq → nat}/eval/runtime_event_subscriber.py +3 -3
  94. {aiq → nat}/eval/swe_bench_evaluator/evaluate.py +6 -6
  95. {aiq → nat}/eval/swe_bench_evaluator/register.py +4 -4
  96. {aiq → nat}/eval/trajectory_evaluator/evaluate.py +5 -5
  97. {aiq → nat}/eval/trajectory_evaluator/register.py +5 -5
  98. {aiq → nat}/eval/tunable_rag_evaluator/evaluate.py +3 -3
  99. {aiq → nat}/eval/tunable_rag_evaluator/register.py +6 -6
  100. {aiq → nat}/eval/utils/output_uploader.py +1 -1
  101. {aiq → nat}/eval/utils/weave_eval.py +6 -6
  102. {aiq → nat}/experimental/decorators/experimental_warning_decorator.py +6 -2
  103. {aiq → nat}/experimental/test_time_compute/editing/iterative_plan_refinement_editor.py +10 -10
  104. {aiq → nat}/experimental/test_time_compute/editing/llm_as_a_judge_editor.py +10 -10
  105. {aiq → nat}/experimental/test_time_compute/editing/motivation_aware_summarization.py +10 -10
  106. {aiq → nat}/experimental/test_time_compute/functions/execute_score_select_function.py +10 -10
  107. {aiq → nat}/experimental/test_time_compute/functions/plan_select_execute_function.py +17 -17
  108. aiq/experimental/test_time_compute/functions/its_tool_orchestration_function.py → nat/experimental/test_time_compute/functions/ttc_tool_orchestration_function.py +12 -12
  109. aiq/experimental/test_time_compute/functions/its_tool_wrapper_function.py → nat/experimental/test_time_compute/functions/ttc_tool_wrapper_function.py +10 -10
  110. {aiq → nat}/experimental/test_time_compute/models/editor_config.py +2 -2
  111. {aiq → nat}/experimental/test_time_compute/models/scoring_config.py +2 -2
  112. {aiq → nat}/experimental/test_time_compute/models/search_config.py +2 -2
  113. {aiq → nat}/experimental/test_time_compute/models/selection_config.py +2 -2
  114. {aiq → nat}/experimental/test_time_compute/models/strategy_base.py +4 -4
  115. {aiq → nat}/experimental/test_time_compute/register.py +2 -2
  116. {aiq → nat}/experimental/test_time_compute/scoring/llm_based_agent_scorer.py +11 -11
  117. {aiq → nat}/experimental/test_time_compute/scoring/llm_based_plan_scorer.py +11 -11
  118. {aiq → nat}/experimental/test_time_compute/scoring/motivation_aware_scorer.py +10 -10
  119. {aiq → nat}/experimental/test_time_compute/search/multi_llm_planner.py +10 -10
  120. {aiq → nat}/experimental/test_time_compute/search/multi_query_retrieval_search.py +10 -10
  121. {aiq → nat}/experimental/test_time_compute/search/single_shot_multi_plan_planner.py +11 -11
  122. {aiq → nat}/experimental/test_time_compute/selection/best_of_n_selector.py +7 -7
  123. {aiq → nat}/experimental/test_time_compute/selection/llm_based_agent_output_selector.py +11 -11
  124. {aiq → nat}/experimental/test_time_compute/selection/llm_based_output_merging_selector.py +11 -11
  125. {aiq → nat}/experimental/test_time_compute/selection/llm_based_plan_selector.py +11 -11
  126. {aiq → nat}/experimental/test_time_compute/selection/threshold_selector.py +7 -7
  127. {aiq → nat}/front_ends/console/authentication_flow_handler.py +6 -6
  128. {aiq → nat}/front_ends/console/console_front_end_config.py +2 -2
  129. {aiq → nat}/front_ends/console/console_front_end_plugin.py +9 -9
  130. {aiq → nat}/front_ends/console/register.py +5 -5
  131. {aiq → nat}/front_ends/fastapi/auth_flow_handlers/http_flow_handler.py +4 -4
  132. {aiq → nat}/front_ends/fastapi/auth_flow_handlers/websocket_flow_handler.py +6 -6
  133. {aiq → nat}/front_ends/fastapi/fastapi_front_end_config.py +22 -15
  134. {aiq → nat}/front_ends/fastapi/fastapi_front_end_plugin.py +10 -10
  135. {aiq → nat}/front_ends/fastapi/fastapi_front_end_plugin_worker.py +110 -115
  136. {aiq → nat}/front_ends/fastapi/intermediate_steps_subscriber.py +10 -10
  137. {aiq → nat}/front_ends/fastapi/main.py +8 -8
  138. {aiq → nat}/front_ends/fastapi/message_handler.py +58 -36
  139. {aiq → nat}/front_ends/fastapi/message_validator.py +55 -48
  140. {aiq → nat}/front_ends/fastapi/register.py +5 -5
  141. {aiq → nat}/front_ends/fastapi/response_helpers.py +26 -26
  142. {aiq → nat}/front_ends/fastapi/step_adaptor.py +35 -37
  143. {aiq → nat}/front_ends/mcp/mcp_front_end_config.py +12 -8
  144. nat/front_ends/mcp/mcp_front_end_plugin.py +81 -0
  145. nat/front_ends/mcp/mcp_front_end_plugin_worker.py +143 -0
  146. {aiq → nat}/front_ends/mcp/register.py +5 -5
  147. {aiq → nat}/front_ends/mcp/tool_converter.py +20 -21
  148. {aiq → nat}/front_ends/simple_base/simple_front_end_plugin_base.py +6 -6
  149. {aiq → nat}/llm/aws_bedrock_llm.py +5 -5
  150. {aiq → nat}/llm/nim_llm.py +5 -5
  151. {aiq → nat}/llm/openai_llm.py +5 -5
  152. {aiq → nat}/memory/__init__.py +2 -2
  153. nat/meta/pypi.md +58 -0
  154. {aiq → nat}/object_store/__init__.py +2 -2
  155. {aiq → nat}/object_store/in_memory_object_store.py +6 -6
  156. {aiq → nat}/observability/exporter/base_exporter.py +9 -9
  157. {aiq → nat}/observability/exporter/exporter.py +1 -1
  158. {aiq → nat}/observability/exporter/file_exporter.py +6 -6
  159. {aiq → nat}/observability/exporter/processing_exporter.py +9 -9
  160. {aiq → nat}/observability/exporter/raw_exporter.py +4 -4
  161. {aiq → nat}/observability/exporter/span_exporter.py +57 -34
  162. {aiq → nat}/observability/exporter_manager.py +6 -6
  163. {aiq → nat}/observability/mixin/file_mixin.py +2 -2
  164. {aiq → nat}/observability/processor/batching_processor.py +1 -1
  165. {aiq → nat}/observability/processor/callback_processor.py +1 -1
  166. {aiq → nat}/observability/processor/intermediate_step_serializer.py +4 -4
  167. {aiq → nat}/observability/processor/processor.py +1 -1
  168. {aiq → nat}/observability/register.py +7 -7
  169. {aiq → nat}/profiler/calc/calc_runner.py +18 -18
  170. {aiq → nat}/profiler/calc/calculations.py +3 -3
  171. {aiq → nat}/profiler/calc/plot.py +2 -2
  172. {aiq → nat}/profiler/callbacks/agno_callback_handler.py +14 -14
  173. {aiq → nat}/profiler/callbacks/langchain_callback_handler.py +11 -11
  174. {aiq → nat}/profiler/callbacks/llama_index_callback_handler.py +12 -12
  175. {aiq → nat}/profiler/callbacks/semantic_kernel_callback_handler.py +11 -11
  176. {aiq → nat}/profiler/data_models.py +2 -2
  177. {aiq → nat}/profiler/decorators/framework_wrapper.py +6 -6
  178. {aiq → nat}/profiler/decorators/function_tracking.py +10 -10
  179. {aiq → nat}/profiler/forecasting/model_trainer.py +5 -5
  180. {aiq → nat}/profiler/forecasting/models/linear_model.py +5 -4
  181. {aiq → nat}/profiler/forecasting/models/random_forest_regressor.py +5 -4
  182. {aiq → nat}/profiler/inference_optimization/bottleneck_analysis/nested_stack_analysis.py +7 -7
  183. {aiq → nat}/profiler/inference_optimization/bottleneck_analysis/simple_stack_analysis.py +4 -4
  184. {aiq → nat}/profiler/inference_optimization/experimental/concurrency_spike_analysis.py +6 -6
  185. {aiq → nat}/profiler/inference_optimization/experimental/prefix_span_analysis.py +6 -6
  186. {aiq → nat}/profiler/inference_optimization/llm_metrics.py +2 -2
  187. {aiq → nat}/profiler/inference_optimization/prompt_caching.py +5 -5
  188. {aiq → nat}/profiler/inference_optimization/token_uniqueness.py +4 -4
  189. {aiq → nat}/profiler/inference_optimization/workflow_runtimes.py +3 -3
  190. {aiq → nat}/profiler/intermediate_property_adapter.py +3 -3
  191. {aiq → nat}/profiler/profile_runner.py +17 -17
  192. {aiq → nat}/profiler/utils.py +4 -4
  193. {aiq → nat}/registry_handlers/local/local_handler.py +19 -19
  194. {aiq → nat}/registry_handlers/local/register_local.py +4 -4
  195. {aiq → nat}/registry_handlers/metadata_factory.py +7 -7
  196. {aiq → nat}/registry_handlers/package_utils.py +37 -33
  197. {aiq → nat}/registry_handlers/pypi/pypi_handler.py +21 -21
  198. {aiq → nat}/registry_handlers/pypi/register_pypi.py +6 -6
  199. {aiq → nat}/registry_handlers/registry_handler_base.py +21 -21
  200. {aiq → nat}/registry_handlers/rest/register_rest.py +7 -7
  201. {aiq → nat}/registry_handlers/rest/rest_handler.py +19 -19
  202. {aiq → nat}/registry_handlers/schemas/package.py +3 -3
  203. {aiq → nat}/registry_handlers/schemas/publish.py +17 -12
  204. {aiq → nat}/registry_handlers/schemas/pull.py +6 -6
  205. {aiq → nat}/registry_handlers/schemas/remove.py +2 -2
  206. {aiq → nat}/registry_handlers/schemas/search.py +11 -11
  207. {aiq → nat}/retriever/interface.py +6 -2
  208. {aiq → nat}/retriever/milvus/register.py +7 -7
  209. {aiq → nat}/retriever/milvus/retriever.py +8 -8
  210. {aiq → nat}/retriever/models.py +10 -7
  211. {aiq → nat}/retriever/nemo_retriever/register.py +6 -6
  212. {aiq → nat}/retriever/nemo_retriever/retriever.py +10 -10
  213. {aiq/embedder → nat/retriever}/register.py +2 -4
  214. {aiq → nat}/runtime/loader.py +38 -33
  215. {aiq → nat}/runtime/runner.py +30 -25
  216. {aiq → nat}/runtime/session.py +19 -15
  217. {aiq → nat}/runtime/user_metadata.py +1 -1
  218. {aiq → nat}/settings/global_settings.py +11 -11
  219. {aiq → nat}/tool/chat_completion.py +6 -6
  220. {aiq → nat}/tool/code_execution/README.md +2 -2
  221. {aiq → nat}/tool/code_execution/code_sandbox.py +1 -1
  222. {aiq → nat}/tool/code_execution/register.py +5 -5
  223. {aiq → nat}/tool/code_execution/test_code_execution_sandbox.py +1 -1
  224. {aiq → nat}/tool/datetime_tools.py +4 -4
  225. {aiq → nat}/tool/document_search.py +6 -6
  226. {aiq → nat}/tool/github_tools/create_github_commit.py +4 -4
  227. {aiq → nat}/tool/github_tools/create_github_issue.py +4 -4
  228. {aiq → nat}/tool/github_tools/create_github_pr.py +4 -4
  229. {aiq → nat}/tool/github_tools/get_github_file.py +4 -4
  230. {aiq → nat}/tool/github_tools/get_github_issue.py +4 -4
  231. {aiq → nat}/tool/github_tools/get_github_pr.py +4 -4
  232. {aiq → nat}/tool/github_tools/update_github_issue.py +4 -4
  233. {aiq → nat}/tool/mcp/exceptions.py +1 -1
  234. {aiq → nat}/tool/mcp/mcp_client.py +2 -2
  235. {aiq → nat}/tool/mcp/mcp_tool.py +7 -7
  236. {aiq → nat}/tool/memory_tools/add_memory_tool.py +6 -6
  237. {aiq → nat}/tool/memory_tools/delete_memory_tool.py +6 -6
  238. {aiq → nat}/tool/memory_tools/get_memory_tool.py +6 -6
  239. {aiq → nat}/tool/nvidia_rag.py +4 -4
  240. {aiq → nat}/tool/retriever.py +20 -15
  241. {aiq → nat}/tool/server_tools.py +16 -16
  242. {aiq → nat}/utils/dump_distro_mapping.py +2 -2
  243. {aiq → nat}/utils/exception_handlers/mcp.py +8 -8
  244. {aiq → nat}/utils/io/yaml_tools.py +1 -1
  245. {aiq → nat}/utils/metadata_utils.py +2 -2
  246. {aiq → nat}/utils/reactive/base/observable_base.py +2 -2
  247. {aiq → nat}/utils/reactive/base/subject_base.py +1 -1
  248. {aiq → nat}/utils/reactive/observable.py +5 -5
  249. {aiq → nat}/utils/reactive/observer.py +1 -1
  250. {aiq → nat}/utils/reactive/subject.py +4 -4
  251. {aiq → nat}/utils/reactive/subscription.py +1 -1
  252. {aiq → nat}/utils/settings/global_settings.py +4 -4
  253. {aiq → nat}/utils/type_converter.py +1 -1
  254. {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc7.dist-info}/METADATA +37 -37
  255. nvidia_nat-1.2.0rc7.dist-info/RECORD +434 -0
  256. nvidia_nat-1.2.0rc7.dist-info/entry_points.txt +21 -0
  257. nvidia_nat-1.2.0rc7.dist-info/top_level.txt +1 -0
  258. aiq/embedder/langchain_client.py +0 -41
  259. aiq/front_ends/mcp/mcp_front_end_plugin.py +0 -93
  260. aiq/meta/module_to_distro.json +0 -3
  261. aiq/meta/pypi.md +0 -58
  262. nvidia_nat-1.2.0rc5.dist-info/RECORD +0 -435
  263. nvidia_nat-1.2.0rc5.dist-info/entry_points.txt +0 -20
  264. nvidia_nat-1.2.0rc5.dist-info/top_level.txt +0 -1
  265. {aiq → nat}/agent/__init__.py +0 -0
  266. {aiq → nat}/agent/base.py +0 -0
  267. {aiq → nat}/agent/dual_node.py +0 -0
  268. {aiq → nat}/agent/react_agent/__init__.py +0 -0
  269. {aiq → nat}/agent/react_agent/output_parser.py +0 -0
  270. {aiq → nat}/agent/react_agent/prompt.py +0 -0
  271. {aiq → nat}/agent/reasoning_agent/__init__.py +0 -0
  272. {aiq → nat}/agent/register.py +0 -0
  273. {aiq → nat}/agent/rewoo_agent/__init__.py +0 -0
  274. {aiq → nat}/agent/tool_calling_agent/__init__.py +0 -0
  275. {aiq → nat}/authentication/__init__.py +0 -0
  276. {aiq → nat}/authentication/api_key/__init__.py +0 -0
  277. {aiq → nat}/authentication/exceptions/__init__.py +0 -0
  278. {aiq → nat}/authentication/exceptions/api_key_exceptions.py +0 -0
  279. {aiq → nat}/authentication/http_basic_auth/__init__.py +0 -0
  280. {aiq → nat}/authentication/oauth2/__init__.py +0 -0
  281. {aiq → nat}/builder/__init__.py +0 -0
  282. {aiq → nat}/builder/framework_enum.py +0 -0
  283. {aiq → nat}/cli/__init__.py +0 -0
  284. {aiq → nat}/cli/cli_utils/__init__.py +0 -0
  285. {aiq → nat}/cli/commands/__init__.py +0 -0
  286. {aiq → nat}/cli/commands/configure/__init__.py +0 -0
  287. {aiq → nat}/cli/commands/configure/channel/__init__.py +0 -0
  288. {aiq → nat}/cli/commands/info/__init__.py +0 -0
  289. {aiq → nat}/cli/commands/registry/__init__.py +0 -0
  290. {aiq → nat}/cli/commands/sizing/__init__.py +0 -0
  291. {aiq → nat}/cli/commands/sizing/sizing.py +0 -0
  292. {aiq → nat}/cli/commands/workflow/__init__.py +0 -0
  293. {aiq → nat}/cli/commands/workflow/templates/__init__.py.j2 +0 -0
  294. {aiq → nat}/cli/commands/workflow/templates/config.yml.j2 +0 -0
  295. {aiq → nat}/cli/commands/workflow/templates/register.py.j2 +0 -0
  296. {aiq → nat}/data_models/__init__.py +0 -0
  297. {aiq → nat}/data_models/common.py +0 -0
  298. {aiq → nat}/data_models/embedder.py +0 -0
  299. {aiq → nat}/data_models/evaluator.py +0 -0
  300. {aiq → nat}/data_models/front_end.py +0 -0
  301. {aiq → nat}/data_models/function.py +0 -0
  302. {aiq → nat}/data_models/function_dependencies.py +0 -0
  303. {aiq → nat}/data_models/interactive.py +0 -0
  304. {aiq → nat}/data_models/invocation_node.py +0 -0
  305. {aiq → nat}/data_models/llm.py +0 -0
  306. {aiq → nat}/data_models/logging.py +0 -0
  307. {aiq → nat}/data_models/memory.py +0 -0
  308. {aiq → nat}/data_models/object_store.py +0 -0
  309. {aiq → nat}/data_models/profiler.py +0 -0
  310. {aiq → nat}/data_models/registry_handler.py +0 -0
  311. {aiq → nat}/data_models/retry_mixin.py +0 -0
  312. {aiq → nat}/data_models/streaming.py +0 -0
  313. {aiq → nat}/data_models/swe_bench_model.py +0 -0
  314. {aiq → nat}/data_models/ttc_strategy.py +0 -0
  315. {aiq → nat}/embedder/__init__.py +0 -0
  316. {aiq → nat}/eval/__init__.py +0 -0
  317. {aiq → nat}/eval/dataset_handler/__init__.py +0 -0
  318. {aiq → nat}/eval/evaluator/__init__.py +0 -0
  319. {aiq → nat}/eval/rag_evaluator/__init__.py +0 -0
  320. {aiq → nat}/eval/register.py +0 -0
  321. {aiq → nat}/eval/runners/__init__.py +0 -0
  322. {aiq → nat}/eval/swe_bench_evaluator/__init__.py +0 -0
  323. {aiq → nat}/eval/trajectory_evaluator/__init__.py +0 -0
  324. {aiq → nat}/eval/tunable_rag_evaluator/__init__.py +0 -0
  325. {aiq → nat}/eval/usage_stats.py +0 -0
  326. {aiq → nat}/eval/utils/__init__.py +0 -0
  327. {aiq → nat}/eval/utils/tqdm_position_registry.py +0 -0
  328. {aiq → nat}/experimental/__init__.py +0 -0
  329. {aiq → nat}/experimental/decorators/__init__.py +0 -0
  330. {aiq → nat}/experimental/test_time_compute/__init__.py +0 -0
  331. {aiq → nat}/experimental/test_time_compute/editing/__init__.py +0 -0
  332. {aiq → nat}/experimental/test_time_compute/functions/__init__.py +0 -0
  333. {aiq → nat}/experimental/test_time_compute/models/__init__.py +0 -0
  334. {aiq → nat}/experimental/test_time_compute/models/stage_enums.py +0 -0
  335. {aiq → nat}/experimental/test_time_compute/models/tool_use_config.py +0 -0
  336. {aiq → nat}/experimental/test_time_compute/models/ttc_item.py +0 -0
  337. {aiq → nat}/experimental/test_time_compute/scoring/__init__.py +0 -0
  338. {aiq → nat}/experimental/test_time_compute/search/__init__.py +0 -0
  339. {aiq → nat}/experimental/test_time_compute/selection/__init__.py +0 -0
  340. {aiq → nat}/front_ends/__init__.py +0 -0
  341. {aiq → nat}/front_ends/console/__init__.py +0 -0
  342. {aiq → nat}/front_ends/cron/__init__.py +0 -0
  343. {aiq → nat}/front_ends/fastapi/__init__.py +0 -0
  344. {aiq → nat}/front_ends/fastapi/auth_flow_handlers/__init__.py +0 -0
  345. {aiq → nat}/front_ends/fastapi/fastapi_front_end_controller.py +0 -0
  346. {aiq → nat}/front_ends/fastapi/html_snippets/__init__.py +0 -0
  347. {aiq → nat}/front_ends/fastapi/html_snippets/auth_code_grant_success.py +0 -0
  348. {aiq → nat}/front_ends/fastapi/job_store.py +0 -0
  349. {aiq → nat}/front_ends/mcp/__init__.py +0 -0
  350. {aiq → nat}/front_ends/register.py +0 -0
  351. {aiq → nat}/front_ends/simple_base/__init__.py +0 -0
  352. {aiq → nat}/llm/__init__.py +0 -0
  353. {aiq → nat}/llm/register.py +0 -0
  354. {aiq → nat}/llm/utils/__init__.py +0 -0
  355. {aiq → nat}/llm/utils/env_config_value.py +0 -0
  356. {aiq → nat}/llm/utils/error.py +0 -0
  357. {aiq → nat}/memory/interfaces.py +0 -0
  358. {aiq → nat}/memory/models.py +0 -0
  359. {aiq → nat}/object_store/interfaces.py +0 -0
  360. {aiq → nat}/object_store/models.py +0 -0
  361. {aiq → nat}/object_store/register.py +0 -0
  362. {aiq → nat}/observability/__init__.py +0 -0
  363. {aiq → nat}/observability/exporter/__init__.py +0 -0
  364. {aiq → nat}/observability/mixin/__init__.py +0 -0
  365. {aiq → nat}/observability/mixin/batch_config_mixin.py +0 -0
  366. {aiq → nat}/observability/mixin/collector_config_mixin.py +0 -0
  367. {aiq → nat}/observability/mixin/file_mode.py +0 -0
  368. {aiq → nat}/observability/mixin/resource_conflict_mixin.py +0 -0
  369. {aiq → nat}/observability/mixin/serialize_mixin.py +0 -0
  370. {aiq → nat}/observability/mixin/type_introspection_mixin.py +0 -0
  371. {aiq → nat}/observability/processor/__init__.py +0 -0
  372. {aiq → nat}/observability/utils/__init__.py +0 -0
  373. {aiq → nat}/observability/utils/dict_utils.py +0 -0
  374. {aiq → nat}/observability/utils/time_utils.py +0 -0
  375. {aiq → nat}/plugins/.namespace +0 -0
  376. {aiq → nat}/profiler/__init__.py +0 -0
  377. {aiq → nat}/profiler/calc/__init__.py +0 -0
  378. {aiq → nat}/profiler/calc/data_models.py +0 -0
  379. {aiq → nat}/profiler/callbacks/__init__.py +0 -0
  380. {aiq → nat}/profiler/callbacks/base_callback_class.py +0 -0
  381. {aiq → nat}/profiler/callbacks/token_usage_base_model.py +0 -0
  382. {aiq → nat}/profiler/data_frame_row.py +0 -0
  383. {aiq → nat}/profiler/decorators/__init__.py +0 -0
  384. {aiq → nat}/profiler/forecasting/__init__.py +0 -0
  385. {aiq → nat}/profiler/forecasting/config.py +0 -0
  386. {aiq → nat}/profiler/forecasting/models/__init__.py +0 -0
  387. {aiq → nat}/profiler/forecasting/models/forecasting_base_model.py +0 -0
  388. {aiq → nat}/profiler/inference_metrics_model.py +0 -0
  389. {aiq → nat}/profiler/inference_optimization/__init__.py +0 -0
  390. {aiq → nat}/profiler/inference_optimization/bottleneck_analysis/__init__.py +0 -0
  391. {aiq → nat}/profiler/inference_optimization/data_models.py +0 -0
  392. {aiq → nat}/profiler/inference_optimization/experimental/__init__.py +0 -0
  393. {aiq → nat}/registry_handlers/__init__.py +0 -0
  394. {aiq → nat}/registry_handlers/local/__init__.py +0 -0
  395. {aiq → nat}/registry_handlers/pypi/__init__.py +0 -0
  396. {aiq → nat}/registry_handlers/register.py +0 -0
  397. {aiq → nat}/registry_handlers/rest/__init__.py +0 -0
  398. {aiq → nat}/registry_handlers/schemas/__init__.py +0 -0
  399. {aiq → nat}/registry_handlers/schemas/headers.py +0 -0
  400. {aiq → nat}/registry_handlers/schemas/status.py +0 -0
  401. {aiq → nat}/retriever/__init__.py +0 -0
  402. {aiq → nat}/retriever/milvus/__init__.py +0 -0
  403. {aiq → nat}/retriever/nemo_retriever/__init__.py +0 -0
  404. {aiq → nat}/runtime/__init__.py +0 -0
  405. {aiq → nat}/settings/__init__.py +0 -0
  406. {aiq → nat}/test/.namespace +0 -0
  407. {aiq → nat}/tool/__init__.py +0 -0
  408. {aiq → nat}/tool/code_execution/__init__.py +0 -0
  409. {aiq → nat}/tool/code_execution/local_sandbox/.gitignore +0 -0
  410. {aiq → nat}/tool/code_execution/local_sandbox/Dockerfile.sandbox +0 -0
  411. {aiq → nat}/tool/code_execution/local_sandbox/__init__.py +0 -0
  412. {aiq → nat}/tool/code_execution/local_sandbox/local_sandbox_server.py +0 -0
  413. {aiq → nat}/tool/code_execution/local_sandbox/sandbox.requirements.txt +0 -0
  414. {aiq → nat}/tool/code_execution/local_sandbox/start_local_sandbox.sh +0 -0
  415. {aiq → nat}/tool/code_execution/utils.py +0 -0
  416. {aiq → nat}/tool/github_tools/__init__.py +0 -0
  417. {aiq → nat}/tool/mcp/__init__.py +0 -0
  418. {aiq → nat}/tool/memory_tools/__init__.py +0 -0
  419. {aiq → nat}/tool/register.py +0 -0
  420. {aiq → nat}/utils/__init__.py +0 -0
  421. {aiq → nat}/utils/data_models/__init__.py +0 -0
  422. {aiq → nat}/utils/data_models/schema_validator.py +0 -0
  423. {aiq → nat}/utils/debugging_utils.py +0 -0
  424. {aiq → nat}/utils/exception_handlers/__init__.py +0 -0
  425. {aiq → nat}/utils/exception_handlers/automatic_retries.py +0 -0
  426. {aiq → nat}/utils/exception_handlers/schemas.py +0 -0
  427. {aiq → nat}/utils/io/__init__.py +0 -0
  428. {aiq → nat}/utils/io/model_processing.py +0 -0
  429. {aiq → nat}/utils/log_utils.py +0 -0
  430. {aiq → nat}/utils/optional_imports.py +0 -0
  431. {aiq → nat}/utils/producer_consumer_queue.py +0 -0
  432. {aiq → nat}/utils/reactive/__init__.py +0 -0
  433. {aiq → nat}/utils/reactive/base/__init__.py +0 -0
  434. {aiq → nat}/utils/reactive/base/observer_base.py +0 -0
  435. {aiq → nat}/utils/settings/__init__.py +0 -0
  436. {aiq → nat}/utils/string_utils.py +0 -0
  437. {aiq → nat}/utils/type_utils.py +0 -0
  438. {aiq → nat}/utils/url_utils.py +0 -0
  439. {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc7.dist-info}/WHEEL +0 -0
  440. {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc7.dist-info}/licenses/LICENSE-3rd-party.txt +0 -0
  441. {nvidia_nat-1.2.0rc5.dist-info → nvidia_nat-1.2.0rc7.dist-info}/licenses/LICENSE.md +0 -0
@@ -23,15 +23,15 @@ from uuid import uuid4
23
23
 
24
24
  import litellm
25
25
 
26
- from aiq.builder.context import AIQContext
27
- from aiq.builder.framework_enum import LLMFrameworkEnum
28
- from aiq.data_models.intermediate_step import IntermediateStepPayload
29
- from aiq.data_models.intermediate_step import IntermediateStepType
30
- from aiq.data_models.intermediate_step import StreamEventData
31
- from aiq.data_models.intermediate_step import TraceMetadata
32
- from aiq.data_models.intermediate_step import UsageInfo
33
- from aiq.profiler.callbacks.base_callback_class import BaseProfilerCallback
34
- from aiq.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
26
+ from nat.builder.context import Context
27
+ from nat.builder.framework_enum import LLMFrameworkEnum
28
+ from nat.data_models.intermediate_step import IntermediateStepPayload
29
+ from nat.data_models.intermediate_step import IntermediateStepType
30
+ from nat.data_models.intermediate_step import StreamEventData
31
+ from nat.data_models.intermediate_step import TraceMetadata
32
+ from nat.data_models.intermediate_step import UsageInfo
33
+ from nat.profiler.callbacks.base_callback_class import BaseProfilerCallback
34
+ from nat.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
35
35
 
36
36
  logger = logging.getLogger(__name__)
37
37
 
@@ -44,14 +44,14 @@ class AgnoProfilerHandler(BaseProfilerCallback):
44
44
  - LLM Calls
45
45
 
46
46
  to collect usage statistics (tokens, inputs, outputs, time intervals, etc.)
47
- and store them in AIQ Toolkit's usage_stats queue for subsequent analysis.
47
+ and store them in NAT's usage_stats queue for subsequent analysis.
48
48
  """
49
49
 
50
50
  def __init__(self) -> None:
51
51
  super().__init__()
52
52
  self._lock = threading.Lock()
53
53
  self.last_call_ts = time.time()
54
- self.step_manager = AIQContext.get().intermediate_step_manager
54
+ self.step_manager = Context.get().intermediate_step_manager
55
55
 
56
56
  # Original references to Agno methods (for uninstrumenting if needed)
57
57
  self._original_tool_execute = None
@@ -73,8 +73,8 @@ class AgnoProfilerHandler(BaseProfilerCallback):
73
73
 
74
74
  # Note: Agno doesn't have a class-based tool structure to patch directly.
75
75
  # Instead, it uses decorators to convert functions to tools.
76
- # In AIQ Toolkit, tool executions are captured at the execute_agno_tool level
77
- # in packages/aiqtoolkit_agno/src/aiq/plugins/agno/tool_wrapper.py
76
+ # In NAT, tool executions are captured at the execute_agno_tool level
77
+ # in packages/nvidia_nat_agno/src/nat/plugins/agno/tool_wrapper.py
78
78
 
79
79
  # To properly monitor Agno tool executions, we would need to either:
80
80
  # 1. Patch the execute_agno_tool function in tool_wrapper.py
@@ -83,7 +83,7 @@ class AgnoProfilerHandler(BaseProfilerCallback):
83
83
  # to patch those classes
84
84
 
85
85
  # Recommended future enhancement:
86
- # The execute_agno_tool function in packages/aiqtoolkit_agno/src/aiq/plugins/agno/tool_wrapper.py
86
+ # The execute_agno_tool function in packages/nvidia_nat_agno/src/nat/plugins/agno/tool_wrapper.py
87
87
  # should be updated to directly push IntermediateStepPayload events to the step manager
88
88
  # at the beginning and end of tool execution, similar to what this handler does for LLM calls.
89
89
 
@@ -29,16 +29,16 @@ from langchain_core.messages import BaseMessage
29
29
  from langchain_core.outputs import ChatGeneration
30
30
  from langchain_core.outputs import LLMResult
31
31
 
32
- from aiq.builder.context import AIQContext
33
- from aiq.builder.framework_enum import LLMFrameworkEnum
34
- from aiq.data_models.intermediate_step import IntermediateStepPayload
35
- from aiq.data_models.intermediate_step import IntermediateStepType
36
- from aiq.data_models.intermediate_step import StreamEventData
37
- from aiq.data_models.intermediate_step import ToolSchema
38
- from aiq.data_models.intermediate_step import TraceMetadata
39
- from aiq.data_models.intermediate_step import UsageInfo
40
- from aiq.profiler.callbacks.base_callback_class import BaseProfilerCallback
41
- from aiq.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
32
+ from nat.builder.context import Context
33
+ from nat.builder.framework_enum import LLMFrameworkEnum
34
+ from nat.data_models.intermediate_step import IntermediateStepPayload
35
+ from nat.data_models.intermediate_step import IntermediateStepType
36
+ from nat.data_models.intermediate_step import StreamEventData
37
+ from nat.data_models.intermediate_step import ToolSchema
38
+ from nat.data_models.intermediate_step import TraceMetadata
39
+ from nat.data_models.intermediate_step import UsageInfo
40
+ from nat.profiler.callbacks.base_callback_class import BaseProfilerCallback
41
+ from nat.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
42
42
 
43
43
  logger = logging.getLogger(__name__)
44
44
 
@@ -68,7 +68,7 @@ class LangchainProfilerHandler(AsyncCallbackHandler, BaseProfilerCallback): # p
68
68
  self._lock = threading.Lock()
69
69
  self.last_call_ts = time.time()
70
70
 
71
- self.step_manager = AIQContext.get().intermediate_step_manager
71
+ self.step_manager = Context.get().intermediate_step_manager
72
72
  self._state = IntermediateStepType.LLM_END
73
73
 
74
74
  self._run_id_to_model_name = {}
@@ -26,15 +26,15 @@ from llama_index.core.callbacks import EventPayload
26
26
  from llama_index.core.callbacks.base_handler import BaseCallbackHandler
27
27
  from llama_index.core.llms import ChatResponse
28
28
 
29
- from aiq.builder.context import AIQContext
30
- from aiq.builder.framework_enum import LLMFrameworkEnum
31
- from aiq.data_models.intermediate_step import IntermediateStepPayload
32
- from aiq.data_models.intermediate_step import IntermediateStepType
33
- from aiq.data_models.intermediate_step import StreamEventData
34
- from aiq.data_models.intermediate_step import TraceMetadata
35
- from aiq.data_models.intermediate_step import UsageInfo
36
- from aiq.profiler.callbacks.base_callback_class import BaseProfilerCallback
37
- from aiq.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
29
+ from nat.builder.context import Context
30
+ from nat.builder.framework_enum import LLMFrameworkEnum
31
+ from nat.data_models.intermediate_step import IntermediateStepPayload
32
+ from nat.data_models.intermediate_step import IntermediateStepType
33
+ from nat.data_models.intermediate_step import StreamEventData
34
+ from nat.data_models.intermediate_step import TraceMetadata
35
+ from nat.data_models.intermediate_step import UsageInfo
36
+ from nat.profiler.callbacks.base_callback_class import BaseProfilerCallback
37
+ from nat.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
38
38
 
39
39
  logger = logging.getLogger(__name__)
40
40
 
@@ -49,7 +49,7 @@ class LlamaIndexProfilerHandler(BaseCallbackHandler, BaseProfilerCallback):
49
49
  - Response data
50
50
  - Time intervals between calls
51
51
 
52
- and appends them to AIQContextState.usage_stats.
52
+ and appends them to ContextState.usage_stats.
53
53
  """
54
54
 
55
55
  def __init__(self) -> None:
@@ -58,7 +58,7 @@ class LlamaIndexProfilerHandler(BaseCallbackHandler, BaseProfilerCallback):
58
58
  self._lock = threading.Lock()
59
59
  self.last_call_ts = time.time()
60
60
  self._last_tool_map: dict[str, str] = {}
61
- self.step_manager = AIQContext.get().intermediate_step_manager
61
+ self.step_manager = Context.get().intermediate_step_manager
62
62
 
63
63
  self._run_id_to_llm_input = {}
64
64
  self._run_id_to_tool_input = {}
@@ -167,7 +167,7 @@ class LlamaIndexProfilerHandler(BaseCallbackHandler, BaseProfilerCallback):
167
167
  except Exception as e:
168
168
  logger.exception("Error getting model name: %s", e, exc_info=True)
169
169
 
170
- # Append usage data to AIQ Toolkit usage stats
170
+ # Append usage data to NAT usage stats
171
171
  with self._lock:
172
172
  stats = IntermediateStepPayload(
173
173
  event_type=IntermediateStepType.LLM_END,
@@ -26,15 +26,15 @@ from pydantic import BaseModel
26
26
  from pydantic import Field
27
27
  from semantic_kernel.connectors.ai.open_ai.services.open_ai_chat_completion_base import OpenAIChatCompletionBase
28
28
 
29
- from aiq.builder.context import AIQContext
30
- from aiq.builder.framework_enum import LLMFrameworkEnum
31
- from aiq.data_models.intermediate_step import IntermediateStepPayload
32
- from aiq.data_models.intermediate_step import IntermediateStepType
33
- from aiq.data_models.intermediate_step import StreamEventData
34
- from aiq.data_models.intermediate_step import TraceMetadata
35
- from aiq.data_models.intermediate_step import UsageInfo
36
- from aiq.profiler.callbacks.base_callback_class import BaseProfilerCallback
37
- from aiq.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
29
+ from nat.builder.context import Context
30
+ from nat.builder.framework_enum import LLMFrameworkEnum
31
+ from nat.data_models.intermediate_step import IntermediateStepPayload
32
+ from nat.data_models.intermediate_step import IntermediateStepType
33
+ from nat.data_models.intermediate_step import StreamEventData
34
+ from nat.data_models.intermediate_step import TraceMetadata
35
+ from nat.data_models.intermediate_step import UsageInfo
36
+ from nat.profiler.callbacks.base_callback_class import BaseProfilerCallback
37
+ from nat.profiler.callbacks.token_usage_base_model import TokenUsageBaseModel
38
38
 
39
39
  logger = logging.getLogger(__name__)
40
40
 
@@ -55,14 +55,14 @@ class SemanticKernelProfilerHandler(BaseProfilerCallback):
55
55
  - Tool calls
56
56
 
57
57
  to collect usage statistics (tokens, inputs, outputs, time intervals, etc.)
58
- and store them in AIQ Toolkit's usage_stats queue for subsequent analysis.
58
+ and store them in NAT's usage_stats queue for subsequent analysis.
59
59
  """
60
60
 
61
61
  def __init__(self, workflow_llms: dict) -> None:
62
62
  super().__init__()
63
63
  self._lock = threading.Lock()
64
64
  self.last_call_ts = time.time()
65
- self.step_manager = AIQContext.get().intermediate_step_manager
65
+ self.step_manager = Context.get().intermediate_step_manager
66
66
  self._builder_llms = workflow_llms
67
67
 
68
68
  # Original references to SK methods
@@ -15,8 +15,8 @@
15
15
 
16
16
  from pydantic import BaseModel
17
17
 
18
- from aiq.profiler.inference_metrics_model import InferenceMetricsModel
19
- from aiq.profiler.inference_optimization.data_models import WorkflowRuntimeMetrics
18
+ from nat.profiler.inference_metrics_model import InferenceMetricsModel
19
+ from nat.profiler.inference_optimization.data_models import WorkflowRuntimeMetrics
20
20
 
21
21
 
22
22
  class ProfilerResults(BaseModel):
@@ -25,7 +25,7 @@ from contextlib import asynccontextmanager
25
25
  from contextvars import ContextVar
26
26
  from typing import Any
27
27
 
28
- from aiq.builder.framework_enum import LLMFrameworkEnum
28
+ from nat.builder.framework_enum import LLMFrameworkEnum
29
29
 
30
30
  logger = logging.getLogger(__name__)
31
31
 
@@ -56,7 +56,7 @@ def set_framework_profiler_handler(
56
56
  if LLMFrameworkEnum.LANGCHAIN in frameworks and not _library_instrumented["langchain"]:
57
57
  from langchain_core.tracers.context import register_configure_hook
58
58
 
59
- from aiq.profiler.callbacks.langchain_callback_handler import LangchainProfilerHandler
59
+ from nat.profiler.callbacks.langchain_callback_handler import LangchainProfilerHandler
60
60
 
61
61
  handler = LangchainProfilerHandler()
62
62
  callback_handler_var.set(handler)
@@ -68,14 +68,14 @@ def set_framework_profiler_handler(
68
68
  from llama_index.core import Settings
69
69
  from llama_index.core.callbacks import CallbackManager
70
70
 
71
- from aiq.profiler.callbacks.llama_index_callback_handler import LlamaIndexProfilerHandler
71
+ from nat.profiler.callbacks.llama_index_callback_handler import LlamaIndexProfilerHandler
72
72
 
73
73
  handler = LlamaIndexProfilerHandler()
74
74
  Settings.callback_manager = CallbackManager([handler])
75
75
  logger.debug("LlamaIndex callback handler registered")
76
76
 
77
77
  if LLMFrameworkEnum.CREWAI in frameworks and not _library_instrumented["crewai"]:
78
- from aiq.plugins.crewai.crewai_callback_handler import \
78
+ from nat.plugins.crewai.crewai_callback_handler import \
79
79
  CrewAIProfilerHandler # pylint: disable=ungrouped-imports,line-too-long # noqa E501
80
80
 
81
81
  handler = CrewAIProfilerHandler()
@@ -84,7 +84,7 @@ def set_framework_profiler_handler(
84
84
  logger.debug("CrewAI callback handler registered")
85
85
 
86
86
  if LLMFrameworkEnum.SEMANTIC_KERNEL in frameworks and not _library_instrumented["semantic_kernel"]:
87
- from aiq.profiler.callbacks.semantic_kernel_callback_handler import SemanticKernelProfilerHandler
87
+ from nat.profiler.callbacks.semantic_kernel_callback_handler import SemanticKernelProfilerHandler
88
88
 
89
89
  handler = SemanticKernelProfilerHandler(workflow_llms=workflow_llms)
90
90
  handler.instrument()
@@ -92,7 +92,7 @@ def set_framework_profiler_handler(
92
92
  logger.debug("SemanticKernel callback handler registered")
93
93
 
94
94
  if LLMFrameworkEnum.AGNO in frameworks and not _library_instrumented["agno"]:
95
- from aiq.profiler.callbacks.agno_callback_handler import AgnoProfilerHandler
95
+ from nat.profiler.callbacks.agno_callback_handler import AgnoProfilerHandler
96
96
 
97
97
  handler = AgnoProfilerHandler()
98
98
  handler.instrument()
@@ -20,11 +20,11 @@ from typing import Any
20
20
 
21
21
  from pydantic import BaseModel
22
22
 
23
- from aiq.builder.context import AIQContext
24
- from aiq.builder.intermediate_step_manager import IntermediateStepManager
25
- from aiq.data_models.intermediate_step import IntermediateStepPayload
26
- from aiq.data_models.intermediate_step import IntermediateStepType
27
- from aiq.data_models.intermediate_step import TraceMetadata
23
+ from nat.builder.context import Context
24
+ from nat.builder.intermediate_step_manager import IntermediateStepManager
25
+ from nat.data_models.intermediate_step import IntermediateStepPayload
26
+ from nat.data_models.intermediate_step import IntermediateStepType
27
+ from nat.data_models.intermediate_step import TraceMetadata
28
28
 
29
29
 
30
30
  # --- Helper function to recursively serialize any object into JSON-friendly data ---
@@ -61,7 +61,7 @@ def push_intermediate_step(step_manager: IntermediateStepManager,
61
61
  kwargs: Any = None,
62
62
  output: Any = None,
63
63
  metadata: dict[str, Any] | None = None) -> None:
64
- """Push an intermediate step to the AIQ Toolkit Event Stream."""
64
+ """Push an intermediate step to the NAT Event Stream."""
65
65
 
66
66
  payload = IntermediateStepPayload(UUID=identifier,
67
67
  event_type=event_type,
@@ -110,7 +110,7 @@ def track_function(func: Any = None, *, metadata: dict[str, Any] | None = None):
110
110
 
111
111
  @functools.wraps(func)
112
112
  async def async_gen_wrapper(*args, **kwargs):
113
- step_manager: IntermediateStepManager = AIQContext.get().intermediate_step_manager
113
+ step_manager: IntermediateStepManager = Context.get().intermediate_step_manager
114
114
  # 1) Serialize input
115
115
  serialized_args, serialized_kwargs = _prepare_serialized_args_kwargs(*args, **kwargs)
116
116
 
@@ -156,7 +156,7 @@ def track_function(func: Any = None, *, metadata: dict[str, Any] | None = None):
156
156
  # ---------------------
157
157
  @functools.wraps(func)
158
158
  async def async_wrapper(*args, **kwargs):
159
- step_manager: IntermediateStepManager = AIQContext.get().intermediate_step_manager
159
+ step_manager: IntermediateStepManager = Context.get().intermediate_step_manager
160
160
  serialized_args, serialized_kwargs = _prepare_serialized_args_kwargs(*args, **kwargs)
161
161
  invocation_id = str(uuid.uuid4())
162
162
  push_intermediate_step(step_manager,
@@ -189,7 +189,7 @@ def track_function(func: Any = None, *, metadata: dict[str, Any] | None = None):
189
189
  # ---------------------
190
190
  @functools.wraps(func)
191
191
  def sync_gen_wrapper(*args, **kwargs):
192
- step_manager: IntermediateStepManager = AIQContext.get().intermediate_step_manager
192
+ step_manager: IntermediateStepManager = Context.get().intermediate_step_manager
193
193
  serialized_args, serialized_kwargs = _prepare_serialized_args_kwargs(*args, **kwargs)
194
194
  invocation_id = str(uuid.uuid4())
195
195
  push_intermediate_step(step_manager,
@@ -226,7 +226,7 @@ def track_function(func: Any = None, *, metadata: dict[str, Any] | None = None):
226
226
 
227
227
  @functools.wraps(func)
228
228
  def sync_wrapper(*args, **kwargs):
229
- step_manager: IntermediateStepManager = AIQContext.get().intermediate_step_manager
229
+ step_manager: IntermediateStepManager = Context.get().intermediate_step_manager
230
230
  serialized_args, serialized_kwargs = _prepare_serialized_args_kwargs(*args, **kwargs)
231
231
  invocation_id = str(uuid.uuid4())
232
232
  push_intermediate_step(step_manager,
@@ -17,11 +17,11 @@
17
17
 
18
18
  import logging
19
19
 
20
- from aiq.profiler.forecasting.config import DEFAULT_MODEL_TYPE
21
- from aiq.profiler.forecasting.models import ForecastingBaseModel
22
- from aiq.profiler.forecasting.models import LinearModel
23
- from aiq.profiler.forecasting.models import RandomForestModel
24
- from aiq.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
20
+ from nat.profiler.forecasting.config import DEFAULT_MODEL_TYPE
21
+ from nat.profiler.forecasting.models import ForecastingBaseModel
22
+ from nat.profiler.forecasting.models import LinearModel
23
+ from nat.profiler.forecasting.models import RandomForestModel
24
+ from nat.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
25
25
 
26
26
  logger = logging.getLogger(__name__)
27
27
 
@@ -17,8 +17,8 @@ import logging
17
17
 
18
18
  import numpy as np
19
19
 
20
- from aiq.profiler.forecasting.models.forecasting_base_model import ForecastingBaseModel
21
- from aiq.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
20
+ from nat.profiler.forecasting.models.forecasting_base_model import ForecastingBaseModel
21
+ from nat.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
22
22
 
23
23
  logger = logging.getLogger(__name__)
24
24
 
@@ -34,8 +34,9 @@ class LinearModel(ForecastingBaseModel):
34
34
  try:
35
35
  from sklearn.linear_model import LinearRegression
36
36
  except ImportError:
37
- logger.error("scikit-learn is not installed. Please install scikit-learn to use the LinearModel "
38
- "profiling model or install `aiq[profiler]` to install all necessary profiling packages.")
37
+ logger.error(
38
+ "scikit-learn is not installed. Please install scikit-learn to use the LinearModel "
39
+ "profiling model or install `nvidia-nat[profiler]` to install all necessary profiling packages.")
39
40
 
40
41
  raise
41
42
 
@@ -17,8 +17,8 @@ import logging
17
17
 
18
18
  import numpy as np
19
19
 
20
- from aiq.profiler.forecasting.models.forecasting_base_model import ForecastingBaseModel
21
- from aiq.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
20
+ from nat.profiler.forecasting.models.forecasting_base_model import ForecastingBaseModel
21
+ from nat.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
22
22
 
23
23
  logger = logging.getLogger(__name__)
24
24
 
@@ -34,8 +34,9 @@ class RandomForestModel(ForecastingBaseModel):
34
34
  try:
35
35
  from sklearn.ensemble import RandomForestRegressor
36
36
  except ImportError:
37
- logger.error("scikit-learn is not installed. Please install scikit-learn to use the RandomForest "
38
- "profiling model or install `aiq[profiler]` to install all necessary profiling packages.")
37
+ logger.error(
38
+ "scikit-learn is not installed. Please install scikit-learn to use the RandomForest "
39
+ "profiling model or install `nvidia-nat[profiler]` to install all necessary profiling packages.")
39
40
 
40
41
  raise
41
42
 
@@ -34,12 +34,12 @@ import os
34
34
 
35
35
  import pandas as pd
36
36
 
37
- from aiq.data_models.intermediate_step import IntermediateStep
38
- from aiq.profiler.inference_optimization.data_models import CallNode
39
- from aiq.profiler.inference_optimization.data_models import ConcurrencyDistribution
40
- from aiq.profiler.inference_optimization.data_models import NestedCallProfilingResult
41
- from aiq.profiler.inference_optimization.data_models import NodeMetrics
42
- from aiq.profiler.utils import create_standardized_dataframe
37
+ from nat.data_models.intermediate_step import IntermediateStep
38
+ from nat.profiler.inference_optimization.data_models import CallNode
39
+ from nat.profiler.inference_optimization.data_models import ConcurrencyDistribution
40
+ from nat.profiler.inference_optimization.data_models import NestedCallProfilingResult
41
+ from nat.profiler.inference_optimization.data_models import NodeMetrics
42
+ from nat.profiler.utils import create_standardized_dataframe
43
43
 
44
44
  logger = logging.getLogger(__name__)
45
45
 
@@ -304,7 +304,7 @@ def save_gantt_chart(all_nodes: list[CallNode], output_path: str) -> None:
304
304
  import matplotlib.pyplot as plt
305
305
  except ImportError:
306
306
  logger.error("matplotlib is not installed. Please install matplotlib to use generate plots for the profiler "
307
- "or install `aiq[profiler]` to install all necessary profiling packages.")
307
+ "or install `nvidia-nat[profiler]` to install all necessary profiling packages.")
308
308
 
309
309
  raise
310
310
 
@@ -28,10 +28,10 @@ then analyze concurrency and produce a summary report.
28
28
  import numpy as np
29
29
  import pandas as pd
30
30
 
31
- from aiq.data_models.intermediate_step import IntermediateStep
32
- from aiq.profiler.inference_optimization.data_models import SimpleBottleneckReport
33
- from aiq.profiler.inference_optimization.data_models import SimpleOperationStats
34
- from aiq.profiler.utils import create_standardized_dataframe
31
+ from nat.data_models.intermediate_step import IntermediateStep
32
+ from nat.profiler.inference_optimization.data_models import SimpleBottleneckReport
33
+ from nat.profiler.inference_optimization.data_models import SimpleOperationStats
34
+ from nat.profiler.utils import create_standardized_dataframe
35
35
 
36
36
 
37
37
  # ----------------------------------------------------------------------
@@ -34,12 +34,12 @@ Changes from previous version:
34
34
  import numpy as np
35
35
  import pandas as pd
36
36
 
37
- from aiq.data_models.intermediate_step import IntermediateStep
38
- from aiq.profiler.inference_optimization.data_models import ConcurrencyAnalysisResult
39
- from aiq.profiler.inference_optimization.data_models import ConcurrencyCallNode
40
- from aiq.profiler.inference_optimization.data_models import ConcurrencyCorrelationStats
41
- from aiq.profiler.inference_optimization.data_models import ConcurrencySpikeInfo
42
- from aiq.profiler.utils import create_standardized_dataframe
37
+ from nat.data_models.intermediate_step import IntermediateStep
38
+ from nat.profiler.inference_optimization.data_models import ConcurrencyAnalysisResult
39
+ from nat.profiler.inference_optimization.data_models import ConcurrencyCallNode
40
+ from nat.profiler.inference_optimization.data_models import ConcurrencyCorrelationStats
41
+ from nat.profiler.inference_optimization.data_models import ConcurrencySpikeInfo
42
+ from nat.profiler.utils import create_standardized_dataframe
43
43
 
44
44
  # --------------------------------------------------------------------------------
45
45
  # 1) Building the Per-Example Call Trees
@@ -32,11 +32,11 @@ import logging
32
32
  import numpy as np
33
33
  import pandas as pd
34
34
 
35
- from aiq.data_models.intermediate_step import IntermediateStep
36
- from aiq.profiler.inference_optimization.data_models import FrequentPattern
37
- from aiq.profiler.inference_optimization.data_models import PrefixCallNode
38
- from aiq.profiler.inference_optimization.data_models import PrefixSpanSubworkflowResult
39
- from aiq.profiler.utils import create_standardized_dataframe
35
+ from nat.data_models.intermediate_step import IntermediateStep
36
+ from nat.profiler.inference_optimization.data_models import FrequentPattern
37
+ from nat.profiler.inference_optimization.data_models import PrefixCallNode
38
+ from nat.profiler.inference_optimization.data_models import PrefixSpanSubworkflowResult
39
+ from nat.profiler.utils import create_standardized_dataframe
40
40
 
41
41
  logger = logging.getLogger(__name__)
42
42
 
@@ -212,7 +212,7 @@ def run_prefixspan(sequences_map: dict[int, list[PrefixCallNode]],
212
212
  from prefixspan import PrefixSpan
213
213
  except ImportError:
214
214
  logger.error("prefixspan is not installed. Please install prefixspan to run the prefix analysis in the "
215
- "profiler or install `aiq[profiler]` to install all necessary profiling packages.")
215
+ "profiler or install `nvidia-nat[profiler]` to install all necessary profiling packages.")
216
216
 
217
217
  raise
218
218
 
@@ -16,8 +16,8 @@
16
16
  import numpy as np
17
17
  import pandas as pd
18
18
 
19
- from aiq.data_models.intermediate_step import IntermediateStep
20
- from aiq.profiler.utils import create_standardized_dataframe
19
+ from nat.data_models.intermediate_step import IntermediateStep
20
+ from nat.profiler.utils import create_standardized_dataframe
21
21
 
22
22
 
23
23
  class LLMMetrics:
@@ -13,11 +13,11 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- from aiq.data_models.intermediate_step import IntermediateStep
17
- from aiq.profiler.inference_optimization.data_models import CommonPrefixesOutput
18
- from aiq.profiler.inference_optimization.data_models import FrameworkLLMPrefixData
19
- from aiq.profiler.inference_optimization.data_models import PrefixInfo
20
- from aiq.profiler.utils import create_standardized_dataframe
16
+ from nat.data_models.intermediate_step import IntermediateStep
17
+ from nat.profiler.inference_optimization.data_models import CommonPrefixesOutput
18
+ from nat.profiler.inference_optimization.data_models import FrameworkLLMPrefixData
19
+ from nat.profiler.inference_optimization.data_models import PrefixInfo
20
+ from nat.profiler.utils import create_standardized_dataframe
21
21
 
22
22
 
23
23
  # -----------------------------------------------------------
@@ -17,10 +17,10 @@ import re
17
17
 
18
18
  import numpy as np
19
19
 
20
- from aiq.data_models.intermediate_step import IntermediateStep
21
- from aiq.profiler.inference_optimization.data_models import LLMUniquenessMetrics
22
- from aiq.profiler.inference_optimization.data_models import LLMUniquenessMetricsByLLM
23
- from aiq.profiler.utils import create_standardized_dataframe
20
+ from nat.data_models.intermediate_step import IntermediateStep
21
+ from nat.profiler.inference_optimization.data_models import LLMUniquenessMetrics
22
+ from nat.profiler.inference_optimization.data_models import LLMUniquenessMetricsByLLM
23
+ from nat.profiler.utils import create_standardized_dataframe
24
24
 
25
25
 
26
26
  # ----------------------------------------------------------------
@@ -15,9 +15,9 @@
15
15
 
16
16
  import numpy as np
17
17
 
18
- from aiq.data_models.intermediate_step import IntermediateStep
19
- from aiq.profiler.inference_optimization.data_models import WorkflowRuntimeMetrics
20
- from aiq.profiler.utils import create_standardized_dataframe
18
+ from nat.data_models.intermediate_step import IntermediateStep
19
+ from nat.profiler.inference_optimization.data_models import WorkflowRuntimeMetrics
20
+ from nat.profiler.utils import create_standardized_dataframe
21
21
 
22
22
 
23
23
  def compute_workflow_runtime_metrics(all_steps: list[list[IntermediateStep]]) -> WorkflowRuntimeMetrics:
@@ -13,9 +13,9 @@
13
13
  # See the License for the specific language governing permissions and
14
14
  # limitations under the License.
15
15
 
16
- from aiq.data_models.intermediate_step import IntermediateStep
17
- from aiq.data_models.intermediate_step import IntermediateStepType
18
- from aiq.data_models.intermediate_step import TokenUsageBaseModel
16
+ from nat.data_models.intermediate_step import IntermediateStep
17
+ from nat.data_models.intermediate_step import IntermediateStepType
18
+ from nat.data_models.intermediate_step import TokenUsageBaseModel
19
19
 
20
20
 
21
21
  class IntermediatePropertyAdaptor(IntermediateStep):
@@ -23,13 +23,13 @@ from typing import Any
23
23
 
24
24
  from pydantic import BaseModel
25
25
 
26
- from aiq.data_models.evaluate import ProfilerConfig
27
- from aiq.data_models.intermediate_step import IntermediateStep
28
- from aiq.profiler.data_models import ProfilerResults
29
- from aiq.profiler.forecasting.model_trainer import ModelTrainer
30
- from aiq.profiler.inference_metrics_model import InferenceMetricsModel
31
- from aiq.profiler.utils import create_standardized_dataframe
32
- from aiq.utils.type_converter import TypeConverter
26
+ from nat.data_models.evaluate import ProfilerConfig
27
+ from nat.data_models.intermediate_step import IntermediateStep
28
+ from nat.profiler.data_models import ProfilerResults
29
+ from nat.profiler.forecasting.model_trainer import ModelTrainer
30
+ from nat.profiler.inference_metrics_model import InferenceMetricsModel
31
+ from nat.profiler.utils import create_standardized_dataframe
32
+ from nat.utils.type_converter import TypeConverter
33
33
 
34
34
  logger = logging.getLogger(__name__)
35
35
 
@@ -49,7 +49,7 @@ class InferenceOptimizationHolder(BaseModel):
49
49
 
50
50
  class ProfilerRunner:
51
51
  """
52
- A utility to run a series of prompts through an AIQ Toolkit workflow for profiling:
52
+ A utility to run a series of prompts through a NAT workflow for profiling:
53
53
 
54
54
  - can load prompts from a file
55
55
  - or generate them via an LLM
@@ -88,19 +88,19 @@ class ProfilerRunner:
88
88
  writes out combined requests JSON, then computes and saves additional metrics,
89
89
  and optionally fits a forecasting model.
90
90
  """
91
- from aiq.profiler.inference_optimization.bottleneck_analysis.nested_stack_analysis import \
91
+ from nat.profiler.inference_optimization.bottleneck_analysis.nested_stack_analysis import \
92
92
  multi_example_call_profiling
93
- from aiq.profiler.inference_optimization.bottleneck_analysis.simple_stack_analysis import \
93
+ from nat.profiler.inference_optimization.bottleneck_analysis.simple_stack_analysis import \
94
94
  profile_workflow_bottlenecks
95
- from aiq.profiler.inference_optimization.experimental.concurrency_spike_analysis import \
95
+ from nat.profiler.inference_optimization.experimental.concurrency_spike_analysis import \
96
96
  concurrency_spike_analysis
97
- from aiq.profiler.inference_optimization.experimental.prefix_span_analysis import \
97
+ from nat.profiler.inference_optimization.experimental.prefix_span_analysis import \
98
98
  prefixspan_subworkflow_with_text
99
- from aiq.profiler.inference_optimization.llm_metrics import LLMMetrics
100
- from aiq.profiler.inference_optimization.prompt_caching import get_common_prefixes
101
- from aiq.profiler.inference_optimization.token_uniqueness import compute_inter_query_token_uniqueness_by_llm
102
- from aiq.profiler.inference_optimization.workflow_runtimes import compute_workflow_runtime_metrics
103
- from aiq.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
99
+ from nat.profiler.inference_optimization.llm_metrics import LLMMetrics
100
+ from nat.profiler.inference_optimization.prompt_caching import get_common_prefixes
101
+ from nat.profiler.inference_optimization.token_uniqueness import compute_inter_query_token_uniqueness_by_llm
102
+ from nat.profiler.inference_optimization.workflow_runtimes import compute_workflow_runtime_metrics
103
+ from nat.profiler.intermediate_property_adapter import IntermediatePropertyAdaptor
104
104
 
105
105
  # Convert the incoming DataFrame to a list of dicts and store
106
106
  all_steps = [[IntermediatePropertyAdaptor.from_intermediate_step(step) for step in steps]
@@ -21,10 +21,10 @@ from typing import Any
21
21
 
22
22
  import pandas as pd
23
23
 
24
- from aiq.builder.framework_enum import LLMFrameworkEnum
25
- from aiq.cli.type_registry import RegisteredFunctionInfo
26
- from aiq.data_models.intermediate_step import IntermediateStep
27
- from aiq.profiler.data_frame_row import DataFrameRow
24
+ from nat.builder.framework_enum import LLMFrameworkEnum
25
+ from nat.cli.type_registry import RegisteredFunctionInfo
26
+ from nat.data_models.intermediate_step import IntermediateStep
27
+ from nat.profiler.data_frame_row import DataFrameRow
28
28
 
29
29
  # A simple set of regex patterns to scan for direct references to LLMFrameworkEnum
30
30
  _FRAMEWORK_REGEX_MAP = {t: fr'\b{t._name_}\b' for t in LLMFrameworkEnum}