aiqtoolkit 1.1.0rc5__py3-none-any.whl → 1.2.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of aiqtoolkit might be problematic. Click here for more details.

Files changed (319) hide show
  1. aiqtoolkit-1.2.0.dist-info/METADATA +29 -0
  2. aiqtoolkit-1.2.0.dist-info/RECORD +4 -0
  3. {aiqtoolkit-1.1.0rc5.dist-info → aiqtoolkit-1.2.0.dist-info}/WHEEL +1 -1
  4. aiqtoolkit-1.2.0.dist-info/top_level.txt +1 -0
  5. aiq/agent/__init__.py +0 -0
  6. aiq/agent/base.py +0 -76
  7. aiq/agent/dual_node.py +0 -67
  8. aiq/agent/react_agent/__init__.py +0 -0
  9. aiq/agent/react_agent/agent.py +0 -322
  10. aiq/agent/react_agent/output_parser.py +0 -104
  11. aiq/agent/react_agent/prompt.py +0 -46
  12. aiq/agent/react_agent/register.py +0 -148
  13. aiq/agent/reasoning_agent/__init__.py +0 -0
  14. aiq/agent/reasoning_agent/reasoning_agent.py +0 -224
  15. aiq/agent/register.py +0 -23
  16. aiq/agent/rewoo_agent/__init__.py +0 -0
  17. aiq/agent/rewoo_agent/agent.py +0 -410
  18. aiq/agent/rewoo_agent/prompt.py +0 -108
  19. aiq/agent/rewoo_agent/register.py +0 -158
  20. aiq/agent/tool_calling_agent/__init__.py +0 -0
  21. aiq/agent/tool_calling_agent/agent.py +0 -123
  22. aiq/agent/tool_calling_agent/register.py +0 -105
  23. aiq/builder/__init__.py +0 -0
  24. aiq/builder/builder.py +0 -223
  25. aiq/builder/component_utils.py +0 -303
  26. aiq/builder/context.py +0 -227
  27. aiq/builder/embedder.py +0 -24
  28. aiq/builder/eval_builder.py +0 -120
  29. aiq/builder/evaluator.py +0 -29
  30. aiq/builder/framework_enum.py +0 -24
  31. aiq/builder/front_end.py +0 -73
  32. aiq/builder/function.py +0 -297
  33. aiq/builder/function_base.py +0 -376
  34. aiq/builder/function_info.py +0 -627
  35. aiq/builder/intermediate_step_manager.py +0 -135
  36. aiq/builder/llm.py +0 -25
  37. aiq/builder/retriever.py +0 -25
  38. aiq/builder/user_interaction_manager.py +0 -71
  39. aiq/builder/workflow.py +0 -143
  40. aiq/builder/workflow_builder.py +0 -757
  41. aiq/cli/__init__.py +0 -14
  42. aiq/cli/cli_utils/__init__.py +0 -0
  43. aiq/cli/cli_utils/config_override.py +0 -231
  44. aiq/cli/cli_utils/validation.py +0 -37
  45. aiq/cli/commands/__init__.py +0 -0
  46. aiq/cli/commands/configure/__init__.py +0 -0
  47. aiq/cli/commands/configure/channel/__init__.py +0 -0
  48. aiq/cli/commands/configure/channel/add.py +0 -28
  49. aiq/cli/commands/configure/channel/channel.py +0 -36
  50. aiq/cli/commands/configure/channel/remove.py +0 -30
  51. aiq/cli/commands/configure/channel/update.py +0 -30
  52. aiq/cli/commands/configure/configure.py +0 -33
  53. aiq/cli/commands/evaluate.py +0 -139
  54. aiq/cli/commands/info/__init__.py +0 -14
  55. aiq/cli/commands/info/info.py +0 -39
  56. aiq/cli/commands/info/list_channels.py +0 -32
  57. aiq/cli/commands/info/list_components.py +0 -129
  58. aiq/cli/commands/info/list_mcp.py +0 -126
  59. aiq/cli/commands/registry/__init__.py +0 -14
  60. aiq/cli/commands/registry/publish.py +0 -88
  61. aiq/cli/commands/registry/pull.py +0 -118
  62. aiq/cli/commands/registry/registry.py +0 -38
  63. aiq/cli/commands/registry/remove.py +0 -108
  64. aiq/cli/commands/registry/search.py +0 -155
  65. aiq/cli/commands/start.py +0 -250
  66. aiq/cli/commands/uninstall.py +0 -83
  67. aiq/cli/commands/validate.py +0 -47
  68. aiq/cli/commands/workflow/__init__.py +0 -14
  69. aiq/cli/commands/workflow/templates/__init__.py.j2 +0 -0
  70. aiq/cli/commands/workflow/templates/config.yml.j2 +0 -16
  71. aiq/cli/commands/workflow/templates/pyproject.toml.j2 +0 -22
  72. aiq/cli/commands/workflow/templates/register.py.j2 +0 -5
  73. aiq/cli/commands/workflow/templates/workflow.py.j2 +0 -36
  74. aiq/cli/commands/workflow/workflow.py +0 -37
  75. aiq/cli/commands/workflow/workflow_commands.py +0 -313
  76. aiq/cli/entrypoint.py +0 -133
  77. aiq/cli/main.py +0 -44
  78. aiq/cli/register_workflow.py +0 -408
  79. aiq/cli/type_registry.py +0 -879
  80. aiq/data_models/__init__.py +0 -14
  81. aiq/data_models/api_server.py +0 -588
  82. aiq/data_models/common.py +0 -143
  83. aiq/data_models/component.py +0 -46
  84. aiq/data_models/component_ref.py +0 -135
  85. aiq/data_models/config.py +0 -349
  86. aiq/data_models/dataset_handler.py +0 -122
  87. aiq/data_models/discovery_metadata.py +0 -286
  88. aiq/data_models/embedder.py +0 -26
  89. aiq/data_models/evaluate.py +0 -104
  90. aiq/data_models/evaluator.py +0 -26
  91. aiq/data_models/front_end.py +0 -26
  92. aiq/data_models/function.py +0 -30
  93. aiq/data_models/function_dependencies.py +0 -64
  94. aiq/data_models/interactive.py +0 -237
  95. aiq/data_models/intermediate_step.py +0 -269
  96. aiq/data_models/invocation_node.py +0 -38
  97. aiq/data_models/llm.py +0 -26
  98. aiq/data_models/logging.py +0 -26
  99. aiq/data_models/memory.py +0 -26
  100. aiq/data_models/profiler.py +0 -53
  101. aiq/data_models/registry_handler.py +0 -26
  102. aiq/data_models/retriever.py +0 -30
  103. aiq/data_models/step_adaptor.py +0 -64
  104. aiq/data_models/streaming.py +0 -33
  105. aiq/data_models/swe_bench_model.py +0 -54
  106. aiq/data_models/telemetry_exporter.py +0 -26
  107. aiq/embedder/__init__.py +0 -0
  108. aiq/embedder/langchain_client.py +0 -41
  109. aiq/embedder/nim_embedder.py +0 -58
  110. aiq/embedder/openai_embedder.py +0 -42
  111. aiq/embedder/register.py +0 -24
  112. aiq/eval/__init__.py +0 -14
  113. aiq/eval/config.py +0 -42
  114. aiq/eval/dataset_handler/__init__.py +0 -0
  115. aiq/eval/dataset_handler/dataset_downloader.py +0 -106
  116. aiq/eval/dataset_handler/dataset_filter.py +0 -52
  117. aiq/eval/dataset_handler/dataset_handler.py +0 -169
  118. aiq/eval/evaluate.py +0 -325
  119. aiq/eval/evaluator/__init__.py +0 -14
  120. aiq/eval/evaluator/evaluator_model.py +0 -44
  121. aiq/eval/intermediate_step_adapter.py +0 -93
  122. aiq/eval/rag_evaluator/__init__.py +0 -0
  123. aiq/eval/rag_evaluator/evaluate.py +0 -138
  124. aiq/eval/rag_evaluator/register.py +0 -138
  125. aiq/eval/register.py +0 -23
  126. aiq/eval/remote_workflow.py +0 -128
  127. aiq/eval/runtime_event_subscriber.py +0 -52
  128. aiq/eval/swe_bench_evaluator/__init__.py +0 -0
  129. aiq/eval/swe_bench_evaluator/evaluate.py +0 -215
  130. aiq/eval/swe_bench_evaluator/register.py +0 -36
  131. aiq/eval/trajectory_evaluator/__init__.py +0 -0
  132. aiq/eval/trajectory_evaluator/evaluate.py +0 -118
  133. aiq/eval/trajectory_evaluator/register.py +0 -40
  134. aiq/eval/tunable_rag_evaluator/__init__.py +0 -0
  135. aiq/eval/tunable_rag_evaluator/evaluate.py +0 -263
  136. aiq/eval/tunable_rag_evaluator/register.py +0 -50
  137. aiq/eval/utils/__init__.py +0 -0
  138. aiq/eval/utils/output_uploader.py +0 -131
  139. aiq/eval/utils/tqdm_position_registry.py +0 -40
  140. aiq/front_ends/__init__.py +0 -14
  141. aiq/front_ends/console/__init__.py +0 -14
  142. aiq/front_ends/console/console_front_end_config.py +0 -32
  143. aiq/front_ends/console/console_front_end_plugin.py +0 -107
  144. aiq/front_ends/console/register.py +0 -25
  145. aiq/front_ends/cron/__init__.py +0 -14
  146. aiq/front_ends/fastapi/__init__.py +0 -14
  147. aiq/front_ends/fastapi/fastapi_front_end_config.py +0 -150
  148. aiq/front_ends/fastapi/fastapi_front_end_plugin.py +0 -103
  149. aiq/front_ends/fastapi/fastapi_front_end_plugin_worker.py +0 -607
  150. aiq/front_ends/fastapi/intermediate_steps_subscriber.py +0 -80
  151. aiq/front_ends/fastapi/job_store.py +0 -161
  152. aiq/front_ends/fastapi/main.py +0 -70
  153. aiq/front_ends/fastapi/message_handler.py +0 -279
  154. aiq/front_ends/fastapi/message_validator.py +0 -345
  155. aiq/front_ends/fastapi/register.py +0 -25
  156. aiq/front_ends/fastapi/response_helpers.py +0 -195
  157. aiq/front_ends/fastapi/step_adaptor.py +0 -320
  158. aiq/front_ends/fastapi/websocket.py +0 -148
  159. aiq/front_ends/mcp/__init__.py +0 -14
  160. aiq/front_ends/mcp/mcp_front_end_config.py +0 -32
  161. aiq/front_ends/mcp/mcp_front_end_plugin.py +0 -93
  162. aiq/front_ends/mcp/register.py +0 -27
  163. aiq/front_ends/mcp/tool_converter.py +0 -242
  164. aiq/front_ends/register.py +0 -22
  165. aiq/front_ends/simple_base/__init__.py +0 -14
  166. aiq/front_ends/simple_base/simple_front_end_plugin_base.py +0 -52
  167. aiq/llm/__init__.py +0 -0
  168. aiq/llm/nim_llm.py +0 -45
  169. aiq/llm/openai_llm.py +0 -45
  170. aiq/llm/register.py +0 -22
  171. aiq/llm/utils/__init__.py +0 -14
  172. aiq/llm/utils/env_config_value.py +0 -94
  173. aiq/llm/utils/error.py +0 -17
  174. aiq/memory/__init__.py +0 -20
  175. aiq/memory/interfaces.py +0 -183
  176. aiq/memory/models.py +0 -112
  177. aiq/meta/module_to_distro.json +0 -3
  178. aiq/meta/pypi.md +0 -58
  179. aiq/observability/__init__.py +0 -0
  180. aiq/observability/async_otel_listener.py +0 -429
  181. aiq/observability/register.py +0 -99
  182. aiq/plugins/.namespace +0 -1
  183. aiq/profiler/__init__.py +0 -0
  184. aiq/profiler/callbacks/__init__.py +0 -0
  185. aiq/profiler/callbacks/agno_callback_handler.py +0 -295
  186. aiq/profiler/callbacks/base_callback_class.py +0 -20
  187. aiq/profiler/callbacks/langchain_callback_handler.py +0 -278
  188. aiq/profiler/callbacks/llama_index_callback_handler.py +0 -205
  189. aiq/profiler/callbacks/semantic_kernel_callback_handler.py +0 -238
  190. aiq/profiler/callbacks/token_usage_base_model.py +0 -27
  191. aiq/profiler/data_frame_row.py +0 -51
  192. aiq/profiler/decorators/__init__.py +0 -0
  193. aiq/profiler/decorators/framework_wrapper.py +0 -131
  194. aiq/profiler/decorators/function_tracking.py +0 -254
  195. aiq/profiler/forecasting/__init__.py +0 -0
  196. aiq/profiler/forecasting/config.py +0 -18
  197. aiq/profiler/forecasting/model_trainer.py +0 -75
  198. aiq/profiler/forecasting/models/__init__.py +0 -22
  199. aiq/profiler/forecasting/models/forecasting_base_model.py +0 -40
  200. aiq/profiler/forecasting/models/linear_model.py +0 -196
  201. aiq/profiler/forecasting/models/random_forest_regressor.py +0 -268
  202. aiq/profiler/inference_metrics_model.py +0 -25
  203. aiq/profiler/inference_optimization/__init__.py +0 -0
  204. aiq/profiler/inference_optimization/bottleneck_analysis/__init__.py +0 -0
  205. aiq/profiler/inference_optimization/bottleneck_analysis/nested_stack_analysis.py +0 -452
  206. aiq/profiler/inference_optimization/bottleneck_analysis/simple_stack_analysis.py +0 -258
  207. aiq/profiler/inference_optimization/data_models.py +0 -386
  208. aiq/profiler/inference_optimization/experimental/__init__.py +0 -0
  209. aiq/profiler/inference_optimization/experimental/concurrency_spike_analysis.py +0 -468
  210. aiq/profiler/inference_optimization/experimental/prefix_span_analysis.py +0 -405
  211. aiq/profiler/inference_optimization/llm_metrics.py +0 -212
  212. aiq/profiler/inference_optimization/prompt_caching.py +0 -163
  213. aiq/profiler/inference_optimization/token_uniqueness.py +0 -107
  214. aiq/profiler/inference_optimization/workflow_runtimes.py +0 -72
  215. aiq/profiler/intermediate_property_adapter.py +0 -102
  216. aiq/profiler/profile_runner.py +0 -433
  217. aiq/profiler/utils.py +0 -184
  218. aiq/registry_handlers/__init__.py +0 -0
  219. aiq/registry_handlers/local/__init__.py +0 -0
  220. aiq/registry_handlers/local/local_handler.py +0 -176
  221. aiq/registry_handlers/local/register_local.py +0 -37
  222. aiq/registry_handlers/metadata_factory.py +0 -60
  223. aiq/registry_handlers/package_utils.py +0 -198
  224. aiq/registry_handlers/pypi/__init__.py +0 -0
  225. aiq/registry_handlers/pypi/pypi_handler.py +0 -251
  226. aiq/registry_handlers/pypi/register_pypi.py +0 -40
  227. aiq/registry_handlers/register.py +0 -21
  228. aiq/registry_handlers/registry_handler_base.py +0 -157
  229. aiq/registry_handlers/rest/__init__.py +0 -0
  230. aiq/registry_handlers/rest/register_rest.py +0 -56
  231. aiq/registry_handlers/rest/rest_handler.py +0 -237
  232. aiq/registry_handlers/schemas/__init__.py +0 -0
  233. aiq/registry_handlers/schemas/headers.py +0 -42
  234. aiq/registry_handlers/schemas/package.py +0 -68
  235. aiq/registry_handlers/schemas/publish.py +0 -63
  236. aiq/registry_handlers/schemas/pull.py +0 -82
  237. aiq/registry_handlers/schemas/remove.py +0 -36
  238. aiq/registry_handlers/schemas/search.py +0 -91
  239. aiq/registry_handlers/schemas/status.py +0 -47
  240. aiq/retriever/__init__.py +0 -0
  241. aiq/retriever/interface.py +0 -37
  242. aiq/retriever/milvus/__init__.py +0 -14
  243. aiq/retriever/milvus/register.py +0 -81
  244. aiq/retriever/milvus/retriever.py +0 -228
  245. aiq/retriever/models.py +0 -74
  246. aiq/retriever/nemo_retriever/__init__.py +0 -14
  247. aiq/retriever/nemo_retriever/register.py +0 -60
  248. aiq/retriever/nemo_retriever/retriever.py +0 -190
  249. aiq/retriever/register.py +0 -22
  250. aiq/runtime/__init__.py +0 -14
  251. aiq/runtime/loader.py +0 -188
  252. aiq/runtime/runner.py +0 -176
  253. aiq/runtime/session.py +0 -140
  254. aiq/runtime/user_metadata.py +0 -131
  255. aiq/settings/__init__.py +0 -0
  256. aiq/settings/global_settings.py +0 -318
  257. aiq/test/.namespace +0 -1
  258. aiq/tool/__init__.py +0 -0
  259. aiq/tool/code_execution/__init__.py +0 -0
  260. aiq/tool/code_execution/code_sandbox.py +0 -188
  261. aiq/tool/code_execution/local_sandbox/Dockerfile.sandbox +0 -60
  262. aiq/tool/code_execution/local_sandbox/__init__.py +0 -13
  263. aiq/tool/code_execution/local_sandbox/local_sandbox_server.py +0 -83
  264. aiq/tool/code_execution/local_sandbox/sandbox.requirements.txt +0 -4
  265. aiq/tool/code_execution/local_sandbox/start_local_sandbox.sh +0 -25
  266. aiq/tool/code_execution/register.py +0 -70
  267. aiq/tool/code_execution/utils.py +0 -100
  268. aiq/tool/datetime_tools.py +0 -42
  269. aiq/tool/document_search.py +0 -141
  270. aiq/tool/github_tools/__init__.py +0 -0
  271. aiq/tool/github_tools/create_github_commit.py +0 -133
  272. aiq/tool/github_tools/create_github_issue.py +0 -87
  273. aiq/tool/github_tools/create_github_pr.py +0 -106
  274. aiq/tool/github_tools/get_github_file.py +0 -106
  275. aiq/tool/github_tools/get_github_issue.py +0 -166
  276. aiq/tool/github_tools/get_github_pr.py +0 -256
  277. aiq/tool/github_tools/update_github_issue.py +0 -100
  278. aiq/tool/mcp/__init__.py +0 -14
  279. aiq/tool/mcp/mcp_client.py +0 -220
  280. aiq/tool/mcp/mcp_tool.py +0 -95
  281. aiq/tool/memory_tools/__init__.py +0 -0
  282. aiq/tool/memory_tools/add_memory_tool.py +0 -79
  283. aiq/tool/memory_tools/delete_memory_tool.py +0 -67
  284. aiq/tool/memory_tools/get_memory_tool.py +0 -72
  285. aiq/tool/nvidia_rag.py +0 -95
  286. aiq/tool/register.py +0 -37
  287. aiq/tool/retriever.py +0 -89
  288. aiq/tool/server_tools.py +0 -63
  289. aiq/utils/__init__.py +0 -0
  290. aiq/utils/data_models/__init__.py +0 -0
  291. aiq/utils/data_models/schema_validator.py +0 -58
  292. aiq/utils/debugging_utils.py +0 -43
  293. aiq/utils/exception_handlers/__init__.py +0 -0
  294. aiq/utils/exception_handlers/schemas.py +0 -114
  295. aiq/utils/io/__init__.py +0 -0
  296. aiq/utils/io/yaml_tools.py +0 -119
  297. aiq/utils/metadata_utils.py +0 -74
  298. aiq/utils/optional_imports.py +0 -142
  299. aiq/utils/producer_consumer_queue.py +0 -178
  300. aiq/utils/reactive/__init__.py +0 -0
  301. aiq/utils/reactive/base/__init__.py +0 -0
  302. aiq/utils/reactive/base/observable_base.py +0 -65
  303. aiq/utils/reactive/base/observer_base.py +0 -55
  304. aiq/utils/reactive/base/subject_base.py +0 -79
  305. aiq/utils/reactive/observable.py +0 -59
  306. aiq/utils/reactive/observer.py +0 -76
  307. aiq/utils/reactive/subject.py +0 -131
  308. aiq/utils/reactive/subscription.py +0 -49
  309. aiq/utils/settings/__init__.py +0 -0
  310. aiq/utils/settings/global_settings.py +0 -197
  311. aiq/utils/type_converter.py +0 -232
  312. aiq/utils/type_utils.py +0 -397
  313. aiq/utils/url_utils.py +0 -27
  314. aiqtoolkit-1.1.0rc5.dist-info/METADATA +0 -331
  315. aiqtoolkit-1.1.0rc5.dist-info/RECORD +0 -316
  316. aiqtoolkit-1.1.0rc5.dist-info/entry_points.txt +0 -17
  317. aiqtoolkit-1.1.0rc5.dist-info/licenses/LICENSE-3rd-party.txt +0 -3686
  318. aiqtoolkit-1.1.0rc5.dist-info/licenses/LICENSE.md +0 -201
  319. aiqtoolkit-1.1.0rc5.dist-info/top_level.txt +0 -1
