rasa-pro 3.12.0.dev1__py3-none-any.whl → 3.12.0.dev3__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 (499) hide show
  1. rasa/__main__.py +7 -7
  2. rasa/anonymization/anonymisation_rule_yaml_reader.py +1 -1
  3. rasa/anonymization/anonymization_pipeline.py +3 -3
  4. rasa/anonymization/anonymization_rule_executor.py +1 -1
  5. rasa/anonymization/anonymization_rule_orchestrator.py +2 -3
  6. rasa/cli/arguments/data.py +2 -2
  7. rasa/cli/arguments/evaluate.py +2 -1
  8. rasa/cli/arguments/interactive.py +1 -1
  9. rasa/cli/arguments/run.py +1 -1
  10. rasa/cli/arguments/test.py +7 -5
  11. rasa/cli/arguments/train.py +3 -3
  12. rasa/cli/arguments/visualize.py +2 -2
  13. rasa/cli/arguments/x.py +1 -0
  14. rasa/cli/data.py +4 -3
  15. rasa/cli/dialogue_understanding_test.py +116 -18
  16. rasa/cli/evaluate.py +1 -1
  17. rasa/cli/export.py +6 -6
  18. rasa/cli/interactive.py +4 -5
  19. rasa/cli/llm_fine_tuning.py +5 -5
  20. rasa/cli/markers.py +1 -2
  21. rasa/cli/project_templates/calm/actions/add_contact.py +1 -1
  22. rasa/cli/project_templates/tutorial/actions/actions.py +3 -2
  23. rasa/cli/shell.py +2 -3
  24. rasa/cli/studio/download.py +1 -2
  25. rasa/cli/studio/studio.py +2 -3
  26. rasa/cli/studio/train.py +0 -1
  27. rasa/cli/telemetry.py +2 -2
  28. rasa/cli/test.py +11 -11
  29. rasa/cli/utils.py +7 -5
  30. rasa/core/__init__.py +0 -1
  31. rasa/core/actions/action.py +42 -21
  32. rasa/core/actions/action_hangup.py +1 -1
  33. rasa/core/actions/action_repeat_bot_messages.py +2 -2
  34. rasa/core/actions/action_run_slot_rejections.py +2 -2
  35. rasa/core/actions/action_trigger_chitchat.py +1 -1
  36. rasa/core/actions/action_trigger_flow.py +5 -5
  37. rasa/core/actions/action_trigger_search.py +1 -1
  38. rasa/core/actions/forms.py +14 -12
  39. rasa/core/actions/http_custom_action_executor.py +8 -1
  40. rasa/core/actions/loops.py +3 -3
  41. rasa/core/actions/two_stage_fallback.py +13 -13
  42. rasa/core/auth_retry_tracker_store.py +1 -2
  43. rasa/core/brokers/broker.py +2 -1
  44. rasa/core/brokers/file.py +1 -1
  45. rasa/core/brokers/kafka.py +8 -8
  46. rasa/core/brokers/pika.py +8 -9
  47. rasa/core/brokers/sql.py +4 -3
  48. rasa/core/channels/__init__.py +3 -0
  49. rasa/core/channels/botframework.py +2 -2
  50. rasa/core/channels/callback.py +4 -4
  51. rasa/core/channels/channel.py +11 -11
  52. rasa/core/channels/console.py +0 -1
  53. rasa/core/channels/development_inspector.py +6 -6
  54. rasa/core/channels/facebook.py +5 -5
  55. rasa/core/channels/hangouts.py +7 -8
  56. rasa/core/channels/inspector/dist/assets/{arc-861ddd57.js → arc-632a63ec.js} +1 -1
  57. rasa/core/channels/inspector/dist/assets/{c4Diagram-d0fbc5ce-921f02db.js → c4Diagram-d0fbc5ce-081e0df4.js} +1 -1
  58. rasa/core/channels/inspector/dist/assets/{classDiagram-936ed81e-b436c4f8.js → classDiagram-936ed81e-3df0afc2.js} +1 -1
  59. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-c3cb15f1-511a23cb.js → classDiagram-v2-c3cb15f1-8c5ed31e.js} +1 -1
  60. rasa/core/channels/inspector/dist/assets/{createText-62fc7601-ef476ecd.js → createText-62fc7601-89c73b31.js} +1 -1
  61. rasa/core/channels/inspector/dist/assets/{edges-f2ad444c-f1878e0a.js → edges-f2ad444c-4fc48c3e.js} +1 -1
  62. rasa/core/channels/inspector/dist/assets/{erDiagram-9d236eb7-fac75185.js → erDiagram-9d236eb7-907e0440.js} +1 -1
  63. rasa/core/channels/inspector/dist/assets/{flowDb-1972c806-201c5bbc.js → flowDb-1972c806-9ec53a3c.js} +1 -1
  64. rasa/core/channels/inspector/dist/assets/{flowDiagram-7ea5b25a-f904ae41.js → flowDiagram-7ea5b25a-41da787a.js} +1 -1
  65. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-855bc5b3-8bea338b.js +1 -0
  66. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-abe16c3d-1813da66.js → flowchart-elk-definition-abe16c3d-ce370633.js} +1 -1
  67. rasa/core/channels/inspector/dist/assets/{ganttDiagram-9b5ea136-872af172.js → ganttDiagram-9b5ea136-90a36523.js} +1 -1
  68. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-99d0ae7c-34a0af5a.js → gitGraphDiagram-99d0ae7c-41e1aa3f.js} +1 -1
  69. rasa/core/channels/inspector/dist/assets/{index-2c4b9a3b-42ba3e3d.js → index-2c4b9a3b-e6f2af62.js} +1 -1
  70. rasa/core/channels/inspector/dist/assets/{index-37817b51.js → index-e793d777.js} +3 -3
  71. rasa/core/channels/inspector/dist/assets/{infoDiagram-736b4530-6b731386.js → infoDiagram-736b4530-8ceba4db.js} +1 -1
  72. rasa/core/channels/inspector/dist/assets/{journeyDiagram-df861f2b-e8579ac6.js → journeyDiagram-df861f2b-960d3809.js} +1 -1
  73. rasa/core/channels/inspector/dist/assets/{layout-89e6403a.js → layout-498807d8.js} +1 -1
  74. rasa/core/channels/inspector/dist/assets/{line-dc73d3fc.js → line-eeccc4e2.js} +1 -1
  75. rasa/core/channels/inspector/dist/assets/{linear-f5b1d2bc.js → linear-8a078617.js} +1 -1
  76. rasa/core/channels/inspector/dist/assets/{mindmap-definition-beec6740-82cb74fa.js → mindmap-definition-beec6740-396d17dd.js} +1 -1
  77. rasa/core/channels/inspector/dist/assets/{pieDiagram-dbbf0591-bdf5f29b.js → pieDiagram-dbbf0591-dc9b5e1b.js} +1 -1
  78. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-4d7f4fd6-c7a0cbe4.js → quadrantDiagram-4d7f4fd6-a08cba6d.js} +1 -1
  79. rasa/core/channels/inspector/dist/assets/{requirementDiagram-6fc4c22a-7ec5410f.js → requirementDiagram-6fc4c22a-87242b9e.js} +1 -1
  80. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-8f13d901-caee5554.js → sankeyDiagram-8f13d901-53f6f391.js} +1 -1
  81. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-b655622a-2935f8db.js → sequenceDiagram-b655622a-715c9c20.js} +1 -1
  82. rasa/core/channels/inspector/dist/assets/{stateDiagram-59f0c015-8f5d9693.js → stateDiagram-59f0c015-2e8fb31f.js} +1 -1
  83. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-2b26beab-d565d1de.js → stateDiagram-v2-2b26beab-7e2d2aa0.js} +1 -1
  84. rasa/core/channels/inspector/dist/assets/{styles-080da4f6-75ad421d.js → styles-080da4f6-4420cea6.js} +1 -1
  85. rasa/core/channels/inspector/dist/assets/{styles-3dcbcfbf-7e764226.js → styles-3dcbcfbf-28676cf4.js} +1 -1
  86. rasa/core/channels/inspector/dist/assets/{styles-9c745c82-7a4e0e61.js → styles-9c745c82-cef936a6.js} +1 -1
  87. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-4835440b-4019d1bf.js → svgDrawCommon-4835440b-151251e9.js} +1 -1
  88. rasa/core/channels/inspector/dist/assets/{timeline-definition-5b62e21b-01ea12df.js → timeline-definition-5b62e21b-0d39bdb2.js} +1 -1
  89. rasa/core/channels/inspector/dist/assets/{xychartDiagram-2b33534f-89407137.js → xychartDiagram-2b33534f-a03fa445.js} +1 -1
  90. rasa/core/channels/inspector/dist/index.html +3 -1
  91. rasa/core/channels/inspector/index.html +2 -0
  92. rasa/core/channels/inspector/src/App.tsx +1 -4
  93. rasa/core/channels/mattermost.py +4 -4
  94. rasa/core/channels/rasa_chat.py +4 -4
  95. rasa/core/channels/rest.py +11 -12
  96. rasa/core/channels/rocketchat.py +4 -3
  97. rasa/core/channels/slack.py +6 -5
  98. rasa/core/channels/socketio.py +7 -28
  99. rasa/core/channels/studio_chat.py +193 -0
  100. rasa/core/channels/telegram.py +73 -41
  101. rasa/core/channels/twilio.py +3 -3
  102. rasa/core/channels/vier_cvg.py +2 -2
  103. rasa/core/channels/voice_ready/audiocodes.py +8 -8
  104. rasa/core/channels/voice_ready/jambonz.py +5 -5
  105. rasa/core/channels/voice_ready/jambonz_protocol.py +3 -4
  106. rasa/core/channels/voice_ready/twilio_voice.py +9 -8
  107. rasa/core/channels/voice_ready/utils.py +1 -1
  108. rasa/core/channels/voice_stream/asr/asr_engine.py +2 -2
  109. rasa/core/channels/voice_stream/asr/azure.py +2 -2
  110. rasa/core/channels/voice_stream/asr/deepgram.py +57 -16
  111. rasa/core/channels/voice_stream/browser_audio.py +9 -6
  112. rasa/core/channels/voice_stream/call_state.py +2 -1
  113. rasa/core/channels/voice_stream/tts/azure.py +1 -2
  114. rasa/core/channels/voice_stream/tts/cartesia.py +5 -4
  115. rasa/core/channels/voice_stream/tts/tts_cache.py +3 -2
  116. rasa/core/channels/voice_stream/tts/tts_engine.py +1 -1
  117. rasa/core/channels/voice_stream/twilio_media_streams.py +10 -7
  118. rasa/core/channels/voice_stream/util.py +1 -1
  119. rasa/core/channels/voice_stream/voice_channel.py +15 -15
  120. rasa/core/channels/webexteams.py +3 -4
  121. rasa/core/evaluation/marker.py +7 -6
  122. rasa/core/evaluation/marker_base.py +15 -16
  123. rasa/core/evaluation/marker_stats.py +3 -4
  124. rasa/core/evaluation/marker_tracker_loader.py +5 -4
  125. rasa/core/exporter.py +4 -4
  126. rasa/core/featurizers/precomputation.py +8 -8
  127. rasa/core/featurizers/single_state_featurizer.py +7 -7
  128. rasa/core/featurizers/tracker_featurizers.py +13 -13
  129. rasa/core/http_interpreter.py +3 -4
  130. rasa/core/information_retrieval/__init__.py +1 -1
  131. rasa/core/information_retrieval/faiss.py +4 -4
  132. rasa/core/information_retrieval/information_retrieval.py +2 -2
  133. rasa/core/information_retrieval/milvus.py +3 -3
  134. rasa/core/information_retrieval/qdrant.py +3 -3
  135. rasa/core/jobs.py +1 -0
  136. rasa/core/lock.py +2 -3
  137. rasa/core/lock_store.py +3 -3
  138. rasa/core/migrate.py +11 -8
  139. rasa/core/nlg/__init__.py +1 -1
  140. rasa/core/nlg/callback.py +2 -3
  141. rasa/core/nlg/contextual_response_rephraser.py +63 -13
  142. rasa/core/nlg/generator.py +2 -2
  143. rasa/core/nlg/interpolator.py +4 -3
  144. rasa/core/nlg/response.py +3 -4
  145. rasa/core/nlg/summarize.py +1 -0
  146. rasa/core/persistor.py +3 -3
  147. rasa/core/policies/ensemble.py +10 -9
  148. rasa/core/policies/enterprise_search_policy.py +86 -21
  149. rasa/core/policies/flow_policy.py +13 -14
  150. rasa/core/policies/flows/flow_executor.py +35 -11
  151. rasa/core/policies/intentless_policy.py +6 -7
  152. rasa/core/policies/memoization.py +22 -20
  153. rasa/core/policies/policy.py +24 -22
  154. rasa/core/policies/rule_policy.py +37 -36
  155. rasa/core/policies/ted_policy.py +87 -85
  156. rasa/core/policies/unexpected_intent_policy.py +77 -75
  157. rasa/core/processor.py +96 -65
  158. rasa/core/run.py +1 -1
  159. rasa/core/secrets_manager/endpoints.py +2 -3
  160. rasa/core/secrets_manager/factory.py +2 -3
  161. rasa/core/secrets_manager/secret_manager.py +2 -3
  162. rasa/core/secrets_manager/vault.py +2 -2
  163. rasa/core/test.py +30 -30
  164. rasa/core/tracker_store.py +15 -15
  165. rasa/core/train.py +1 -1
  166. rasa/core/training/__init__.py +2 -2
  167. rasa/core/training/converters/responses_prefix_converter.py +1 -2
  168. rasa/core/training/interactive.py +13 -13
  169. rasa/core/training/story_conflict.py +4 -5
  170. rasa/core/training/training.py +3 -5
  171. rasa/core/utils.py +5 -5
  172. rasa/core/visualize.py +1 -1
  173. rasa/dialogue_understanding/coexistence/intent_based_router.py +2 -2
  174. rasa/dialogue_understanding/coexistence/llm_based_router.py +5 -5
  175. rasa/dialogue_understanding/commands/__init__.py +22 -22
  176. rasa/dialogue_understanding/commands/can_not_handle_command.py +20 -1
  177. rasa/dialogue_understanding/commands/cancel_flow_command.py +18 -7
  178. rasa/dialogue_understanding/commands/change_flow_command.py +18 -2
  179. rasa/dialogue_understanding/commands/chit_chat_answer_command.py +18 -4
  180. rasa/dialogue_understanding/commands/clarify_command.py +19 -3
  181. rasa/dialogue_understanding/commands/command.py +19 -3
  182. rasa/dialogue_understanding/commands/correct_slots_command.py +3 -3
  183. rasa/dialogue_understanding/commands/error_command.py +1 -1
  184. rasa/dialogue_understanding/commands/free_form_answer_command.py +2 -1
  185. rasa/dialogue_understanding/commands/handle_code_change_command.py +2 -2
  186. rasa/dialogue_understanding/commands/human_handoff_command.py +16 -4
  187. rasa/dialogue_understanding/commands/knowledge_answer_command.py +18 -4
  188. rasa/dialogue_understanding/commands/noop_command.py +2 -1
  189. rasa/dialogue_understanding/commands/repeat_bot_messages_command.py +16 -4
  190. rasa/dialogue_understanding/commands/restart_command.py +2 -5
  191. rasa/dialogue_understanding/commands/session_end_command.py +3 -5
  192. rasa/dialogue_understanding/commands/session_start_command.py +3 -5
  193. rasa/dialogue_understanding/commands/set_slot_command.py +27 -3
  194. rasa/dialogue_understanding/commands/skip_question_command.py +16 -4
  195. rasa/dialogue_understanding/commands/start_flow_command.py +17 -2
  196. rasa/dialogue_understanding/commands/user_silence_command.py +3 -5
  197. rasa/dialogue_understanding/commands/utils.py +64 -45
  198. rasa/dialogue_understanding/constants.py +1 -0
  199. rasa/dialogue_understanding/generator/command_generator.py +2 -119
  200. rasa/dialogue_understanding/generator/command_parser.py +201 -0
  201. rasa/dialogue_understanding/generator/constants.py +2 -2
  202. rasa/dialogue_understanding/generator/flow_retrieval.py +7 -7
  203. rasa/dialogue_understanding/generator/llm_based_command_generator.py +11 -57
  204. rasa/dialogue_understanding/generator/llm_command_generator.py +2 -1
  205. rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +67 -120
  206. rasa/dialogue_understanding/generator/nlu_command_adapter.py +8 -10
  207. rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py +32 -93
  208. rasa/dialogue_understanding/generator/utils.py +45 -0
  209. rasa/dialogue_understanding/patterns/cancel.py +2 -1
  210. rasa/dialogue_understanding/patterns/cannot_handle.py +1 -0
  211. rasa/dialogue_understanding/patterns/chitchat.py +1 -1
  212. rasa/dialogue_understanding/patterns/clarify.py +2 -1
  213. rasa/dialogue_understanding/patterns/code_change.py +2 -0
  214. rasa/dialogue_understanding/patterns/collect_information.py +6 -3
  215. rasa/dialogue_understanding/patterns/completed.py +1 -1
  216. rasa/dialogue_understanding/patterns/continue_interrupted.py +10 -1
  217. rasa/dialogue_understanding/patterns/correction.py +4 -2
  218. rasa/dialogue_understanding/patterns/human_handoff.py +1 -1
  219. rasa/dialogue_understanding/patterns/internal_error.py +1 -0
  220. rasa/dialogue_understanding/patterns/search.py +1 -1
  221. rasa/dialogue_understanding/patterns/session_start.py +1 -1
  222. rasa/dialogue_understanding/patterns/skip_question.py +1 -0
  223. rasa/dialogue_understanding/patterns/user_silence.py +1 -1
  224. rasa/dialogue_understanding/processor/command_processor.py +13 -9
  225. rasa/dialogue_understanding/processor/command_processor_component.py +1 -1
  226. rasa/dialogue_understanding/stack/dialogue_stack.py +4 -3
  227. rasa/dialogue_understanding/stack/frames/__init__.py +2 -2
  228. rasa/dialogue_understanding/stack/frames/chit_chat_frame.py +4 -1
  229. rasa/dialogue_understanding/stack/frames/dialogue_stack_frame.py +2 -3
  230. rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +5 -2
  231. rasa/dialogue_understanding/stack/frames/search_frame.py +4 -1
  232. rasa/dialogue_understanding/stack/utils.py +8 -4
  233. rasa/dialogue_understanding/utils.py +121 -2
  234. rasa/dialogue_understanding_test/README.md +379 -0
  235. rasa/dialogue_understanding_test/command_comparison.py +60 -0
  236. rasa/dialogue_understanding_test/command_metric_calculation.py +110 -4
  237. rasa/dialogue_understanding_test/constants.py +6 -1
  238. rasa/dialogue_understanding_test/du_test_case.py +252 -38
  239. rasa/dialogue_understanding_test/du_test_result.py +281 -2
  240. rasa/dialogue_understanding_test/du_test_runner.py +239 -10
  241. rasa/dialogue_understanding_test/du_test_schema.yml +161 -0
  242. rasa/dialogue_understanding_test/io.py +338 -20
  243. rasa/dialogue_understanding_test/test_case_simulation/__init__.py +0 -0
  244. rasa/dialogue_understanding_test/test_case_simulation/exception.py +28 -0
  245. rasa/dialogue_understanding_test/test_case_simulation/test_case_tracker_simulator.py +336 -0
  246. rasa/dialogue_understanding_test/utils.py +70 -0
  247. rasa/dialogue_understanding_test/validation.py +59 -4
  248. rasa/e2e_test/aggregate_test_stats_calculator.py +1 -1
  249. rasa/e2e_test/assertions.py +1 -1
  250. rasa/e2e_test/e2e_config.py +1 -1
  251. rasa/e2e_test/e2e_test_case.py +3 -4
  252. rasa/e2e_test/e2e_test_converter.py +2 -3
  253. rasa/e2e_test/e2e_test_coverage_report.py +6 -6
  254. rasa/e2e_test/e2e_test_result.py +1 -1
  255. rasa/e2e_test/e2e_test_runner.py +134 -31
  256. rasa/e2e_test/stub_custom_action.py +1 -1
  257. rasa/e2e_test/utils/e2e_yaml_utils.py +1 -1
  258. rasa/e2e_test/utils/io.py +132 -65
  259. rasa/e2e_test/utils/validation.py +1 -1
  260. rasa/engine/caching.py +5 -7
  261. rasa/engine/constants.py +1 -1
  262. rasa/engine/graph.py +2 -2
  263. rasa/engine/recipes/default_components.py +13 -15
  264. rasa/engine/recipes/recipe.py +2 -2
  265. rasa/engine/runner/dask.py +2 -2
  266. rasa/engine/runner/interface.py +1 -0
  267. rasa/engine/storage/local_model_storage.py +5 -4
  268. rasa/engine/storage/resource.py +2 -1
  269. rasa/engine/storage/storage.py +5 -3
  270. rasa/engine/training/components.py +2 -1
  271. rasa/engine/training/fingerprinting.py +4 -2
  272. rasa/engine/training/graph_trainer.py +4 -4
  273. rasa/engine/training/hooks.py +2 -2
  274. rasa/engine/validation.py +34 -33
  275. rasa/exceptions.py +3 -2
  276. rasa/graph_components/converters/nlu_message_converter.py +3 -3
  277. rasa/graph_components/providers/domain_for_core_training_provider.py +3 -3
  278. rasa/graph_components/providers/domain_provider.py +3 -2
  279. rasa/graph_components/providers/flows_provider.py +2 -3
  280. rasa/graph_components/providers/forms_provider.py +4 -4
  281. rasa/graph_components/providers/nlu_training_data_provider.py +5 -3
  282. rasa/graph_components/providers/responses_provider.py +4 -4
  283. rasa/graph_components/providers/rule_only_provider.py +3 -2
  284. rasa/graph_components/providers/story_graph_provider.py +8 -8
  285. rasa/graph_components/providers/training_tracker_provider.py +3 -2
  286. rasa/graph_components/validators/default_recipe_validator.py +16 -16
  287. rasa/graph_components/validators/finetuning_validator.py +10 -8
  288. rasa/hooks.py +18 -12
  289. rasa/jupyter.py +2 -2
  290. rasa/llm_fine_tuning/annotation_module.py +4 -4
  291. rasa/llm_fine_tuning/conversations.py +6 -6
  292. rasa/llm_fine_tuning/llm_data_preparation_module.py +1 -1
  293. rasa/llm_fine_tuning/paraphrasing/conversation_rephraser.py +4 -4
  294. rasa/llm_fine_tuning/paraphrasing/rephrase_validator.py +1 -1
  295. rasa/llm_fine_tuning/paraphrasing_module.py +1 -1
  296. rasa/llm_fine_tuning/storage.py +3 -3
  297. rasa/markers/marker.py +2 -3
  298. rasa/markers/marker_base.py +1 -2
  299. rasa/markers/upload.py +2 -2
  300. rasa/markers/validate.py +2 -3
  301. rasa/model.py +3 -5
  302. rasa/model_manager/config.py +1 -1
  303. rasa/model_manager/model_api.py +5 -4
  304. rasa/model_manager/runner_service.py +6 -6
  305. rasa/model_manager/socket_bridge.py +8 -3
  306. rasa/model_manager/studio_jwt_auth.py +1 -0
  307. rasa/model_manager/trainer_service.py +9 -7
  308. rasa/model_manager/utils.py +1 -1
  309. rasa/model_manager/warm_rasa_process.py +14 -8
  310. rasa/model_service.py +5 -6
  311. rasa/model_testing.py +13 -15
  312. rasa/nlu/classifiers/diet_classifier.py +72 -73
  313. rasa/nlu/classifiers/fallback_classifier.py +9 -8
  314. rasa/nlu/classifiers/keyword_intent_classifier.py +7 -6
  315. rasa/nlu/classifiers/logistic_regression_classifier.py +3 -3
  316. rasa/nlu/classifiers/mitie_intent_classifier.py +5 -4
  317. rasa/nlu/classifiers/regex_message_handler.py +3 -2
  318. rasa/nlu/classifiers/sklearn_intent_classifier.py +2 -2
  319. rasa/nlu/convert.py +2 -2
  320. rasa/nlu/emulators/dialogflow.py +3 -3
  321. rasa/nlu/emulators/luis.py +5 -5
  322. rasa/nlu/emulators/no_emulator.py +1 -0
  323. rasa/nlu/emulators/wit.py +4 -4
  324. rasa/nlu/extractors/crf_entity_extractor.py +11 -11
  325. rasa/nlu/extractors/duckling_entity_extractor.py +7 -6
  326. rasa/nlu/extractors/entity_synonyms.py +10 -9
  327. rasa/nlu/extractors/extractor.py +16 -16
  328. rasa/nlu/extractors/mitie_entity_extractor.py +10 -9
  329. rasa/nlu/extractors/regex_entity_extractor.py +11 -10
  330. rasa/nlu/extractors/spacy_entity_extractor.py +2 -2
  331. rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +15 -14
  332. rasa/nlu/featurizers/dense_featurizer/dense_featurizer.py +2 -1
  333. rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +10 -9
  334. rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +9 -7
  335. rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +13 -12
  336. rasa/nlu/featurizers/featurizer.py +5 -4
  337. rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +6 -6
  338. rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -4
  339. rasa/nlu/featurizers/sparse_featurizer/regex_featurizer.py +4 -4
  340. rasa/nlu/featurizers/sparse_featurizer/sparse_featurizer.py +2 -0
  341. rasa/nlu/model.py +0 -1
  342. rasa/nlu/selectors/response_selector.py +67 -68
  343. rasa/nlu/test.py +38 -38
  344. rasa/nlu/tokenizers/jieba_tokenizer.py +1 -2
  345. rasa/nlu/tokenizers/mitie_tokenizer.py +2 -2
  346. rasa/nlu/tokenizers/spacy_tokenizer.py +3 -3
  347. rasa/nlu/tokenizers/tokenizer.py +6 -7
  348. rasa/nlu/tokenizers/whitespace_tokenizer.py +1 -1
  349. rasa/nlu/utils/bilou_utils.py +7 -7
  350. rasa/nlu/utils/hugging_face/registry.py +22 -22
  351. rasa/nlu/utils/hugging_face/transformers_pre_post_processors.py +2 -1
  352. rasa/nlu/utils/mitie_utils.py +2 -1
  353. rasa/nlu/utils/pattern_utils.py +1 -1
  354. rasa/nlu/utils/spacy_utils.py +3 -3
  355. rasa/plugin.py +12 -1
  356. rasa/server.py +37 -1
  357. rasa/shared/constants.py +22 -2
  358. rasa/shared/core/command_payload_reader.py +15 -7
  359. rasa/shared/core/constants.py +4 -1
  360. rasa/shared/core/conversation.py +1 -2
  361. rasa/shared/core/events.py +47 -37
  362. rasa/shared/core/flows/__init__.py +0 -1
  363. rasa/shared/core/flows/flow.py +11 -11
  364. rasa/shared/core/flows/flow_step.py +19 -13
  365. rasa/shared/core/flows/flow_step_links.py +21 -14
  366. rasa/shared/core/flows/flow_step_sequence.py +6 -4
  367. rasa/shared/core/flows/flows_list.py +3 -3
  368. rasa/shared/core/flows/nlu_trigger.py +1 -1
  369. rasa/shared/core/flows/steps/__init__.py +2 -2
  370. rasa/shared/core/flows/steps/action.py +4 -3
  371. rasa/shared/core/flows/steps/call.py +4 -4
  372. rasa/shared/core/flows/steps/collect.py +7 -4
  373. rasa/shared/core/flows/steps/continuation.py +3 -1
  374. rasa/shared/core/flows/steps/end.py +3 -1
  375. rasa/shared/core/flows/steps/internal.py +3 -2
  376. rasa/shared/core/flows/steps/link.py +6 -4
  377. rasa/shared/core/flows/steps/no_operation.py +7 -5
  378. rasa/shared/core/flows/steps/set_slots.py +4 -3
  379. rasa/shared/core/flows/steps/start.py +3 -1
  380. rasa/shared/core/flows/utils.py +1 -0
  381. rasa/shared/core/flows/validation.py +3 -5
  382. rasa/shared/core/generator.py +20 -21
  383. rasa/shared/core/slot_mappings.py +15 -15
  384. rasa/shared/core/slots.py +3 -3
  385. rasa/shared/core/trackers.py +31 -31
  386. rasa/shared/core/training_data/loading.py +1 -1
  387. rasa/shared/core/training_data/story_reader/story_reader.py +3 -3
  388. rasa/shared/core/training_data/story_reader/story_step_builder.py +4 -4
  389. rasa/shared/core/training_data/story_reader/yaml_story_reader.py +29 -31
  390. rasa/shared/core/training_data/story_writer/yaml_story_writer.py +22 -24
  391. rasa/shared/core/training_data/structures.py +11 -12
  392. rasa/shared/core/training_data/visualization.py +10 -10
  393. rasa/shared/data.py +6 -6
  394. rasa/shared/engine/caching.py +0 -1
  395. rasa/shared/exceptions.py +2 -2
  396. rasa/shared/importers/rasa.py +5 -6
  397. rasa/shared/importers/utils.py +1 -1
  398. rasa/shared/nlu/constants.py +3 -0
  399. rasa/shared/nlu/training_data/entities_parser.py +6 -6
  400. rasa/shared/nlu/training_data/features.py +3 -3
  401. rasa/shared/nlu/training_data/formats/__init__.py +1 -1
  402. rasa/shared/nlu/training_data/formats/dialogflow.py +4 -5
  403. rasa/shared/nlu/training_data/formats/luis.py +7 -8
  404. rasa/shared/nlu/training_data/formats/rasa.py +4 -5
  405. rasa/shared/nlu/training_data/formats/rasa_yaml.py +17 -16
  406. rasa/shared/nlu/training_data/formats/readerwriter.py +8 -11
  407. rasa/shared/nlu/training_data/formats/wit.py +3 -4
  408. rasa/shared/nlu/training_data/loading.py +4 -4
  409. rasa/shared/nlu/training_data/lookup_tables_parser.py +1 -1
  410. rasa/shared/nlu/training_data/message.py +13 -14
  411. rasa/shared/nlu/training_data/schemas/data_schema.py +1 -1
  412. rasa/shared/nlu/training_data/schemas/responses.yml +1 -0
  413. rasa/shared/nlu/training_data/synonyms_parser.py +3 -3
  414. rasa/shared/nlu/training_data/training_data.py +12 -13
  415. rasa/shared/nlu/training_data/util.py +11 -10
  416. rasa/shared/providers/_configs/azure_openai_client_config.py +3 -497
  417. rasa/shared/providers/_configs/client_config.py +1 -3
  418. rasa/shared/providers/_configs/default_litellm_client_config.py +1 -3
  419. rasa/shared/providers/_configs/huggingface_local_embedding_client_config.py +1 -3
  420. rasa/shared/providers/_configs/litellm_router_client_config.py +1 -3
  421. rasa/shared/providers/_configs/model_group_config.py +2 -7
  422. rasa/shared/providers/_configs/openai_client_config.py +1 -3
  423. rasa/shared/providers/_configs/rasa_llm_client_config.py +1 -3
  424. rasa/shared/providers/_configs/self_hosted_llm_client_config.py +1 -3
  425. rasa/shared/providers/_configs/utils.py +1 -0
  426. rasa/shared/providers/_ssl_verification_utils.py +5 -6
  427. rasa/shared/providers/_utils.py +5 -5
  428. rasa/shared/providers/embedding/_base_litellm_embedding_client.py +1 -1
  429. rasa/shared/providers/embedding/azure_openai_embedding_client.py +3 -28
  430. rasa/shared/providers/embedding/embedding_client.py +1 -1
  431. rasa/shared/providers/embedding/litellm_router_embedding_client.py +1 -3
  432. rasa/shared/providers/llm/_base_litellm_client.py +1 -3
  433. rasa/shared/providers/llm/azure_openai_llm_client.py +25 -81
  434. rasa/shared/providers/llm/default_litellm_llm_client.py +1 -3
  435. rasa/shared/providers/llm/litellm_router_llm_client.py +2 -21
  436. rasa/shared/providers/llm/llm_client.py +1 -3
  437. rasa/shared/providers/llm/llm_response.py +41 -2
  438. rasa/shared/providers/llm/openai_llm_client.py +3 -9
  439. rasa/shared/providers/llm/rasa_llm_client.py +6 -20
  440. rasa/shared/providers/llm/self_hosted_llm_client.py +3 -9
  441. rasa/shared/providers/mappings.py +18 -19
  442. rasa/shared/providers/router/_base_litellm_router_client.py +1 -3
  443. rasa/shared/providers/router/router_client.py +1 -3
  444. rasa/shared/utils/cli.py +1 -1
  445. rasa/shared/utils/common.py +1 -1
  446. rasa/shared/utils/health_check/embeddings_health_check_mixin.py +1 -1
  447. rasa/shared/utils/health_check/health_check.py +3 -3
  448. rasa/shared/utils/health_check/llm_health_check_mixin.py +1 -1
  449. rasa/shared/utils/io.py +1 -1
  450. rasa/shared/utils/llm.py +5 -9
  451. rasa/shared/utils/pykwalify_extensions.py +1 -1
  452. rasa/shared/utils/schemas/events.py +1 -1
  453. rasa/shared/utils/yaml.py +29 -26
  454. rasa/studio/auth.py +3 -3
  455. rasa/studio/config.py +1 -2
  456. rasa/studio/data_handler.py +3 -3
  457. rasa/studio/download.py +1 -1
  458. rasa/studio/results_logger.py +3 -3
  459. rasa/studio/upload.py +2 -0
  460. rasa/telemetry.py +31 -0
  461. rasa/tracing/config.py +3 -3
  462. rasa/tracing/instrumentation/attribute_extractors.py +2 -0
  463. rasa/tracing/instrumentation/instrumentation.py +4 -4
  464. rasa/tracing/instrumentation/intentless_policy_instrumentation.py +1 -1
  465. rasa/tracing/instrumentation/metrics.py +11 -11
  466. rasa/tracing/metric_instrument_provider.py +14 -14
  467. rasa/utils/common.py +12 -9
  468. rasa/utils/endpoints.py +1 -1
  469. rasa/utils/io.py +7 -7
  470. rasa/utils/licensing.py +3 -4
  471. rasa/utils/log_utils.py +7 -6
  472. rasa/utils/ml_utils.py +1 -0
  473. rasa/utils/plotting.py +3 -3
  474. rasa/utils/sanic_error_handler.py +1 -1
  475. rasa/utils/tensorflow/callback.py +2 -2
  476. rasa/utils/tensorflow/crf.py +2 -2
  477. rasa/utils/tensorflow/data_generator.py +5 -5
  478. rasa/utils/tensorflow/environment.py +3 -3
  479. rasa/utils/tensorflow/feature_array.py +2 -3
  480. rasa/utils/tensorflow/layers.py +18 -12
  481. rasa/utils/tensorflow/layers_utils.py +2 -1
  482. rasa/utils/tensorflow/metrics.py +2 -2
  483. rasa/utils/tensorflow/model_data.py +7 -7
  484. rasa/utils/tensorflow/model_data_utils.py +10 -9
  485. rasa/utils/tensorflow/models.py +31 -32
  486. rasa/utils/tensorflow/rasa_layers.py +20 -19
  487. rasa/utils/tensorflow/types.py +2 -1
  488. rasa/utils/train_utils.py +23 -21
  489. rasa/utils/url_tools.py +1 -1
  490. rasa/validator.py +17 -1
  491. rasa/version.py +1 -1
  492. {rasa_pro-3.12.0.dev1.dist-info → rasa_pro-3.12.0.dev3.dist-info}/METADATA +8 -9
  493. rasa_pro-3.12.0.dev3.dist-info/RECORD +800 -0
  494. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-855bc5b3-b080d6f2.js +0 -1
  495. rasa/shared/providers/constants.py +0 -7
  496. rasa_pro-3.12.0.dev1.dist-info/RECORD +0 -790
  497. {rasa_pro-3.12.0.dev1.dist-info → rasa_pro-3.12.0.dev3.dist-info}/NOTICE +0 -0
  498. {rasa_pro-3.12.0.dev1.dist-info → rasa_pro-3.12.0.dev3.dist-info}/WHEEL +0 -0
  499. {rasa_pro-3.12.0.dev1.dist-info → rasa_pro-3.12.0.dev3.dist-info}/entry_points.txt +0 -0
