rasa-pro 3.14.0a20__py3-none-any.whl → 3.14.0a23__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 rasa-pro might be problematic. Click here for more details.

Files changed (331) hide show
  1. rasa/__main__.py +15 -3
  2. rasa/agents/__init__.py +0 -0
  3. rasa/agents/agent_factory.py +122 -0
  4. rasa/agents/agent_manager.py +211 -0
  5. rasa/agents/constants.py +43 -0
  6. rasa/agents/core/__init__.py +0 -0
  7. rasa/agents/core/agent_protocol.py +107 -0
  8. rasa/agents/core/types.py +81 -0
  9. rasa/agents/exceptions.py +38 -0
  10. rasa/agents/protocol/__init__.py +5 -0
  11. rasa/agents/protocol/a2a/__init__.py +0 -0
  12. rasa/agents/protocol/a2a/a2a_agent.py +879 -0
  13. rasa/agents/protocol/mcp/__init__.py +0 -0
  14. rasa/agents/protocol/mcp/mcp_base_agent.py +726 -0
  15. rasa/agents/protocol/mcp/mcp_open_agent.py +327 -0
  16. rasa/agents/protocol/mcp/mcp_task_agent.py +522 -0
  17. rasa/agents/schemas/__init__.py +13 -0
  18. rasa/agents/schemas/agent_input.py +38 -0
  19. rasa/agents/schemas/agent_output.py +26 -0
  20. rasa/agents/schemas/agent_tool_result.py +65 -0
  21. rasa/agents/schemas/agent_tool_schema.py +186 -0
  22. rasa/agents/templates/__init__.py +0 -0
  23. rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +20 -0
  24. rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +22 -0
  25. rasa/agents/utils.py +206 -0
  26. rasa/agents/validation.py +485 -0
  27. rasa/api.py +24 -9
  28. rasa/builder/config.py +6 -2
  29. rasa/builder/guardrails/{lakera.py → clients.py} +55 -5
  30. rasa/builder/guardrails/constants.py +3 -0
  31. rasa/builder/guardrails/models.py +45 -10
  32. rasa/builder/guardrails/policy_checker.py +324 -0
  33. rasa/builder/guardrails/utils.py +42 -276
  34. rasa/builder/llm_service.py +32 -5
  35. rasa/builder/models.py +1 -0
  36. rasa/builder/project_generator.py +6 -1
  37. rasa/builder/service.py +16 -13
  38. rasa/builder/training_service.py +18 -24
  39. rasa/builder/validation_service.py +1 -1
  40. rasa/cli/arguments/default_arguments.py +12 -0
  41. rasa/cli/arguments/run.py +2 -0
  42. rasa/cli/arguments/train.py +2 -0
  43. rasa/cli/data.py +10 -8
  44. rasa/cli/dialogue_understanding_test.py +10 -7
  45. rasa/cli/e2e_test.py +9 -6
  46. rasa/cli/evaluate.py +4 -2
  47. rasa/cli/export.py +5 -2
  48. rasa/cli/inspect.py +8 -4
  49. rasa/cli/interactive.py +5 -4
  50. rasa/cli/llm_fine_tuning.py +11 -6
  51. rasa/cli/project_templates/finance/actions/general/__init__.py +0 -0
  52. rasa/cli/project_templates/finance/actions/general/action_human_handoff.py +49 -0
  53. rasa/cli/project_templates/finance/data/general/bot_challenge.yml +6 -0
  54. rasa/cli/project_templates/finance/data/general/goodbye.yml +1 -1
  55. rasa/cli/project_templates/finance/data/general/human_handoff.yml +1 -1
  56. rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +1 -1
  57. rasa/cli/project_templates/finance/domain/general/_shared.yml +0 -14
  58. rasa/cli/project_templates/finance/domain/general/bot_challenge.yml +4 -0
  59. rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
  60. rasa/cli/project_templates/finance/domain/general/human_handoff.yml +3 -6
  61. rasa/cli/project_templates/finance/domain/general/welcome.yml +29 -1
  62. rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/check_balance.yml +9 -0
  63. rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/download_statements.yml +43 -0
  64. rasa/cli/project_templates/finance/tests/e2e_test_cases/cards/block_card.yml +55 -0
  65. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/bot_challenge.yml +8 -0
  66. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/feedback.yml +46 -0
  67. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/goodbye.yml +9 -0
  68. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/hello.yml +8 -0
  69. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/human_handoff.yml +35 -0
  70. rasa/cli/project_templates/finance/tests/e2e_test_cases/general/patterns.yml +22 -0
  71. rasa/cli/project_templates/finance/tests/e2e_test_cases/transfers/transfer_money.yml +56 -0
  72. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/feedback.yml +1 -1
  73. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/hello.yml +1 -1
  74. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/human_handoff.yml +1 -1
  75. rasa/cli/project_templates/telco/tests/e2e_test_cases/general/patterns.yml +1 -1
  76. rasa/cli/project_templates/tutorial/credentials.yml +10 -0
  77. rasa/cli/run.py +12 -10
  78. rasa/cli/scaffold.py +4 -4
  79. rasa/cli/shell.py +9 -5
  80. rasa/cli/studio/studio.py +1 -1
  81. rasa/cli/test.py +34 -14
  82. rasa/cli/train.py +41 -28
  83. rasa/cli/utils.py +1 -393
  84. rasa/cli/validation/__init__.py +0 -0
  85. rasa/cli/validation/bot_config.py +223 -0
  86. rasa/cli/validation/config_path_validation.py +257 -0
  87. rasa/cli/x.py +8 -4
  88. rasa/constants.py +7 -1
  89. rasa/core/actions/action.py +51 -10
  90. rasa/core/actions/action_run_slot_rejections.py +1 -1
  91. rasa/core/actions/direct_custom_actions_executor.py +9 -2
  92. rasa/core/actions/grpc_custom_action_executor.py +1 -1
  93. rasa/core/agent.py +19 -2
  94. rasa/core/available_agents.py +229 -0
  95. rasa/core/brokers/kafka.py +1 -1
  96. rasa/core/channels/__init__.py +82 -35
  97. rasa/core/channels/development_inspector.py +3 -3
  98. rasa/core/channels/inspector/README.md +25 -13
  99. rasa/core/channels/inspector/dist/assets/{arc-35222594.js → arc-6177260a.js} +1 -1
  100. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-a0efbfd3.js → blockDiagram-38ab4fdb-b054f038.js} +1 -1
  101. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-0584c0f2.js → c4Diagram-3d4e48cf-f25427d5.js} +1 -1
  102. rasa/core/channels/inspector/dist/assets/channel-bf9cbb34.js +1 -0
  103. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-39f40dbe.js → classDiagram-70f12bd4-c7a2af53.js} +1 -1
  104. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-1ad755f3.js → classDiagram-v2-f2320105-58db65c0.js} +1 -1
  105. rasa/core/channels/inspector/dist/assets/clone-8f9083bb.js +1 -0
  106. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-b0f4f0fe.js → createText-2e5e7dd3-088372e2.js} +1 -1
  107. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-9039bff9.js → edges-e0da2a9e-58676240.js} +1 -1
  108. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-65c9b127.js → erDiagram-9861fffd-0c14d7c6.js} +1 -1
  109. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-4f08b38e.js → flowDb-956e92f1-ea63f85c.js} +1 -1
  110. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-e95c362a.js → flowDiagram-66a62f08-a2af48cd.js} +1 -1
  111. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-9ecd5b59.js +1 -0
  112. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-703c3015.js → flowchart-elk-definition-4a651766-6937abe7.js} +1 -1
  113. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-699328ea.js → ganttDiagram-c361ad54-7473f357.js} +1 -1
  114. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-04cf4b05.js → gitGraphDiagram-72cf32ee-d0c9405e.js} +1 -1
  115. rasa/core/channels/inspector/dist/assets/{graph-ee94449e.js → graph-0a6f8466.js} +1 -1
  116. rasa/core/channels/inspector/dist/assets/{index-3862675e-940162b4.js → index-3862675e-7610671a.js} +1 -1
  117. rasa/core/channels/inspector/dist/assets/index-74e01d94.js +1354 -0
  118. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-c79c2866.js → infoDiagram-f8f76790-be397dc7.js} +1 -1
  119. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-84489d30.js → journeyDiagram-49397b02-4cefbf62.js} +1 -1
  120. rasa/core/channels/inspector/dist/assets/{layout-a9aa9858.js → layout-e7fbc2bf.js} +1 -1
  121. rasa/core/channels/inspector/dist/assets/{line-eb73cf26.js → line-a8aa457c.js} +1 -1
  122. rasa/core/channels/inspector/dist/assets/{linear-b3399f9a.js → linear-3351e0d2.js} +1 -1
  123. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-b095bf1a.js → mindmap-definition-fc14e90a-b8cbf605.js} +1 -1
  124. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-07644b66.js → pieDiagram-8a3498a8-f327f774.js} +1 -1
  125. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-573a3f9c.js → quadrantDiagram-120e2f19-2854c591.js} +1 -1
  126. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-d457e1e1.js → requirementDiagram-deff3bca-964985d5.js} +1 -1
  127. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-9d26e1a2.js → sankeyDiagram-04a897e0-edeb4f33.js} +1 -1
  128. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-3a9cde10.js → sequenceDiagram-704730f1-fcf70125.js} +1 -1
  129. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-4f3e8cec.js → stateDiagram-587899a1-0e770395.js} +1 -1
  130. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-e617e5bf.js → stateDiagram-v2-d93cdb3a-af8dcd22.js} +1 -1
  131. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-eab30d2f.js → styles-6aaf32cf-36a9e70d.js} +1 -1
  132. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-09994be2.js → styles-9a916d00-884a8b5b.js} +1 -1
  133. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-b7110364.js → styles-c10674c1-dc097813.js} +1 -1
  134. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-3ebc92ad.js → svgDrawCommon-08f97a94-5a2c7eed.js} +1 -1
  135. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-7d13d2f2.js → timeline-definition-85554ec2-e89c4f6e.js} +1 -1
  136. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-488385e1.js → xychartDiagram-e933f94c-afb6fe56.js} +1 -1
  137. rasa/core/channels/inspector/dist/index.html +1 -1
  138. rasa/core/channels/inspector/package.json +18 -18
  139. rasa/core/channels/inspector/src/App.tsx +29 -4
  140. rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
  141. rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +4 -2
  142. rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +7 -4
  143. rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
  144. rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
  145. rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
  146. rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
  147. rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
  148. rasa/core/channels/inspector/src/types.ts +21 -0
  149. rasa/core/channels/inspector/yarn.lock +336 -189
  150. rasa/core/channels/studio_chat.py +6 -6
  151. rasa/core/channels/telegram.py +4 -9
  152. rasa/core/channels/voice_stream/browser_audio.py +2 -0
  153. rasa/core/channels/voice_stream/genesys.py +1 -1
  154. rasa/core/channels/voice_stream/tts/deepgram.py +140 -0
  155. rasa/core/channels/voice_stream/twilio_media_streams.py +5 -1
  156. rasa/core/channels/voice_stream/voice_channel.py +3 -0
  157. rasa/core/config/__init__.py +0 -0
  158. rasa/core/{available_endpoints.py → config/available_endpoints.py} +51 -16
  159. rasa/core/config/configuration.py +260 -0
  160. rasa/core/config/credentials.py +19 -0
  161. rasa/core/config/message_procesing_config.py +34 -0
  162. rasa/core/constants.py +5 -0
  163. rasa/core/iam_credentials_providers/aws_iam_credentials_providers.py +88 -3
  164. rasa/core/iam_credentials_providers/credentials_provider_protocol.py +2 -1
  165. rasa/core/lock_store.py +6 -4
  166. rasa/core/nlg/generator.py +1 -1
  167. rasa/core/policies/enterprise_search_policy.py +5 -3
  168. rasa/core/policies/flow_policy.py +4 -4
  169. rasa/core/policies/flows/agent_executor.py +632 -0
  170. rasa/core/policies/flows/flow_executor.py +137 -76
  171. rasa/core/policies/flows/mcp_tool_executor.py +298 -0
  172. rasa/core/policies/intentless_policy.py +1 -1
  173. rasa/core/policies/ted_policy.py +20 -12
  174. rasa/core/policies/unexpected_intent_policy.py +6 -0
  175. rasa/core/processor.py +68 -44
  176. rasa/core/redis_connection_factory.py +78 -20
  177. rasa/core/run.py +37 -8
  178. rasa/core/test.py +4 -0
  179. rasa/core/tracker_stores/sql_tracker_store.py +1 -1
  180. rasa/core/tracker_stores/tracker_store.py +3 -7
  181. rasa/core/train.py +1 -1
  182. rasa/core/training/interactive.py +20 -18
  183. rasa/core/training/story_conflict.py +5 -5
  184. rasa/core/utils.py +22 -23
  185. rasa/dialogue_understanding/commands/__init__.py +8 -0
  186. rasa/dialogue_understanding/commands/cancel_flow_command.py +19 -5
  187. rasa/dialogue_understanding/commands/chit_chat_answer_command.py +21 -2
  188. rasa/dialogue_understanding/commands/clarify_command.py +20 -2
  189. rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
  190. rasa/dialogue_understanding/commands/knowledge_answer_command.py +21 -2
  191. rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
  192. rasa/dialogue_understanding/commands/start_flow_command.py +68 -7
  193. rasa/dialogue_understanding/commands/utils.py +124 -2
  194. rasa/dialogue_understanding/generator/command_parser.py +4 -0
  195. rasa/dialogue_understanding/generator/llm_based_command_generator.py +50 -12
  196. rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
  197. rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
  198. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +66 -0
  199. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +66 -0
  200. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +89 -0
  201. rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +88 -0
  202. rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +42 -7
  203. rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +40 -3
  204. rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +20 -3
  205. rasa/dialogue_understanding/patterns/cancel.py +27 -6
  206. rasa/dialogue_understanding/patterns/clarify.py +3 -14
  207. rasa/dialogue_understanding/patterns/continue_interrupted.py +239 -6
  208. rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +46 -8
  209. rasa/dialogue_understanding/processor/command_processor.py +136 -15
  210. rasa/dialogue_understanding/stack/dialogue_stack.py +98 -2
  211. rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
  212. rasa/dialogue_understanding/stack/utils.py +57 -3
  213. rasa/dialogue_understanding/utils.py +24 -4
  214. rasa/dialogue_understanding_test/du_test_runner.py +8 -3
  215. rasa/e2e_test/e2e_test_runner.py +13 -3
  216. rasa/engine/caching.py +2 -2
  217. rasa/engine/constants.py +1 -1
  218. rasa/engine/loader.py +12 -0
  219. rasa/engine/recipes/default_components.py +138 -49
  220. rasa/engine/recipes/default_recipe.py +108 -11
  221. rasa/engine/runner/dask.py +8 -5
  222. rasa/engine/validation.py +19 -6
  223. rasa/graph_components/validators/default_recipe_validator.py +86 -28
  224. rasa/hooks.py +5 -5
  225. rasa/llm_fine_tuning/utils.py +2 -2
  226. rasa/model_training.py +60 -47
  227. rasa/nlu/classifiers/diet_classifier.py +198 -98
  228. rasa/nlu/classifiers/logistic_regression_classifier.py +1 -4
  229. rasa/nlu/classifiers/mitie_intent_classifier.py +3 -0
  230. rasa/nlu/classifiers/sklearn_intent_classifier.py +1 -3
  231. rasa/nlu/extractors/crf_entity_extractor.py +9 -10
  232. rasa/nlu/extractors/mitie_entity_extractor.py +3 -0
  233. rasa/nlu/extractors/spacy_entity_extractor.py +3 -0
  234. rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +4 -0
  235. rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +5 -0
  236. rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +2 -0
  237. rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +3 -0
  238. rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +4 -2
  239. rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -0
  240. rasa/nlu/selectors/response_selector.py +10 -2
  241. rasa/nlu/tokenizers/jieba_tokenizer.py +3 -4
  242. rasa/nlu/tokenizers/mitie_tokenizer.py +3 -2
  243. rasa/nlu/tokenizers/spacy_tokenizer.py +3 -2
  244. rasa/nlu/utils/mitie_utils.py +3 -0
  245. rasa/nlu/utils/spacy_utils.py +3 -2
  246. rasa/plugin.py +8 -8
  247. rasa/privacy/privacy_manager.py +12 -3
  248. rasa/server.py +15 -3
  249. rasa/shared/agents/__init__.py +0 -0
  250. rasa/shared/agents/auth/__init__.py +0 -0
  251. rasa/shared/agents/auth/agent_auth_factory.py +105 -0
  252. rasa/shared/agents/auth/agent_auth_manager.py +92 -0
  253. rasa/shared/agents/auth/auth_strategy/__init__.py +19 -0
  254. rasa/shared/agents/auth/auth_strategy/agent_auth_strategy.py +52 -0
  255. rasa/shared/agents/auth/auth_strategy/api_key_auth_strategy.py +42 -0
  256. rasa/shared/agents/auth/auth_strategy/bearer_token_auth_strategy.py +28 -0
  257. rasa/shared/agents/auth/auth_strategy/oauth2_auth_strategy.py +167 -0
  258. rasa/shared/agents/auth/constants.py +12 -0
  259. rasa/shared/agents/auth/types.py +12 -0
  260. rasa/shared/agents/utils.py +35 -0
  261. rasa/shared/constants.py +8 -0
  262. rasa/shared/core/constants.py +16 -1
  263. rasa/shared/core/domain.py +0 -7
  264. rasa/shared/core/events.py +327 -0
  265. rasa/shared/core/flows/constants.py +5 -0
  266. rasa/shared/core/flows/flow.py +1 -1
  267. rasa/shared/core/flows/flows_list.py +21 -5
  268. rasa/shared/core/flows/flows_yaml_schema.json +119 -184
  269. rasa/shared/core/flows/steps/call.py +49 -5
  270. rasa/shared/core/flows/steps/collect.py +98 -13
  271. rasa/shared/core/flows/validation.py +372 -8
  272. rasa/shared/core/flows/yaml_flows_io.py +3 -2
  273. rasa/shared/core/slots.py +2 -2
  274. rasa/shared/core/trackers.py +5 -2
  275. rasa/shared/exceptions.py +16 -0
  276. rasa/shared/importers/rasa.py +1 -1
  277. rasa/shared/importers/utils.py +9 -3
  278. rasa/shared/providers/llm/_base_litellm_client.py +41 -9
  279. rasa/shared/providers/llm/litellm_router_llm_client.py +8 -4
  280. rasa/shared/providers/llm/llm_client.py +7 -3
  281. rasa/shared/providers/llm/llm_response.py +66 -0
  282. rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
  283. rasa/shared/utils/common.py +24 -0
  284. rasa/shared/utils/health_check/health_check.py +7 -3
  285. rasa/shared/utils/llm.py +39 -16
  286. rasa/shared/utils/mcp/__init__.py +0 -0
  287. rasa/shared/utils/mcp/server_connection.py +247 -0
  288. rasa/shared/utils/mcp/utils.py +20 -0
  289. rasa/shared/utils/schemas/events.py +42 -0
  290. rasa/shared/utils/yaml.py +3 -1
  291. rasa/studio/pull/pull.py +3 -2
  292. rasa/studio/train.py +8 -7
  293. rasa/studio/upload.py +3 -6
  294. rasa/telemetry.py +69 -5
  295. rasa/tracing/config.py +45 -12
  296. rasa/tracing/constants.py +14 -0
  297. rasa/tracing/instrumentation/attribute_extractors.py +142 -9
  298. rasa/tracing/instrumentation/instrumentation.py +626 -21
  299. rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
  300. rasa/tracing/instrumentation/metrics.py +32 -0
  301. rasa/tracing/metric_instrument_provider.py +68 -0
  302. rasa/utils/common.py +92 -1
  303. rasa/utils/endpoints.py +11 -2
  304. rasa/utils/log_utils.py +96 -5
  305. rasa/utils/ml_utils.py +1 -1
  306. rasa/utils/pypred.py +38 -0
  307. rasa/utils/tensorflow/__init__.py +7 -0
  308. rasa/utils/tensorflow/callback.py +136 -101
  309. rasa/utils/tensorflow/crf.py +1 -1
  310. rasa/utils/tensorflow/data_generator.py +21 -8
  311. rasa/utils/tensorflow/layers.py +21 -11
  312. rasa/utils/tensorflow/metrics.py +7 -3
  313. rasa/utils/tensorflow/models.py +56 -8
  314. rasa/utils/tensorflow/rasa_layers.py +8 -6
  315. rasa/utils/tensorflow/transformer.py +2 -3
  316. rasa/utils/train_utils.py +54 -24
  317. rasa/validator.py +17 -13
  318. rasa/version.py +1 -1
  319. {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/METADATA +48 -42
  320. {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/RECORD +323 -251
  321. rasa/builder/scrape_rasa_docs.py +0 -97
  322. rasa/cli/project_templates/finance/data/general/agent_details.yml +0 -6
  323. rasa/cli/project_templates/finance/domain/_system/patterns/pattern_session_start.yml +0 -11
  324. rasa/cli/project_templates/finance/domain/general/agent_details.yml +0 -31
  325. rasa/core/channels/inspector/dist/assets/channel-8e08bed9.js +0 -1
  326. rasa/core/channels/inspector/dist/assets/clone-78c82dea.js +0 -1
  327. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-2b08f601.js +0 -1
  328. rasa/core/channels/inspector/dist/assets/index-c941dcb3.js +0 -1336
  329. {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/NOTICE +0 -0
  330. {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/WHEEL +0 -0
  331. {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/entry_points.txt +0 -0
rasa/utils/train_utils.py CHANGED
@@ -11,29 +11,57 @@ from rasa.nlu.constants import NUMBER_OF_SUB_TOKENS
11
11
  from rasa.shared.constants import NEXT_MAJOR_VERSION_FOR_DEPRECATIONS
12
12
  from rasa.shared.exceptions import InvalidConfigException
13
13
  from rasa.shared.nlu.constants import SPLIT_ENTITIES_BY_COMMA
14
- from rasa.utils.tensorflow.callback import RasaModelCheckpoint, RasaTrainingLogger
15
- from rasa.utils.tensorflow.constants import (
16
- AUTO,
17
- CHECKPOINT_MODEL,
18
- CONSTRAIN_SIMILARITIES,
19
- COSINE,
20
- CROSS_ENTROPY,
21
- EPOCHS,
22
- EVAL_NUM_EPOCHS,
23
- EVAL_NUM_EXAMPLES,
24
- INNER,
25
- LOSS_TYPE,
26
- MARGIN,
27
- MODEL_CONFIDENCE,
28
- RANKING_LENGTH,
29
- RENORMALIZE_CONFIDENCES,
30
- SEQUENCE,
31
- SIMILARITY_TYPE,
32
- SOFTMAX,
33
- TOLERANCE,
34
- )
35
- from rasa.utils.tensorflow.data_generator import RasaBatchDataGenerator
36
- from rasa.utils.tensorflow.model_data import RasaModelData
14
+ from rasa.utils.tensorflow import TENSORFLOW_AVAILABLE
15
+
16
+ # Conditional imports for TensorFlow-dependent modules
17
+ if TENSORFLOW_AVAILABLE:
18
+ from rasa.utils.tensorflow.callback import RasaModelCheckpoint, RasaTrainingLogger
19
+ from rasa.utils.tensorflow.constants import (
20
+ AUTO,
21
+ CHECKPOINT_MODEL,
22
+ CONSTRAIN_SIMILARITIES,
23
+ COSINE,
24
+ CROSS_ENTROPY,
25
+ EPOCHS,
26
+ EVAL_NUM_EPOCHS,
27
+ EVAL_NUM_EXAMPLES,
28
+ INNER,
29
+ LOSS_TYPE,
30
+ MARGIN,
31
+ MODEL_CONFIDENCE,
32
+ RANKING_LENGTH,
33
+ RENORMALIZE_CONFIDENCES,
34
+ SEQUENCE,
35
+ SIMILARITY_TYPE,
36
+ SOFTMAX,
37
+ TOLERANCE,
38
+ )
39
+ from rasa.utils.tensorflow.data_generator import RasaBatchDataGenerator
40
+ from rasa.utils.tensorflow.model_data import RasaModelData
41
+ else:
42
+ # Placeholder values when TensorFlow is not available
43
+ RasaModelCheckpoint = None # type: ignore
44
+ RasaTrainingLogger = None # type: ignore
45
+ RasaBatchDataGenerator = None # type: ignore
46
+ RasaModelData = None # type: ignore
47
+ AUTO = "auto"
48
+ CHECKPOINT_MODEL = "checkpoint_model"
49
+ CONSTRAIN_SIMILARITIES = "constrain_similarities"
50
+ COSINE = "cosine"
51
+ CROSS_ENTROPY = "cross_entropy"
52
+ EPOCHS = "epochs"
53
+ EVAL_NUM_EPOCHS = "eval_num_epochs"
54
+ EVAL_NUM_EXAMPLES = "eval_num_examples"
55
+ INNER = "inner"
56
+ LOSS_TYPE = "loss_type"
57
+ MARGIN = "margin"
58
+ MODEL_CONFIDENCE = "model_confidence"
59
+ RANKING_LENGTH = "ranking_length"
60
+ RENORMALIZE_CONFIDENCES = "renormalize_confidences"
61
+ SEQUENCE = "sequence"
62
+ SIMILARITY_TYPE = "similarity_type"
63
+ SOFTMAX = "softmax"
64
+ TOLERANCE = "tolerance"
37
65
 
38
66
  if TYPE_CHECKING:
39
67
  from tensorflow.keras.callbacks import Callback
@@ -87,7 +115,9 @@ def rank_and_mask(
87
115
 
88
116
 
89
117
  def update_similarity_type(config: Dict[Text, Any]) -> Dict[Text, Any]:
90
- """If SIMILARITY_TYPE is set to 'auto', update the SIMILARITY_TYPE depending
118
+ """Function to update the similarity type in the model configuration.
119
+
120
+ If SIMILARITY_TYPE is set to 'auto', update the SIMILARITY_TYPE depending
91
121
  on the LOSS_TYPE.
92
122
 
93
123
  Args:
rasa/validator.py CHANGED
@@ -6,7 +6,6 @@ from typing import Any, Dict, List, Optional, Set, Text, Tuple
6
6
 
7
7
  import structlog
8
8
  from jinja2 import Template
9
- from pypred import Predicate
10
9
  from pypred.ast import CompareOperator, Literal, NegateOperator
11
10
 
12
11
  import rasa.core.training.story_conflict
@@ -70,10 +69,11 @@ from rasa.shared.core.training_data.structures import StoryGraph
70
69
  from rasa.shared.data import create_regex_pattern_reader
71
70
  from rasa.shared.exceptions import RasaException
72
71
  from rasa.shared.importers.importer import TrainingDataImporter
73
- from rasa.shared.nlu.constants import COMMANDS
72
+ from rasa.shared.nlu.constants import COMMANDS, INTENT
74
73
  from rasa.shared.nlu.training_data.message import Message
75
74
  from rasa.shared.nlu.training_data.training_data import TrainingData
76
75
  from rasa.telemetry import track_validation_error_log
76
+ from rasa.utils.pypred import Predicate
77
77
 
78
78
  logger = logging.getLogger(__name__)
79
79
 
@@ -130,7 +130,7 @@ class Validator:
130
130
  """Compares list of intents in domain with intents in NLU training data."""
131
131
  everything_is_alright = True
132
132
 
133
- nlu_data_intents = {e.data["intent"] for e in self.intents.intent_examples}
133
+ nlu_data_intents = {e.data[INTENT] for e in self.intents.intent_examples}
134
134
 
135
135
  for intent in self._non_default_intents():
136
136
  if intent not in nlu_data_intents:
@@ -172,7 +172,7 @@ class Validator:
172
172
  duplication_hash = defaultdict(set)
173
173
  for example in self.intents.intent_examples:
174
174
  text = example.get(rasa.shared.nlu.constants.TEXT)
175
- duplication_hash[text].add(example.get("intent"))
175
+ duplication_hash[text].add(example.get(INTENT))
176
176
 
177
177
  for text, intents in duplication_hash.items():
178
178
  if len(duplication_hash[text]) > 1:
@@ -635,8 +635,8 @@ class Validator:
635
635
  Args:
636
636
  collect: the name of the slot to collect
637
637
  all_good: boolean value indicating the validation status
638
- domain_slots: the slots of the domain
639
- flow_id: the id of the flow
638
+ domain_slots: dictionary of domain slots
639
+ flow_id: the ID of the flow being validated
640
640
 
641
641
  Returns:
642
642
  False, if validation failed, true, otherwise
@@ -1183,23 +1183,27 @@ class Validator:
1183
1183
  )
1184
1184
 
1185
1185
  if isinstance(step, CollectInformationFlowStep):
1186
- predicates = [predicate.if_ for predicate in step.rejections]
1187
- for predicate in predicates:
1186
+ dumped_predicates = [predicate.if_ for predicate in step.rejections]
1187
+ for dumped_predicate in dumped_predicates:
1188
1188
  all_good = self._verify_namespaces(
1189
- predicate, step.id, flow.id, all_good
1189
+ dumped_predicate, step.id, flow.id, all_good
1190
1190
  )
1191
1191
 
1192
- pred, all_good = self._construct_predicate(
1193
- predicate, step.id, context, is_step=True, all_good=all_good
1192
+ predicate, all_good = self._construct_predicate(
1193
+ dumped_predicate,
1194
+ step.id,
1195
+ context,
1196
+ is_step=True,
1197
+ all_good=all_good,
1194
1198
  )
1195
- if pred and not pred.is_valid():
1199
+ if predicate and not predicate.is_valid():
1196
1200
  structlogger.error(
1197
1201
  "validator.verify_predicates.invalid_rejection",
1198
1202
  step=step.id,
1199
1203
  rejection=predicate,
1200
1204
  flow=flow.id,
1201
1205
  event_info=(
1202
- f"Detected invalid rejection '{predicate}' "
1206
+ f"Detected invalid rejection '{dumped_predicate}' "
1203
1207
  f"at `collect` step '{step.id}' "
1204
1208
  f"for flow id '{flow.id}'. "
1205
1209
  f"Please make sure that all conditions are valid."
rasa/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # this file will automatically be changed,
2
2
  # do not add anything but the version number here!
3
- __version__ = "3.14.0a20"
3
+ __version__ = "3.14.0a23"
@@ -1,36 +1,42 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: rasa-pro
3
- Version: 3.14.0a20
3
+ Version: 3.14.0a23
4
4
  Summary: State-of-the-art open-core Conversational AI framework for Enterprises that natively leverages generative AI for effortless assistant development.
5
5
  Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
6
6
  Author: Rasa Technologies GmbH
7
7
  Author-email: hi@rasa.com
8
8
  Maintainer: Tom Bocklisch
9
9
  Maintainer-email: tom@rasa.com
10
- Requires-Python: >=3.9.2,<3.12
10
+ Requires-Python: >=3.10.0,<3.14
11
11
  Classifier: Development Status :: 5 - Production/Stable
12
12
  Classifier: Intended Audience :: Developers
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Classifier: Programming Language :: Python :: 3.10
15
15
  Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
16
18
  Classifier: Topic :: Software Development :: Libraries
19
+ Provides-Extra: channels
17
20
  Provides-Extra: full
18
21
  Provides-Extra: gh-release-notes
19
22
  Provides-Extra: jieba
20
23
  Provides-Extra: metal
24
+ Provides-Extra: nlu
21
25
  Provides-Extra: pii
22
26
  Provides-Extra: spacy
23
27
  Provides-Extra: transformers
24
28
  Requires-Dist: CacheControl (>=0.14.2,<0.15.0)
25
29
  Requires-Dist: PyJWT[crypto] (>=2.8.0,<3.0.0)
26
30
  Requires-Dist: SQLAlchemy (>=2.0.42,<2.1.0)
31
+ Requires-Dist: a2a-sdk (>=0.3.4,<0.4.0)
27
32
  Requires-Dist: absl-py (>=2.0,<2.1)
28
33
  Requires-Dist: aio-pika (>=8.2.3,<9.4.4)
29
- Requires-Dist: aiogram (>=3.22.0,<3.23.0)
34
+ Requires-Dist: aiogram (>=3.22.0,<3.23.0) ; extra == "full" or extra == "channels"
30
35
  Requires-Dist: aiohttp (>=3.10,<3.11)
31
- Requires-Dist: aioshutil (>=1.5,<2.0)
36
+ Requires-Dist: aioshutil (>=1.5,<1.6)
32
37
  Requires-Dist: apscheduler (>=3.10,<3.11)
33
- Requires-Dist: attrs (>=23.1,<23.2)
38
+ Requires-Dist: attrs (>=23.1,<25.0)
39
+ Requires-Dist: audioop-lts (>=0.2.2,<0.3.0) ; python_version >= "3.13"
34
40
  Requires-Dist: aws-msk-iam-sasl-signer-python (>=1.0.2,<1.1.0)
35
41
  Requires-Dist: azure-identity (>=1.24.0,<1.25.0)
36
42
  Requires-Dist: azure-storage-blob (>=12.26.0,<12.27.0)
@@ -42,53 +48,53 @@ Requires-Dist: coloredlogs (>=15,<16)
42
48
  Requires-Dist: colorhash (>=2.0,<2.1.0)
43
49
  Requires-Dist: confluent-kafka (>=2.11.0,<3.0.0)
44
50
  Requires-Dist: cryptography (>=45.0.6,<45.1.0)
45
- Requires-Dist: cvg-python-sdk (>=0.5.1,<0.6.0)
51
+ Requires-Dist: cvg-python-sdk (>=0.5.1,<0.6.0) ; extra == "full" or extra == "channels"
46
52
  Requires-Dist: dask (>=2024.8.0,<2024.9.0)
47
53
  Requires-Dist: demoji (>=1.1.0,<2.0.0)
48
54
  Requires-Dist: diskcache (>=5.6.3,<5.7.0)
49
55
  Requires-Dist: dnspython (==2.6.1)
50
56
  Requires-Dist: faiss-cpu (>=1.11.0,<1.12.0)
51
- Requires-Dist: fbmessenger (>=6.0.0,<6.1.0)
57
+ Requires-Dist: fbmessenger (>=6.0.0,<6.1.0) ; extra == "full" or extra == "channels"
52
58
  Requires-Dist: github3.py (>=3.2.0,<3.3.0) ; extra == "gh-release-notes"
53
59
  Requires-Dist: gitpython (>=3.1.41,<3.2.0) ; extra == "full"
54
- Requires-Dist: gliner (>=0.2.20,<0.3.0) ; extra == "pii"
60
+ Requires-Dist: gliner (>=0.2.20,<0.3.0) ; extra == "full" or extra == "pii"
55
61
  Requires-Dist: google-auth (>=2.40.3,<2.41.0)
56
62
  Requires-Dist: google-cloud-storage (>=2.14.0,<2.15.0)
57
63
  Requires-Dist: hvac (>=2.3.0,<2.4.0)
58
64
  Requires-Dist: importlib-metadata (>=8.5.0,<8.6.0)
59
- Requires-Dist: importlib-resources (==6.1.3)
60
- Requires-Dist: jieba (>=0.42.1,<0.43) ; extra == "jieba" or extra == "full"
65
+ Requires-Dist: importlib-resources (>=6.5.2,<7.0.0)
66
+ Requires-Dist: jieba (>=0.42.1,<0.43) ; extra == "jieba" or extra == "full" or extra == "nlu"
61
67
  Requires-Dist: jinja2 (>=3.1.6,<3.2.0)
62
68
  Requires-Dist: jsonpatch (>=1.33,<2.0)
63
69
  Requires-Dist: jsonpickle (>=3.3.0,<3.4)
64
70
  Requires-Dist: jsonschema (>=4.22)
65
- Requires-Dist: keras (==2.14.0)
66
71
  Requires-Dist: langchain (>=0.3.27,<0.4.0)
67
72
  Requires-Dist: langchain-community (>=0.3.29,<0.4.0)
68
73
  Requires-Dist: langcodes (>=3.5.0,<4.0.0)
69
74
  Requires-Dist: litellm (>=1.69.0,<1.70.0)
70
75
  Requires-Dist: matplotlib (>=3.9.4,<3.10.0)
71
- Requires-Dist: mattermostwrapper (>=2.2,<2.3)
76
+ Requires-Dist: mattermostwrapper (>=2.2,<2.3) ; extra == "full" or extra == "channels"
77
+ Requires-Dist: mcp (>=1.12.0,<1.13.0)
78
+ Requires-Dist: mitie (>=0.7.36,<0.8.0) ; extra == "full" or extra == "nlu"
72
79
  Requires-Dist: networkx (>=3.1,<3.2)
73
- Requires-Dist: numpy (>=1.26.4,<1.27.0)
74
- Requires-Dist: onnxruntime (==1.19.2) ; extra == "pii"
80
+ Requires-Dist: numpy (>=2.1.3,<2.2.0)
81
+ Requires-Dist: onnxruntime (==1.22.1) ; extra == "full" or extra == "pii"
75
82
  Requires-Dist: openai (>=1.68.2,<1.69.0)
76
83
  Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
77
- Requires-Dist: opentelemetry-api (>=1.16.0,<1.17.0)
78
- Requires-Dist: opentelemetry-exporter-jaeger (>=1.16.0,<1.17.0)
79
- Requires-Dist: opentelemetry-exporter-otlp (>=1.16.0,<1.17.0)
80
- Requires-Dist: opentelemetry-sdk (>=1.16.0,<1.17.0)
84
+ Requires-Dist: opentelemetry-api (>=1.33.0,<1.34.0)
85
+ Requires-Dist: opentelemetry-exporter-otlp (>=1.33.0,<1.34.0)
86
+ Requires-Dist: opentelemetry-sdk (>=1.33.0,<1.34.0)
81
87
  Requires-Dist: packaging (>=23.2,<23.3)
82
- Requires-Dist: pep440-version-utils (>=1.1.0,<1.2.0)
88
+ Requires-Dist: pep440-version-utils (>=1.2.0,<1.3.0)
83
89
  Requires-Dist: pluggy (>=1.2.0,<2.0.0)
84
90
  Requires-Dist: portalocker (>=2.7.0,<3.0.0)
85
91
  Requires-Dist: prompt-toolkit (>=3.0.28,<3.0.29)
86
- Requires-Dist: protobuf (>=4.25.8,<4.26.0)
92
+ Requires-Dist: protobuf (>=5.29.5,<5.30.0)
87
93
  Requires-Dist: psutil (>=5.9.5,<6.0.0)
88
94
  Requires-Dist: psycopg2-binary (>=2.9.10,<2.10.0)
89
95
  Requires-Dist: pydot (>=1.4,<1.5)
90
96
  Requires-Dist: pykwalify (>=1.8,<1.9)
91
- Requires-Dist: pymilvus (>=2.4.1,<2.4.2)
97
+ Requires-Dist: pymilvus (>=2.6.1,<3.0.0)
92
98
  Requires-Dist: pymongo (>=4.10.1,<4.11.0)
93
99
  Requires-Dist: pypred (>=0.4.0,<0.5.0)
94
100
  Requires-Dist: python-dateutil (>=2.8.2,<2.9.0)
@@ -101,12 +107,12 @@ Requires-Dist: pyyaml (>=6.0.2,<6.1.0)
101
107
  Requires-Dist: qdrant-client (>=1.9.1,<1.10.0)
102
108
  Requires-Dist: questionary (>=1.10.0,<2.1.0)
103
109
  Requires-Dist: randomname (>=0.2.1,<0.3.0)
104
- Requires-Dist: rasa-sdk (==3.14.0a1)
110
+ Requires-Dist: rasa-sdk (==3.14.0.dev8)
105
111
  Requires-Dist: redis (>=4.6.0,<6.0)
106
112
  Requires-Dist: regex (>=2024.7.24,<2024.8.0)
107
113
  Requires-Dist: requests (>=2.32.5,<2.33.0)
108
114
  Requires-Dist: rich (>=13.4.2,<14.0.0)
109
- Requires-Dist: rocketchat_API (>=1.32.0,<1.33.0)
115
+ Requires-Dist: rocketchat_API (>=1.32.0,<1.33.0) ; extra == "full" or extra == "channels"
110
116
  Requires-Dist: ruamel.yaml (>=0.17.21,<0.17.22)
111
117
  Requires-Dist: safetensors (>=0.4.5,<0.5.0)
112
118
  Requires-Dist: sanic (>=22.12,<22.13)
@@ -115,38 +121,38 @@ Requires-Dist: sanic-jwt (>=1.8.0,<2.0.0)
115
121
  Requires-Dist: sanic-openapi (>=21.12.0,<22.0.0)
116
122
  Requires-Dist: sanic-routing (>=22.8.0,<23.0.0)
117
123
  Requires-Dist: scikit-learn (>=1.6.1,<1.7.0)
118
- Requires-Dist: scipy (>=1.13.1,<1.14.0)
119
- Requires-Dist: sentencepiece[sentencepiece] (>=0.1.99,<0.2.0) ; extra == "transformers" or extra == "full"
124
+ Requires-Dist: scipy (>=1.13.1,<1.14.0) ; python_version < "3.12"
125
+ Requires-Dist: scipy (>=1.14.0,<1.15.0) ; python_version >= "3.12"
126
+ Requires-Dist: sentencepiece (>=0.1.99,<0.2.0) ; (python_version < "3.12") and (extra == "transformers" or extra == "full" or extra == "full" or extra == "nlu")
120
127
  Requires-Dist: sentry-sdk (>=2.8.0,<3)
121
128
  Requires-Dist: setuptools (>=78.1.1,<78.2.0)
122
- Requires-Dist: sklearn-crfsuite (>=0.5.0,<0.6.0)
123
- Requires-Dist: skops (>=0.13.0,<0.14.0)
124
- Requires-Dist: slack-sdk (>=3.36.0,<3.37.0)
125
- Requires-Dist: spacy (>=3.5.4,<4.0.0) ; extra == "spacy" or extra == "full"
129
+ Requires-Dist: sklearn-crfsuite (>=0.5.0,<0.6.0) ; extra == "full" or extra == "nlu"
130
+ Requires-Dist: skops (>=0.13.0,<0.14.0) ; extra == "full" or extra == "nlu"
131
+ Requires-Dist: slack-sdk (>=3.36.0,<3.37.0) ; extra == "full" or extra == "channels"
132
+ Requires-Dist: spacy (>=3.5.4,<4.0.0) ; extra == "spacy" or extra == "full" or extra == "nlu"
126
133
  Requires-Dist: structlog (>=25.4.0,<25.5.0)
127
134
  Requires-Dist: structlog-sentry (>=2.0.3,<2.1.0)
128
135
  Requires-Dist: tarsafe (>=0.0.5,<0.0.6)
129
136
  Requires-Dist: tenacity (>=8.4.1,<8.5.0)
130
- Requires-Dist: tensorflow (==2.14.1) ; sys_platform != "darwin" or platform_machine != "arm64"
131
- Requires-Dist: tensorflow-cpu-aws (==2.14.1) ; sys_platform == "linux" and (platform_machine == "arm64" or platform_machine == "aarch64")
132
- Requires-Dist: tensorflow-intel (==2.14.1) ; sys_platform == "win32"
133
- Requires-Dist: tensorflow-io-gcs-filesystem (==0.31) ; sys_platform == "win32"
134
- Requires-Dist: tensorflow-io-gcs-filesystem (==0.34) ; sys_platform == "darwin" and platform_machine != "arm64"
135
- Requires-Dist: tensorflow-io-gcs-filesystem (==0.34) ; sys_platform == "linux"
136
- Requires-Dist: tensorflow-macos (==2.14.1) ; sys_platform == "darwin" and platform_machine == "arm64"
137
- Requires-Dist: tensorflow-metal (==1.1.0) ; (sys_platform == "darwin" and platform_machine == "arm64") and (extra == "metal")
138
- Requires-Dist: tensorflow-text (==2.14.0) ; sys_platform != "win32" and platform_machine != "arm64" and platform_machine != "aarch64"
139
- Requires-Dist: tensorflow_hub (>=0.13.0,<0.14.0)
137
+ Requires-Dist: tensorflow (>=2.19.0,<3.0.0) ; (sys_platform != "darwin" or platform_machine != "arm64" and python_version < "3.12") and (extra == "full" or extra == "nlu")
138
+ Requires-Dist: tensorflow-hub (>=0.16.0,<0.17.0) ; (python_version < "3.12") and (extra == "full" or extra == "nlu")
139
+ Requires-Dist: tensorflow-io-gcs-filesystem (==0.31) ; (sys_platform == "win32" and python_version < "3.12") and (extra == "full" or extra == "nlu")
140
+ Requires-Dist: tensorflow-io-gcs-filesystem (==0.34) ; (sys_platform == "darwin" and platform_machine != "arm64" and python_version < "3.12") and (extra == "full" or extra == "nlu")
141
+ Requires-Dist: tensorflow-io-gcs-filesystem (==0.34) ; (sys_platform == "linux" and python_version < "3.12") and (extra == "full" or extra == "nlu")
142
+ Requires-Dist: tensorflow-metal (>=1.2.0,<2.0.0) ; (sys_platform == "darwin" and platform_machine == "arm64" and python_version < "3.12") and (extra == "full" or extra == "metal" or extra == "nlu")
143
+ Requires-Dist: tensorflow-text (>=2.19.0,<3.0.0) ; (sys_platform != "win32" and platform_machine != "arm64" and platform_machine != "aarch64" and python_version < "3.12") and (extra == "full" or extra == "nlu")
140
144
  Requires-Dist: terminaltables (>=3.1.10,<3.2.0)
145
+ Requires-Dist: tf-keras (>=2.15.0,<3.0.0) ; (python_version < "3.12") and (extra == "full" or extra == "nlu")
141
146
  Requires-Dist: tiktoken (>=0.9.0,<0.10.0)
142
147
  Requires-Dist: tqdm (>=4.66.2,<5.0.0)
143
- Requires-Dist: transformers (>=4.38.2,<4.39.0) ; extra == "transformers" or extra == "full"
144
- Requires-Dist: twilio (>=9.7.2,<9.8.0)
148
+ Requires-Dist: transformers (>=4.38.2,<4.39.0) ; extra == "transformers" or extra == "full" or extra == "nlu"
149
+ Requires-Dist: twilio (>=9.7.2,<9.8.0) ; extra == "full" or extra == "channels"
150
+ Requires-Dist: types-cachetools (>=6.2.0.20250827,<6.3.0.0)
145
151
  Requires-Dist: types-protobuf (==4.25.0.20240417)
146
152
  Requires-Dist: typing-extensions (>=4.7.1,<5.0.0)
147
153
  Requires-Dist: typing-utils (>=0.1.0,<0.2.0)
148
154
  Requires-Dist: ujson (>=5.8,<6.0)
149
- Requires-Dist: webexteamssdk (>=1.6.1,<1.7.0)
155
+ Requires-Dist: webexteamssdk (>=1.6.1,<1.7.0) ; extra == "full" or extra == "channels"
150
156
  Requires-Dist: websockets (>=10.4,<11.0)
151
157
  Requires-Dist: wheel (>=0.40.0)
152
158
  Project-URL: Documentation, https://rasa.com/docs