@@ -1,408 +0,0 @@
1
- # SPDX-FileCopyrightText: Copyright (c) 2024-2025, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
2
- # SPDX-License-Identifier: Apache-2.0
3
- #
4
- # Licensed under the Apache License, Version 2.0 (the "License");
5
- # you may not use this file except in compliance with the License.
6
- # You may obtain a copy of the License at
7
- #
8
- # http://www.apache.org/licenses/LICENSE-2.0
9
- #
10
- # Unless required by applicable law or agreed to in writing, software
11
- # distributed under the License is distributed on an "AS IS" BASIS,
12
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- # See the License for the specific language governing permissions and
14
- # limitations under the License.
15
-
16
- from contextlib import asynccontextmanager
17
-
18
- from aiq.builder.framework_enum import LLMFrameworkEnum
19
- from aiq.cli.type_registry import EmbedderClientBuildCallableT
20
- from aiq.cli.type_registry import EmbedderClientRegisteredCallableT
21
- from aiq.cli.type_registry import EmbedderProviderBuildCallableT
22
- from aiq.cli.type_registry import EmbedderProviderRegisteredCallableT
23
- from aiq.cli.type_registry import EvaluatorBuildCallableT
24
- from aiq.cli.type_registry import EvaluatorRegisteredCallableT
25
- from aiq.cli.type_registry import FrontEndBuildCallableT
26
- from aiq.cli.type_registry import FrontEndRegisteredCallableT
27
- from aiq.cli.type_registry import FunctionBuildCallableT
28
- from aiq.cli.type_registry import FunctionRegisteredCallableT
29
- from aiq.cli.type_registry import LLMClientBuildCallableT
30
- from aiq.cli.type_registry import LLMClientRegisteredCallableT
31
- from aiq.cli.type_registry import LLMProviderBuildCallableT
32
- from aiq.cli.type_registry import LoggingMethodBuildCallableT
33
- from aiq.cli.type_registry import LoggingMethodConfigT
34
- from aiq.cli.type_registry import LoggingMethodRegisteredCallableT
35
- from aiq.cli.type_registry import MemoryBuildCallableT
36
- from aiq.cli.type_registry import MemoryRegisteredCallableT
37
- from aiq.cli.type_registry import RegisteredLoggingMethod
38
- from aiq.cli.type_registry import RegisteredTelemetryExporter
39
- from aiq.cli.type_registry import RegisteredToolWrapper
40
- from aiq.cli.type_registry import RegistryHandlerBuildCallableT
41
- from aiq.cli.type_registry import RegistryHandlerRegisteredCallableT
42
- from aiq.cli.type_registry import RetrieverClientBuildCallableT
43
- from aiq.cli.type_registry import RetrieverClientRegisteredCallableT
44
- from aiq.cli.type_registry import RetrieverProviderBuildCallableT
45
- from aiq.cli.type_registry import RetrieverProviderRegisteredCallableT
46
- from aiq.cli.type_registry import TeleExporterRegisteredCallableT
47
- from aiq.cli.type_registry import TelemetryExporterBuildCallableT
48
- from aiq.cli.type_registry import TelemetryExporterConfigT
49
- from aiq.cli.type_registry import ToolWrapperBuildCallableT
50
- from aiq.data_models.component import AIQComponentEnum
51
- from aiq.data_models.discovery_metadata import DiscoveryMetadata
52
- from aiq.data_models.embedder import EmbedderBaseConfigT
53
- from aiq.data_models.evaluator import EvaluatorBaseConfigT
54
- from aiq.data_models.front_end import FrontEndConfigT
55
- from aiq.data_models.function import FunctionConfigT
56
- from aiq.data_models.llm import LLMBaseConfigT
57
- from aiq.data_models.memory import MemoryBaseConfigT
58
- from aiq.data_models.registry_handler import RegistryHandlerBaseConfigT
59
- from aiq.data_models.retriever import RetrieverBaseConfigT
60
-
61
-
62
- def register_telemetry_exporter(config_type: type[TelemetryExporterConfigT]):
63
- """
64
- Register a workflow with optional framework_wrappers for automatic profiler hooking.
65
- """
66
-
67
- def register_inner(
68
- fn: TelemetryExporterBuildCallableT[TelemetryExporterConfigT]
69
- ) -> TeleExporterRegisteredCallableT[TelemetryExporterConfigT]:
70
- from .type_registry import GlobalTypeRegistry
71
-
72
- context_manager_fn = asynccontextmanager(fn)
73
-
74
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
75
- component_type=AIQComponentEnum.TRACING)
76
-
77
- GlobalTypeRegistry.get().register_telemetry_exporter(
78
- RegisteredTelemetryExporter(full_type=config_type.full_type,
79
- config_type=config_type,
80
- build_fn=context_manager_fn,
81
- discovery_metadata=discovery_metadata))
82
-
83
- return context_manager_fn
84
-
85
- return register_inner
86
-
87
-
88
- def register_logging_method(config_type: type[LoggingMethodConfigT]):
89
-
90
- def register_inner(
91
- fn: LoggingMethodBuildCallableT[LoggingMethodConfigT]
92
- ) -> LoggingMethodRegisteredCallableT[LoggingMethodConfigT]:
93
- from .type_registry import GlobalTypeRegistry
94
-
95
- context_manager_fn = asynccontextmanager(fn)
96
-
97
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
98
- component_type=AIQComponentEnum.LOGGING)
99
-
100
- GlobalTypeRegistry.get().register_logging_method(
101
- RegisteredLoggingMethod(full_type=config_type.full_type,
102
- config_type=config_type,
103
- build_fn=context_manager_fn,
104
- discovery_metadata=discovery_metadata))
105
-
106
- return context_manager_fn
107
-
108
- return register_inner
109
-
110
-
111
- def register_front_end(config_type: type[FrontEndConfigT]):
112
- """
113
- Register a front end which is responsible for hosting a workflow.
114
- """
115
-
116
- def register_front_end_inner(
117
- fn: FrontEndBuildCallableT[FrontEndConfigT]) -> FrontEndRegisteredCallableT[FrontEndConfigT]:
118
- from .type_registry import GlobalTypeRegistry
119
- from .type_registry import RegisteredFrontEndInfo
120
-
121
- context_manager_fn = asynccontextmanager(fn)
122
-
123
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
124
- component_type=AIQComponentEnum.FRONT_END)
125
-
126
- GlobalTypeRegistry.get().register_front_end(
127
- RegisteredFrontEndInfo(full_type=config_type.full_type,
128
- config_type=config_type,
129
- build_fn=context_manager_fn,
130
- discovery_metadata=discovery_metadata))
131
-
132
- return context_manager_fn
133
-
134
- return register_front_end_inner
135
-
136
-
137
- def register_function(config_type: type[FunctionConfigT],
138
- framework_wrappers: list[LLMFrameworkEnum | str] | None = None):
139
- """
140
- Register a workflow with optional framework_wrappers for automatic profiler hooking.
141
- """
142
-
143
- def register_function_inner(
144
- fn: FunctionBuildCallableT[FunctionConfigT]) -> FunctionRegisteredCallableT[FunctionConfigT]:
145
- from .type_registry import GlobalTypeRegistry
146
- from .type_registry import RegisteredFunctionInfo
147
-
148
- context_manager_fn = asynccontextmanager(fn)
149
-
150
- if framework_wrappers is None:
151
- framework_wrappers_list: list[str] = []
152
- else:
153
- framework_wrappers_list = list(framework_wrappers)
154
-
155
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
156
- component_type=AIQComponentEnum.FUNCTION)
157
-
158
- GlobalTypeRegistry.get().register_function(
159
- RegisteredFunctionInfo(
160
- full_type=config_type.full_type,
161
- config_type=config_type,
162
- build_fn=context_manager_fn,
163
- framework_wrappers=framework_wrappers_list,
164
- discovery_metadata=discovery_metadata,
165
- ))
166
-
167
- return context_manager_fn
168
-
169
- return register_function_inner
170
-
171
-
172
- def register_llm_provider(config_type: type[LLMBaseConfigT]):
173
-
174
- def register_llm_provider_inner(
175
- fn: LLMProviderBuildCallableT[LLMBaseConfigT]) -> LLMClientRegisteredCallableT[LLMBaseConfigT]:
176
- from .type_registry import GlobalTypeRegistry
177
- from .type_registry import RegisteredLLMProviderInfo
178
-
179
- context_manager_fn = asynccontextmanager(fn)
180
-
181
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
182
- component_type=AIQComponentEnum.LLM_PROVIDER)
183
-
184
- GlobalTypeRegistry.get().register_llm_provider(
185
- RegisteredLLMProviderInfo(full_type=config_type.full_type,
186
- config_type=config_type,
187
- build_fn=context_manager_fn,
188
- discovery_metadata=discovery_metadata))
189
-
190
- return context_manager_fn
191
-
192
- return register_llm_provider_inner
193
-
194
-
195
- def register_llm_client(config_type: type[LLMBaseConfigT], wrapper_type: LLMFrameworkEnum | str):
196
-
197
- def register_llm_client_inner(
198
- fn: LLMClientBuildCallableT[LLMBaseConfigT]) -> LLMClientRegisteredCallableT[LLMBaseConfigT]:
199
- from .type_registry import GlobalTypeRegistry
200
- from .type_registry import RegisteredLLMClientInfo
201
-
202
- context_manager_fn = asynccontextmanager(fn)
203
-
204
- discovery_metadata = DiscoveryMetadata.from_provider_framework_map(config_type=config_type,
205
- wrapper_type=wrapper_type,
206
- provider_type=AIQComponentEnum.LLM_PROVIDER,
207
- component_type=AIQComponentEnum.LLM_CLIENT)
208
- GlobalTypeRegistry.get().register_llm_client(
209
- RegisteredLLMClientInfo(full_type=config_type.full_type,
210
- config_type=config_type,
211
- build_fn=context_manager_fn,
212
- llm_framework=wrapper_type,
213
- discovery_metadata=discovery_metadata))
214
-
215
- return context_manager_fn
216
-
217
- return register_llm_client_inner
218
-
219
-
220
- def register_embedder_provider(config_type: type[EmbedderBaseConfigT]):
221
-
222
- def register_embedder_provider_inner(
223
- fn: EmbedderProviderBuildCallableT[EmbedderBaseConfigT]
224
- ) -> EmbedderProviderRegisteredCallableT[EmbedderBaseConfigT]:
225
- from .type_registry import GlobalTypeRegistry
226
- from .type_registry import RegisteredEmbedderProviderInfo
227
-
228
- context_manager_fn = asynccontextmanager(fn)
229
-
230
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
231
- component_type=AIQComponentEnum.EMBEDDER_PROVIDER)
232
-
233
- GlobalTypeRegistry.get().register_embedder_provider(
234
- RegisteredEmbedderProviderInfo(full_type=config_type.full_type,
235
- config_type=config_type,
236
- build_fn=context_manager_fn,
237
- discovery_metadata=discovery_metadata))
238
-
239
- return context_manager_fn
240
-
241
- return register_embedder_provider_inner
242
-
243
-
244
- def register_embedder_client(config_type: type[EmbedderBaseConfigT], wrapper_type: LLMFrameworkEnum | str):
245
-
246
- def register_embedder_client_inner(
247
- fn: EmbedderClientBuildCallableT[EmbedderBaseConfigT]
248
- ) -> EmbedderClientRegisteredCallableT[EmbedderBaseConfigT]:
249
- from .type_registry import GlobalTypeRegistry
250
- from .type_registry import RegisteredEmbedderClientInfo
251
-
252
- context_manager_fn = asynccontextmanager(fn)
253
-
254
- discovery_metadata = DiscoveryMetadata.from_provider_framework_map(
255
- config_type=config_type,
256
- wrapper_type=wrapper_type,
257
- provider_type=AIQComponentEnum.EMBEDDER_PROVIDER,
258
- component_type=AIQComponentEnum.EMBEDDER_CLIENT)
259
-
260
- GlobalTypeRegistry.get().register_embedder_client(
261
- RegisteredEmbedderClientInfo(full_type=config_type.full_type,
262
- config_type=config_type,
263
- build_fn=context_manager_fn,
264
- llm_framework=wrapper_type,
265
- discovery_metadata=discovery_metadata))
266
-
267
- return context_manager_fn
268
-
269
- return register_embedder_client_inner
270
-
271
-
272
- def register_evaluator(config_type: type[EvaluatorBaseConfigT]):
273
-
274
- def register_evaluator_inner(
275
- fn: EvaluatorBuildCallableT[EvaluatorBaseConfigT]) -> EvaluatorRegisteredCallableT[EvaluatorBaseConfigT]:
276
- from .type_registry import GlobalTypeRegistry
277
- from .type_registry import RegisteredEvaluatorInfo
278
-
279
- context_manager_fn = asynccontextmanager(fn)
280
-
281
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
282
- component_type=AIQComponentEnum.EVALUATOR)
283
-
284
- GlobalTypeRegistry.get().register_evaluator(
285
- RegisteredEvaluatorInfo(full_type=config_type.full_type,
286
- config_type=config_type,
287
- build_fn=context_manager_fn,
288
- discovery_metadata=discovery_metadata))
289
-
290
- return context_manager_fn
291
-
292
- return register_evaluator_inner
293
-
294
-
295
- def register_memory(config_type: type[MemoryBaseConfigT]):
296
-
297
- def register_memory_inner(
298
- fn: MemoryBuildCallableT[MemoryBaseConfigT]) -> MemoryRegisteredCallableT[MemoryBaseConfigT]:
299
- from .type_registry import GlobalTypeRegistry
300
- from .type_registry import RegisteredMemoryInfo
301
-
302
- context_manager_fn = asynccontextmanager(fn)
303
-
304
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
305
- component_type=AIQComponentEnum.MEMORY)
306
-
307
- GlobalTypeRegistry.get().register_memory(
308
- RegisteredMemoryInfo(full_type=config_type.full_type,
309
- config_type=config_type,
310
- build_fn=context_manager_fn,
311
- discovery_metadata=discovery_metadata))
312
-
313
- return context_manager_fn
314
-
315
- return register_memory_inner
316
-
317
-
318
- def register_retriever_provider(config_type: type[RetrieverBaseConfigT]):
319
-
320
- def register_retriever_provider_inner(
321
- fn: RetrieverProviderBuildCallableT[RetrieverBaseConfigT]
322
- ) -> RetrieverProviderRegisteredCallableT[RetrieverBaseConfigT]:
323
- from .type_registry import GlobalTypeRegistry
324
- from .type_registry import RegisteredRetrieverProviderInfo
325
-
326
- context_manager_fn = asynccontextmanager(fn)
327
-
328
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
329
- component_type=AIQComponentEnum.RETRIEVER_PROVIDER)
330
-
331
- GlobalTypeRegistry.get().register_retriever_provider(
332
- RegisteredRetrieverProviderInfo(full_type=config_type.full_type,
333
- config_type=config_type,
334
- build_fn=context_manager_fn,
335
- discovery_metadata=discovery_metadata))
336
-
337
- return context_manager_fn
338
-
339
- return register_retriever_provider_inner
340
-
341
-
342
- def register_retriever_client(config_type: type[RetrieverBaseConfigT], wrapper_type: LLMFrameworkEnum | str | None):
343
-
344
- def register_retriever_client_inner(
345
- fn: RetrieverClientBuildCallableT[RetrieverBaseConfigT]
346
- ) -> RetrieverClientRegisteredCallableT[RetrieverBaseConfigT]:
347
- from .type_registry import GlobalTypeRegistry
348
- from .type_registry import RegisteredRetrieverClientInfo
349
-
350
- context_manager_fn = asynccontextmanager(fn)
351
-
352
- discovery_metadata = DiscoveryMetadata.from_provider_framework_map(
353
- config_type=config_type,
354
- wrapper_type=wrapper_type,
355
- provider_type=AIQComponentEnum.RETRIEVER_PROVIDER,
356
- component_type=AIQComponentEnum.RETRIEVER_CLIENT,
357
- )
358
-
359
- GlobalTypeRegistry.get().register_retriever_client(
360
- RegisteredRetrieverClientInfo(full_type=config_type.full_type,
361
- config_type=config_type,
362
- build_fn=context_manager_fn,
363
- llm_framework=wrapper_type,
364
- discovery_metadata=discovery_metadata))
365
-
366
- return context_manager_fn
367
-
368
- return register_retriever_client_inner
369
-
370
-
371
- def register_tool_wrapper(wrapper_type: LLMFrameworkEnum | str):
372
-
373
- def _inner(fn: ToolWrapperBuildCallableT) -> ToolWrapperBuildCallableT:
374
- from .type_registry import GlobalTypeRegistry
375
-
376
- discovery_metadata = DiscoveryMetadata.from_fn_wrapper(fn=fn,
377
- wrapper_type=wrapper_type,
378
- component_type=AIQComponentEnum.TOOL_WRAPPER)
379
- GlobalTypeRegistry.get().register_tool_wrapper(
380
- RegisteredToolWrapper(llm_framework=wrapper_type, build_fn=fn, discovery_metadata=discovery_metadata))
381
-
382
- return fn
383
-
384
- return _inner
385
-
386
-
387
- def register_registry_handler(config_type: type[RegistryHandlerBaseConfigT]):
388
-
389
- def register_registry_handler_inner(
390
- fn: RegistryHandlerBuildCallableT[RegistryHandlerBaseConfigT]
391
- ) -> RegistryHandlerRegisteredCallableT[RegistryHandlerBaseConfigT]:
392
- from .type_registry import GlobalTypeRegistry
393
- from .type_registry import RegisteredRegistryHandlerInfo
394
-
395
- context_manager_fn = asynccontextmanager(fn)
396
-
397
- discovery_metadata = DiscoveryMetadata.from_config_type(config_type=config_type,
398
- component_type=AIQComponentEnum.REGISTRY_HANDLER)
399
-
400
- GlobalTypeRegistry.get().register_registry_handler(
401
- RegisteredRegistryHandlerInfo(full_type=config_type.full_type,
402
- config_type=config_type,
403
- build_fn=context_manager_fn,
404
- discovery_metadata=discovery_metadata))
405
-
406
- return context_manager_fn
407
-
408
- return register_registry_handler_inner