@@ -1,4 +1,4 @@
1
- from typing import Dict, Any
1
+ from typing import Any, Dict
2
2
 
3
3
  import psutil
4
4
 
@@ -7,29 +7,29 @@ from rasa.core.policies.enterprise_search_policy import EnterpriseSearchPolicy
7
7
  from rasa.core.policies.intentless_policy import IntentlessPolicy
8
8
  from rasa.dialogue_understanding.generator import (
9
9
  LLMCommandGenerator,
10
- SingleStepLLMCommandGenerator,
11
10
  MultiStepLLMCommandGenerator,
11
+ SingleStepLLMCommandGenerator,
12
12
  )
13
13
  from rasa.tracing.constants import (
14
+ CONTEXTUAL_RESPONSE_REPHRASER_LLM_RESPONSE_DURATION_METRIC_NAME,
15
+ ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
16
+ INTENTLESS_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
14
17
  LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
18
+ LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
15
19
  LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
16
20
  LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
17
- SINGLE_STEP_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
18
- SINGLE_STEP_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
19
- SINGLE_STEP_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
20
- SINGLE_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
21
21
  MULTI_STEP_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
22
+ MULTI_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
22
23
  MULTI_STEP_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
23
24
  MULTI_STEP_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
24
- MULTI_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
25
25
  PROMPT_TOKEN_LENGTH_ATTRIBUTE_NAME,
26
- LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
27
- ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
28
- INTENTLESS_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
29
- CONTEXTUAL_RESPONSE_REPHRASER_LLM_RESPONSE_DURATION_METRIC_NAME,
30
26
  RASA_CLIENT_REQUEST_BODY_SIZE_METRIC_NAME,
31
27
  RASA_CLIENT_REQUEST_DURATION_METRIC_NAME,
32
28
  REQUEST_BODY_SIZE_IN_BYTES_ATTRIBUTE_NAME,
29
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
30
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
31
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
32
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
33
33
  )
34
34
  from rasa.tracing.metric_instrument_provider import MetricInstrumentProvider
35
35
  from rasa.utils.endpoints import EndpointConfig
@@ -1,30 +1,30 @@
1
- from typing import ClassVar, Dict, Any
1
+ from typing import Any, ClassVar, Dict
2
2
 
3
3
  from opentelemetry.metrics import get_meter_provider
4
4
  from opentelemetry.sdk.metrics import Meter
5
5
 
6
- from rasa.utils.singleton import Singleton
7
6
  from rasa.tracing.constants import (
7
+ CONTEXTUAL_RESPONSE_REPHRASER_LLM_RESPONSE_DURATION_METRIC_NAME,
8
+ DURATION_UNIT_NAME,
9
+ ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
10
+ INTENTLESS_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
11
+ LLM_BASED_COMMAND_GENERATOR_CPU_MEMORY_USAGE_UNIT_NAME,
8
12
  LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
13
+ LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
9
14
  LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
10
15
  LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
11
- LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
12
- LLM_BASED_COMMAND_GENERATOR_CPU_MEMORY_USAGE_UNIT_NAME,
13
- SINGLE_STEP_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
14
- SINGLE_STEP_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
15
- SINGLE_STEP_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
16
- SINGLE_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
17
16
  MULTI_STEP_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
17
+ MULTI_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
18
18
  MULTI_STEP_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
19
19
  MULTI_STEP_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
20
- MULTI_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
21
- DURATION_UNIT_NAME,
22
- ENTERPRISE_SEARCH_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
23
- INTENTLESS_POLICY_LLM_RESPONSE_DURATION_METRIC_NAME,
24
- CONTEXTUAL_RESPONSE_REPHRASER_LLM_RESPONSE_DURATION_METRIC_NAME,
25
- RASA_CLIENT_REQUEST_DURATION_METRIC_NAME,
26
20
  RASA_CLIENT_REQUEST_BODY_SIZE_METRIC_NAME,
21
+ RASA_CLIENT_REQUEST_DURATION_METRIC_NAME,
22
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_CPU_USAGE_METRIC_NAME,
23
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_LLM_RESPONSE_DURATION_METRIC_NAME,
24
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_MEMORY_USAGE_METRIC_NAME,
25
+ SINGLE_STEP_LLM_COMMAND_GENERATOR_PROMPT_TOKEN_USAGE_METRIC_NAME,
27
26
  )
27
+ from rasa.utils.singleton import Singleton
28
28
 
29
29
 
30
30
  class MetricInstrumentProvider(metaclass=Singleton):
rasa/utils/common.py CHANGED
@@ -8,38 +8,39 @@ import shutil
8
8
  import tempfile
9
9
  import warnings
10
10
  from pathlib import Path
11
+ from socket import SOCK_DGRAM, SOCK_STREAM
11
12
  from types import TracebackType
12
13
  from typing import (
13
14
  Any,
15
+ ContextManager,
14
16
  Coroutine,
15
17
  Dict,
16
18
  List,
17
19
  Optional,
20
+ Set,
18
21
  Text,
22
+ Tuple,
19
23
  Type,
20
24
  TypeVar,
21
25
  Union,
22
- ContextManager,
23
- Set,
24
- Tuple,
25
26
  )
26
27
 
27
- from socket import SOCK_DGRAM, SOCK_STREAM
28
28
  import numpy as np
29
+
30
+ import rasa.shared.utils.io
29
31
  import rasa.utils.io
30
32
  from rasa.anonymization import ENV_LOG_LEVEL_FAKER, ENV_LOG_LEVEL_PRESIDIO
31
33
  from rasa.constants import (
32
34
  DEFAULT_LOG_LEVEL_LIBRARIES,
35
+ ENV_LOG_LEVEL_KAFKA,
33
36
  ENV_LOG_LEVEL_LIBRARIES,
34
37
  ENV_LOG_LEVEL_MATPLOTLIB,
35
38
  ENV_LOG_LEVEL_MLFLOW,
36
39
  ENV_LOG_LEVEL_RABBITMQ,
37
- ENV_LOG_LEVEL_KAFKA,
38
40
  )
39
41
  from rasa.shared.constants import DEFAULT_LOG_LEVEL, ENV_LOG_LEVEL, TCP_PROTOCOL
40
42
  from rasa.shared.exceptions import RasaException
41
- import rasa.shared.utils.io
42
- from rasa.shared.utils.yaml import read_yaml_file, write_yaml, read_config_file
43
+ from rasa.shared.utils.yaml import read_config_file, read_yaml_file, write_yaml
43
44
 
44
45
  logger = logging.getLogger(__name__)
45
46
 
@@ -146,7 +147,9 @@ def read_global_config(path: Text) -> Dict[Text, Any]:
146
147
  """
147
148
  # noinspection PyBroadException
148
149
  try:
149
- return read_config_file(path)
150
+ # set expand_env_vars to False because this is a global config file
151
+ # used for telemetry, in which case we don't need to expand env vars
152
+ return read_config_file(path, expand_env_vars=False)
150
153
  except Exception:
151
154
  # if things go south we pretend there is no config
152
155
  return {}
@@ -299,7 +302,7 @@ def update_sanic_log_level(
299
302
  syslog_protocol: Optional[Text] = None,
300
303
  ) -> None:
301
304
  """Set the log level to 'LOG_LEVEL_LIBRARIES' environment variable ."""
302
- from sanic.log import logger, error_logger, access_logger
305
+ from sanic.log import access_logger, error_logger, logger
303
306
 
304
307
  log_level = os.environ.get(ENV_LOG_LEVEL_LIBRARIES, DEFAULT_LOG_LEVEL_LIBRARIES)
305
308
 
rasa/utils/endpoints.py CHANGED
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import ssl
3
3
  from types import ModuleType
4
- from typing import Any, List, Optional, Text, Dict, Union
4
+ from typing import Any, Dict, List, Optional, Text, Union
5
5
 
6
6
  import aiohttp
7
7
  import structlog
rasa/utils/io.py CHANGED
@@ -2,22 +2,22 @@ import asyncio
2
2
  import filecmp
3
3
  import logging
4
4
  import os
5
+ import re
5
6
  import tempfile
6
7
  import warnings
7
- import re
8
8
  from asyncio import AbstractEventLoop
9
9
  from collections import OrderedDict
10
10
  from io import StringIO
11
11
  from pathlib import Path
12
12
  from typing import (
13
- Optional,
14
- Text,
13
+ TYPE_CHECKING,
15
14
  Any,
16
- Union,
15
+ Callable,
17
16
  List,
17
+ Optional,
18
+ Text,
18
19
  Type,
19
- Callable,
20
- TYPE_CHECKING,
20
+ Union,
21
21
  )
22
22
 
23
23
  from ruamel import yaml
@@ -153,8 +153,8 @@ def create_validator(
153
153
  """Helper method to create `Validator` classes from callable functions. Should be
154
154
  removed when questionary supports `Validator` objects.
155
155
  """
156
- from prompt_toolkit.validation import Validator, ValidationError
157
156
  from prompt_toolkit.document import Document
157
+ from prompt_toolkit.validation import ValidationError, Validator
158
158
 
159
159
  class FunctionValidator(Validator):
160
160
  @staticmethod
rasa/utils/licensing.py CHANGED
@@ -1,4 +1,3 @@
1
- from asyncio import AbstractEventLoop
2
1
  import hashlib
3
2
  import os
4
3
  import random
@@ -6,19 +5,19 @@ import re
6
5
  import time
7
6
  import typing
8
7
  import uuid
8
+ from asyncio import AbstractEventLoop
9
9
  from datetime import datetime, timezone
10
10
  from typing import Any, Callable, Dict, Optional, Set, Text, TypeVar
11
11
 
12
12
  import jwt
13
+ import structlog
13
14
  from dotenv import dotenv_values
14
15
  from sanic import Sanic
15
- import structlog
16
- from rasa import telemetry
17
16
 
17
+ from rasa import telemetry
18
18
  from rasa.core import jobs
19
19
  from rasa.shared.utils.cli import print_error_and_exit
20
20
 
21
-
22
21
  if typing.TYPE_CHECKING:
23
22
  from rasa.core.tracker_store import TrackerStore
24
23
 
rasa/utils/log_utils.py CHANGED
@@ -1,22 +1,23 @@
1
1
  from __future__ import annotations
2
- import os
2
+
3
3
  import logging
4
+ import os
4
5
  import sys
5
6
  from typing import Any, Dict, Optional
6
7
 
7
8
  import structlog
8
- from structlog_sentry import SentryProcessor
9
9
  from structlog.dev import ConsoleRenderer
10
10
  from structlog.typing import EventDict, WrappedLogger
11
+ from structlog_sentry import SentryProcessor
12
+
13
+ from rasa.plugin import plugin_manager
11
14
  from rasa.shared.constants import (
12
- ENV_LOG_LEVEL,
13
15
  DEFAULT_LOG_LEVEL,
16
+ DEFAULT_LOG_LEVEL_LLM,
17
+ ENV_LOG_LEVEL,
14
18
  ENV_LOG_LEVEL_LLM,
15
19
  ENV_LOG_LEVEL_LLM_MODULE_NAMES,
16
- DEFAULT_LOG_LEVEL_LLM,
17
20
  )
18
- from rasa.plugin import plugin_manager
19
-
20
21
 
21
22
  FORCE_JSON_LOGGING = os.environ.get("FORCE_JSON_LOGGING")
22
23
 
rasa/utils/ml_utils.py CHANGED
@@ -5,6 +5,7 @@ import numpy as np
5
5
  import structlog
6
6
  from langchain.schema.embeddings import Embeddings
7
7
  from langchain_community.vectorstores import FAISS
8
+
8
9
  from rasa.shared.constants import REQUIRED_SLOTS_KEY
9
10
  from rasa.shared.core.domain import KEY_RESPONSES_TEXT, Domain
10
11
  from rasa.shared.utils.llm import AI
rasa/utils/plotting.py CHANGED
@@ -1,11 +1,11 @@
1
- import logging
2
1
  import itertools
2
+ import logging
3
3
  import os
4
4
  from functools import wraps
5
+ from typing import Any, Callable, List, Optional, Text, Tuple, TypeVar, Union
5
6
 
6
- import numpy as np
7
- from typing import Any, Callable, List, Optional, Text, TypeVar, Union, Tuple
8
7
  import matplotlib
8
+ import numpy as np
9
9
  from matplotlib.ticker import FormatStrFormatter
10
10
 
11
11
  import rasa.shared.utils.io
@@ -1,7 +1,7 @@
1
1
  from sanic import Sanic
2
+ from sanic.exceptions import ServerError
2
3
  from sanic.handlers import ErrorHandler
3
4
  from sanic.request import Request
4
- from sanic.exceptions import ServerError
5
5
 
6
6
 
7
7
  # TODO: remove custom handler when upgrading to sanic >= 24
@@ -1,7 +1,7 @@
1
+ import logging
1
2
  from pathlib import Path
2
- from typing import Dict, Text, Any, Optional
3
+ from typing import Any, Dict, Optional, Text
3
4
 
4
- import logging
5
5
  import tensorflow as tf
6
6
  from tqdm import tqdm
7
7
 
@@ -1,8 +1,8 @@
1
+ from typing import Any, List, Optional, Tuple, Union
2
+
1
3
  import tensorflow as tf
2
4
  from tensorflow import TensorShape
3
5
  from tensorflow.types.experimental import TensorLike
4
- from typing import Tuple, Any, List, Union, Optional
5
-
6
6
 
7
7
  # original code taken from
8
8
  # https://github.com/tensorflow/addons/blob/b8cab7fd61af4f697a1cdae4f51c37c346b9c6f0/tensorflow_addons/text/crf.py
@@ -1,13 +1,13 @@
1
+ import logging
1
2
  import math
2
- from typing import List, Union, Text, Optional, Any, Tuple, Dict, cast
3
+ from typing import Any, Dict, List, Optional, Text, Tuple, Union, cast
3
4
 
4
- import logging
5
- import scipy.sparse
6
5
  import numpy as np
6
+ import scipy.sparse
7
7
  from tensorflow.keras.utils import Sequence
8
8
 
9
- from rasa.utils.tensorflow.constants import SEQUENCE, BALANCED
10
- from rasa.utils.tensorflow.model_data import RasaModelData, Data, FeatureArray
9
+ from rasa.utils.tensorflow.constants import BALANCED, SEQUENCE
10
+ from rasa.utils.tensorflow.model_data import Data, FeatureArray, RasaModelData
11
11
 
12
12
  logger = logging.getLogger(__name__)
13
13
 
@@ -1,16 +1,16 @@
1
1
  import logging
2
2
  import os
3
- from typing import Text, Dict
4
3
  import typing
4
+ from typing import Dict, Text
5
5
 
6
6
  import rasa.shared.utils.io
7
7
  from rasa.constants import (
8
- ENV_GPU_CONFIG,
9
8
  ENV_CPU_INTER_OP_CONFIG,
10
9
  ENV_CPU_INTRA_OP_CONFIG,
10
+ ENV_GPU_CONFIG,
11
11
  )
12
- from rasa.utils.tensorflow.constants import TF_DETERMINISTIC_OPS
13
12
  from rasa.shared.utils import io as shared_io_utils
13
+ from rasa.utils.tensorflow.constants import TF_DETERMINISTIC_OPS
14
14
 
15
15
  if typing.TYPE_CHECKING:
16
16
  from tensorflow import config as tf_config
@@ -1,9 +1,8 @@
1
- from typing import Dict, Any, List, Tuple, Optional, Union
1
+ from typing import Any, Dict, List, Optional, Tuple, Union
2
2
 
3
- from safetensors.numpy import save_file
4
3
  import numpy as np
5
- from safetensors.numpy import load_file
6
4
  import scipy.sparse
5
+ from safetensors.numpy import load_file, save_file
7
6
 
8
7
  import rasa.shared.utils.io
9
8
 
@@ -1,29 +1,35 @@
1
1
  import logging
2
- from typing import List, Optional, Text, Tuple, Callable, Union, Any
2
+ from typing import Any, Callable, List, Optional, Text, Tuple, Union
3
+
3
4
  import tensorflow as tf
5
+ import tensorflow.keras.backend as K
4
6
 
5
7
  # TODO: The following is not (yet) available via tf.keras
6
8
  from keras.src.utils.control_flow_util import smart_cond
7
- import tensorflow.keras.backend as K
8
9
 
9
10
  import rasa.utils.tensorflow.crf
11
+ import rasa.utils.tensorflow.layers_utils as layers_utils
12
+ from rasa.core.constants import DIALOGUE
13
+ from rasa.shared.nlu.constants import (
14
+ ACTION_NAME,
15
+ ACTION_TEXT,
16
+ FEATURE_TYPE_SENTENCE,
17
+ FEATURE_TYPE_SEQUENCE,
18
+ INTENT,
19
+ TEXT,
20
+ )
10
21
  from rasa.utils.tensorflow.constants import (
11
- SOFTMAX,
12
- MARGIN,
13
22
  COSINE,
14
- INNER,
15
23
  CROSS_ENTROPY,
24
+ INNER,
16
25
  LABEL,
17
26
  LABEL_PAD_ID,
27
+ MARGIN,
28
+ SOFTMAX,
18
29
  )
19
- from rasa.core.constants import DIALOGUE
20
- from rasa.shared.nlu.constants import FEATURE_TYPE_SENTENCE, FEATURE_TYPE_SEQUENCE
21
- from rasa.shared.nlu.constants import TEXT, INTENT, ACTION_NAME, ACTION_TEXT
22
-
23
- from rasa.utils.tensorflow.metrics import F1Score
24
- from rasa.utils.tensorflow.exceptions import TFLayerConfigException
25
- import rasa.utils.tensorflow.layers_utils as layers_utils
26
30
  from rasa.utils.tensorflow.crf import crf_log_likelihood
31
+ from rasa.utils.tensorflow.exceptions import TFLayerConfigException
32
+ from rasa.utils.tensorflow.metrics import F1Score
27
33
 
28
34
  logger = logging.getLogger(__name__)
29
35
 
@@ -1,6 +1,7 @@
1
+ from typing import Optional, Union
2
+
1
3
  import tensorflow as tf
2
4
  from tensorflow import Tensor
3
- from typing import Union, Optional
4
5
 
5
6
 
6
7
  def random_indices(
@@ -1,8 +1,8 @@
1
+ from typing import Any, Dict, Optional
2
+
1
3
  import tensorflow as tf
2
4
  from tensorflow.keras import backend as K
3
5
  from tensorflow.types.experimental import TensorLike
4
- from typing import Any, Dict, Optional
5
-
6
6
 
7
7
  # original code taken from
8
8
  # https://github.com/tensorflow/addons/blob/f30df4322b5580b3e5946530a60f7126035dd73b/tensorflow_addons/metrics/f_scores.py
@@ -1,20 +1,20 @@
1
1
  import logging
2
+ from collections import OrderedDict, defaultdict
2
3
  from typing import (
3
- Optional,
4
+ Any,
4
5
  DefaultDict,
5
6
  Dict,
7
+ ItemsView,
6
8
  Iterable,
7
- Text,
8
9
  List,
10
+ NamedTuple,
11
+ Optional,
12
+ Text,
9
13
  Tuple,
10
- Any,
11
14
  Union,
12
- NamedTuple,
13
- ItemsView,
14
- overload,
15
15
  cast,
16
+ overload,
16
17
  )
17
- from collections import defaultdict, OrderedDict
18
18
 
19
19
  import numpy as np
20
20
  import scipy.sparse
@@ -1,25 +1,26 @@
1
- import typing
2
1
  import copy
2
+ import typing
3
+ from collections import OrderedDict, defaultdict
4
+ from typing import Any, DefaultDict, Dict, List, Optional, Text, Tuple, Union, cast
5
+
3
6
  import numpy as np
4
7
  import scipy.sparse
5
- from collections import defaultdict, OrderedDict
6
- from typing import List, Optional, Text, Dict, Tuple, Union, Any, DefaultDict, cast
7
8
 
8
9
  from rasa.nlu.constants import TOKENS_NAMES
9
- from rasa.utils.tensorflow.model_data import Data, FeatureArray, ragged_array_to_ndarray
10
- from rasa.utils.tensorflow.constants import MASK, IDS
11
- from rasa.shared.nlu.training_data.message import Message
12
10
  from rasa.shared.nlu.constants import (
13
- TEXT,
14
11
  ENTITIES,
15
- ENTITY_ATTRIBUTE_TYPE,
16
12
  ENTITY_ATTRIBUTE_GROUP,
17
13
  ENTITY_ATTRIBUTE_ROLE,
14
+ ENTITY_ATTRIBUTE_TYPE,
15
+ TEXT,
18
16
  )
17
+ from rasa.shared.nlu.training_data.message import Message
18
+ from rasa.utils.tensorflow.constants import IDS, MASK
19
+ from rasa.utils.tensorflow.model_data import Data, FeatureArray, ragged_array_to_ndarray
19
20
 
20
21
  if typing.TYPE_CHECKING:
21
- from rasa.shared.nlu.training_data.features import Features
22
22
  from rasa.nlu.extractors.extractor import EntityTagSpec
23
+ from rasa.shared.nlu.training_data.features import Features
23
24
 
24
25
  TAG_ID_ORIGIN = "tag_id_origin"
25
26
 
@@ -1,53 +1,52 @@
1
- import time
2
- import random
3
- import tensorflow as tf
4
- import numpy as np
5
1
  import logging
6
2
  import os
3
+ import random
4
+ import time
7
5
  from collections import defaultdict
8
- from typing import List, Text, Dict, Tuple, Union, Optional, Any, TYPE_CHECKING
6
+ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Text, Tuple, Union
9
7
 
10
- from keras.src.utils import tf_utils
8
+ import numpy as np
9
+ import tensorflow as tf
11
10
  from keras import Model
11
+ from keras.src.utils import tf_utils
12
12
 
13
+ import rasa.utils.train_utils
13
14
  from rasa.shared.constants import DIAGNOSTIC_DATA
15
+ from rasa.shared.exceptions import RasaException
16
+ from rasa.shared.nlu.constants import TEXT
17
+ from rasa.utils.tensorflow import layers, rasa_layers
14
18
  from rasa.utils.tensorflow.constants import (
15
- LABEL,
19
+ CONNECTION_DENSITY,
20
+ CONSTRAIN_SIMILARITIES,
21
+ EMBEDDING_DIMENSION,
16
22
  IDS,
17
23
  INTENT_CLASSIFICATION,
18
- SENTENCE,
19
- SEQUENCE_LENGTH,
20
- RANDOM_SEED,
21
- EMBEDDING_DIMENSION,
22
- REGULARIZATION_CONSTANT,
23
- SIMILARITY_TYPE,
24
- CONNECTION_DENSITY,
25
- NUM_NEG,
24
+ LABEL,
25
+ LEARNING_RATE,
26
26
  LOSS_TYPE,
27
- MAX_POS_SIM,
28
27
  MAX_NEG_SIM,
29
- USE_MAX_NEG_SIM,
30
- NEGATIVE_MARGIN_SCALE,
31
- SCALE_LOSS,
32
- LEARNING_RATE,
33
- CONSTRAIN_SIMILARITIES,
28
+ MAX_POS_SIM,
34
29
  MODEL_CONFIDENCE,
30
+ NEGATIVE_MARGIN_SCALE,
31
+ NUM_NEG,
32
+ RANDOM_SEED,
33
+ REGULARIZATION_CONSTANT,
35
34
  RUN_EAGERLY,
35
+ SCALE_LOSS,
36
+ SENTENCE,
37
+ SEQUENCE_LENGTH,
38
+ SIMILARITY_TYPE,
39
+ USE_MAX_NEG_SIM,
36
40
  )
37
- from rasa.utils.tensorflow.model_data import (
38
- RasaModelData,
39
- FeatureSignature,
40
- FeatureArray,
41
- )
42
- import rasa.utils.train_utils
43
- from rasa.utils.tensorflow import layers
44
- from rasa.utils.tensorflow import rasa_layers
45
41
  from rasa.utils.tensorflow.data_generator import (
46
- RasaDataGenerator,
47
42
  RasaBatchDataGenerator,
43
+ RasaDataGenerator,
44
+ )
45
+ from rasa.utils.tensorflow.model_data import (
46
+ FeatureArray,
47
+ FeatureSignature,
48
+ RasaModelData,
48
49
  )
49
- from rasa.shared.nlu.constants import TEXT
50
- from rasa.shared.exceptions import RasaException
51
50
  from rasa.utils.tensorflow.types import BatchData, MaybeNestedBatchData
52
51
 
53
52
  if TYPE_CHECKING:
@@ -1,34 +1,35 @@
1
- import tensorflow as tf
1
+ from typing import Any, Callable, Dict, List, Optional, Text, Tuple, Union
2
+
2
3
  import numpy as np
3
- from typing import Text, List, Dict, Any, Union, Optional, Tuple, Callable
4
+ import tensorflow as tf
4
5
 
6
+ from rasa.nlu.constants import DEFAULT_TRANSFORMER_SIZE
5
7
  from rasa.shared.nlu.constants import TEXT
6
- from rasa.utils.tensorflow.model_data import FeatureSignature
8
+ from rasa.utils.tensorflow import layers
7
9
  from rasa.utils.tensorflow.constants import (
8
- REGULARIZATION_CONSTANT,
10
+ CONCAT_DIMENSION,
9
11
  CONNECTION_DENSITY,
12
+ DENSE_DIMENSION,
13
+ DENSE_INPUT_DROPOUT,
14
+ DROP_RATE,
15
+ DROP_RATE_ATTENTION,
16
+ HIDDEN_LAYERS_SIZES,
17
+ KEY_RELATIVE_ATTENTION,
18
+ MASKED_LM,
19
+ MAX_RELATIVE_POSITION,
20
+ NUM_HEADS,
10
21
  NUM_TRANSFORMER_LAYERS,
22
+ REGULARIZATION_CONSTANT,
23
+ SENTENCE,
24
+ SEQUENCE,
25
+ SPARSE_INPUT_DROPOUT,
11
26
  TRANSFORMER_SIZE,
12
- NUM_HEADS,
13
27
  UNIDIRECTIONAL_ENCODER,
14
- KEY_RELATIVE_ATTENTION,
15
28
  VALUE_RELATIVE_ATTENTION,
16
- MAX_RELATIVE_POSITION,
17
- MASKED_LM,
18
- HIDDEN_LAYERS_SIZES,
19
- DROP_RATE,
20
- SPARSE_INPUT_DROPOUT,
21
- DENSE_INPUT_DROPOUT,
22
- DENSE_DIMENSION,
23
- CONCAT_DIMENSION,
24
- DROP_RATE_ATTENTION,
25
- SEQUENCE,
26
- SENTENCE,
27
29
  )
28
- from rasa.utils.tensorflow import layers
29
30
  from rasa.utils.tensorflow.exceptions import TFLayerConfigException
31
+ from rasa.utils.tensorflow.model_data import FeatureSignature
30
32
  from rasa.utils.tensorflow.transformer import TransformerEncoder
31
- from rasa.nlu.constants import DEFAULT_TRANSFORMER_SIZE
32
33
 
33
34
 
34
35
  class RasaCustomLayer(tf.keras.layers.Layer):
@@ -1,6 +1,7 @@
1
1
  from typing import Tuple, Union
2
- import tensorflow as tf
2
+
3
3
  import numpy as np
4
+ import tensorflow as tf
4
5
 
5
6
  BatchData = Union[Tuple[tf.Tensor, ...], Tuple[np.ndarray, ...]]
6
7
  MaybeNestedBatchData = Union[Tuple[BatchData, ...], BatchData]