rasa-pro 3.11.5__py3-none-any.whl → 3.12.0__py3-none-any.whl

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

Potentially problematic release.


This version of rasa-pro might be problematic. Click here for more details.

Files changed (559) hide show
  1. README.md +10 -13
  2. rasa/__main__.py +7 -7
  3. rasa/anonymization/anonymisation_rule_yaml_reader.py +1 -1
  4. rasa/anonymization/anonymization_pipeline.py +3 -3
  5. rasa/anonymization/anonymization_rule_executor.py +17 -11
  6. rasa/anonymization/anonymization_rule_orchestrator.py +2 -3
  7. rasa/cli/arguments/data.py +2 -2
  8. rasa/cli/arguments/default_arguments.py +1 -1
  9. rasa/cli/arguments/evaluate.py +2 -1
  10. rasa/cli/arguments/interactive.py +1 -1
  11. rasa/cli/arguments/run.py +1 -1
  12. rasa/cli/arguments/test.py +7 -5
  13. rasa/cli/arguments/train.py +3 -3
  14. rasa/cli/arguments/visualize.py +2 -2
  15. rasa/cli/arguments/x.py +1 -0
  16. rasa/cli/data.py +20 -3
  17. rasa/cli/dialogue_understanding_test.py +386 -0
  18. rasa/cli/evaluate.py +1 -1
  19. rasa/cli/export.py +6 -6
  20. rasa/cli/inspect.py +20 -1
  21. rasa/cli/interactive.py +4 -5
  22. rasa/cli/llm_fine_tuning.py +51 -16
  23. rasa/cli/markers.py +1 -2
  24. rasa/cli/project_templates/calm/actions/add_contact.py +1 -1
  25. rasa/cli/project_templates/calm/config.yml +2 -2
  26. rasa/cli/project_templates/calm/domain/list_contacts.yml +1 -2
  27. rasa/cli/project_templates/calm/domain/remove_contact.yml +1 -2
  28. rasa/cli/project_templates/calm/domain/shared.yml +1 -4
  29. rasa/cli/project_templates/calm/endpoints.yml +2 -2
  30. rasa/cli/project_templates/tutorial/actions/actions.py +3 -2
  31. rasa/cli/shell.py +5 -6
  32. rasa/cli/studio/download.py +1 -2
  33. rasa/cli/studio/studio.py +2 -3
  34. rasa/cli/studio/train.py +0 -1
  35. rasa/cli/telemetry.py +2 -2
  36. rasa/cli/test.py +11 -11
  37. rasa/cli/train.py +3 -0
  38. rasa/cli/utils.py +25 -5
  39. rasa/constants.py +0 -1
  40. rasa/core/__init__.py +0 -1
  41. rasa/core/actions/action.py +135 -208
  42. rasa/core/actions/action_handle_digressions.py +164 -0
  43. rasa/core/actions/action_hangup.py +1 -1
  44. rasa/core/actions/action_repeat_bot_messages.py +2 -2
  45. rasa/core/actions/action_run_slot_rejections.py +18 -6
  46. rasa/core/actions/action_trigger_chitchat.py +1 -1
  47. rasa/core/actions/action_trigger_flow.py +5 -5
  48. rasa/core/actions/action_trigger_search.py +1 -1
  49. rasa/core/actions/custom_action_executor.py +1 -1
  50. rasa/core/actions/direct_custom_actions_executor.py +1 -0
  51. rasa/core/actions/forms.py +22 -15
  52. rasa/core/actions/http_custom_action_executor.py +8 -1
  53. rasa/core/actions/loops.py +3 -3
  54. rasa/core/actions/two_stage_fallback.py +13 -13
  55. rasa/core/auth_retry_tracker_store.py +1 -2
  56. rasa/core/brokers/broker.py +2 -1
  57. rasa/core/brokers/file.py +1 -1
  58. rasa/core/brokers/kafka.py +8 -8
  59. rasa/core/brokers/pika.py +8 -9
  60. rasa/core/brokers/sql.py +4 -3
  61. rasa/core/channels/__init__.py +7 -0
  62. rasa/core/channels/botframework.py +2 -2
  63. rasa/core/channels/callback.py +4 -4
  64. rasa/core/channels/channel.py +11 -11
  65. rasa/core/channels/console.py +0 -1
  66. rasa/core/channels/development_inspector.py +80 -24
  67. rasa/core/channels/facebook.py +5 -5
  68. rasa/core/channels/hangouts.py +7 -8
  69. rasa/core/channels/inspector/dist/assets/{arc-f0f8bd46.js → arc-9f1365dc.js} +1 -1
  70. rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-7162c77d.js → blockDiagram-38ab4fdb-e0f81b12.js} +1 -1
  71. rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-b1d0d098.js → c4Diagram-3d4e48cf-9deaee1c.js} +1 -1
  72. rasa/core/channels/inspector/dist/assets/channel-44956714.js +1 -0
  73. rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-807a1b27.js → classDiagram-70f12bd4-20450a96.js} +1 -1
  74. rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-5238dcdb.js → classDiagram-v2-f2320105-749d2abf.js} +1 -1
  75. rasa/core/channels/inspector/dist/assets/clone-a9475142.js +1 -0
  76. rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-75dfaa67.js → createText-2e5e7dd3-bef0b38c.js} +1 -1
  77. rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-df20501d.js → edges-e0da2a9e-943801a7.js} +1 -1
  78. rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-13cf4797.js → erDiagram-9861fffd-d523a948.js} +1 -1
  79. rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-a4991264.js → flowDb-956e92f1-54e4cf19.js} +1 -1
  80. rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-ccecf773.js → flowDiagram-66a62f08-48bfbbe8.js} +1 -1
  81. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-43fa749a.js +1 -0
  82. rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-b5801783.js → flowchart-elk-definition-4a651766-17c30827.js} +1 -1
  83. rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-161e079a.js → ganttDiagram-c361ad54-43086f2d.js} +1 -1
  84. rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-f38e86a4.js → gitGraphDiagram-72cf32ee-5c8b693e.js} +1 -1
  85. rasa/core/channels/inspector/dist/assets/{graph-be6ef5d8.js → graph-41a90d26.js} +1 -1
  86. rasa/core/channels/inspector/dist/assets/{index-3862675e-d9ce8994.js → index-3862675e-b43eeae9.js} +1 -1
  87. rasa/core/channels/inspector/dist/assets/{index-7794b245.js → index-e8affe45.js} +155 -155
  88. rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-5000a3dc.js → infoDiagram-f8f76790-0b20676b.js} +1 -1
  89. rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-8ef0a17a.js → journeyDiagram-49397b02-39bce7b5.js} +1 -1
  90. rasa/core/channels/inspector/dist/assets/{layout-d649bc98.js → layout-dc8eeea4.js} +1 -1
  91. rasa/core/channels/inspector/dist/assets/{line-95add810.js → line-c4d2e756.js} +1 -1
  92. rasa/core/channels/inspector/dist/assets/{linear-f6025094.js → linear-86f6f2d9.js} +1 -1
  93. rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-2e8531c4.js → mindmap-definition-fc14e90a-4216f771.js} +1 -1
  94. rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-918adfdb.js → pieDiagram-8a3498a8-1a0cfa96.js} +1 -1
  95. rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-cbd01797.js → quadrantDiagram-120e2f19-f91e67cf.js} +1 -1
  96. rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-6a8b877b.js → requirementDiagram-deff3bca-d4046bed.js} +1 -1
  97. rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-c377c3fe.js → sankeyDiagram-04a897e0-2cf6d1d7.js} +1 -1
  98. rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-ab9e9b7f.js → sequenceDiagram-704730f1-751ac4f5.js} +1 -1
  99. rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-5e6ae67d.js → stateDiagram-587899a1-f734f4d4.js} +1 -1
  100. rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-40643476.js → stateDiagram-v2-d93cdb3a-91c65710.js} +1 -1
  101. rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-afb8d108.js → styles-6aaf32cf-e0cff7be.js} +1 -1
  102. rasa/core/channels/inspector/dist/assets/{styles-9a916d00-7edc9423.js → styles-9a916d00-c8029e5d.js} +1 -1
  103. rasa/core/channels/inspector/dist/assets/{styles-c10674c1-c1d8f7e9.js → styles-c10674c1-114f312a.js} +1 -1
  104. rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-f494b2ef.js → svgDrawCommon-08f97a94-b7b9dc00.js} +1 -1
  105. rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-11c7cdd0.js → timeline-definition-85554ec2-9536d189.js} +1 -1
  106. rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-3f191ec1.js → xychartDiagram-e933f94c-bf3b0f36.js} +1 -1
  107. rasa/core/channels/inspector/dist/index.html +1 -1
  108. rasa/core/channels/inspector/package.json +1 -0
  109. rasa/core/channels/inspector/src/App.tsx +15 -2
  110. rasa/core/channels/inspector/src/components/RasaLogo.tsx +31 -0
  111. rasa/core/channels/inspector/src/components/RecruitmentPanel.tsx +68 -0
  112. rasa/core/channels/inspector/src/components/Welcome.tsx +19 -13
  113. rasa/core/channels/inspector/yarn.lock +5 -0
  114. rasa/core/channels/mattermost.py +4 -4
  115. rasa/core/channels/rasa_chat.py +4 -4
  116. rasa/core/channels/rest.py +11 -12
  117. rasa/core/channels/rocketchat.py +4 -3
  118. rasa/core/channels/slack.py +6 -5
  119. rasa/core/channels/socketio.py +8 -28
  120. rasa/core/channels/studio_chat.py +212 -0
  121. rasa/core/channels/telegram.py +105 -55
  122. rasa/core/channels/twilio.py +3 -3
  123. rasa/core/channels/vier_cvg.py +2 -2
  124. rasa/core/channels/voice_ready/audiocodes.py +9 -9
  125. rasa/core/channels/voice_ready/jambonz.py +5 -5
  126. rasa/core/channels/voice_ready/jambonz_protocol.py +3 -4
  127. rasa/core/channels/voice_ready/twilio_voice.py +9 -8
  128. rasa/core/channels/voice_ready/utils.py +2 -2
  129. rasa/core/channels/voice_stream/asr/asr_engine.py +12 -6
  130. rasa/core/channels/voice_stream/asr/asr_event.py +5 -0
  131. rasa/core/channels/voice_stream/asr/azure.py +16 -3
  132. rasa/core/channels/voice_stream/asr/deepgram.py +76 -19
  133. rasa/core/channels/voice_stream/audiocodes.py +292 -0
  134. rasa/core/channels/voice_stream/browser_audio.py +14 -7
  135. rasa/core/channels/voice_stream/call_state.py +6 -2
  136. rasa/core/channels/voice_stream/genesys.py +320 -0
  137. rasa/core/channels/voice_stream/tts/azure.py +13 -5
  138. rasa/core/channels/voice_stream/tts/cartesia.py +34 -14
  139. rasa/core/channels/voice_stream/tts/tts_cache.py +3 -2
  140. rasa/core/channels/voice_stream/tts/tts_engine.py +1 -1
  141. rasa/core/channels/voice_stream/twilio_media_streams.py +12 -8
  142. rasa/core/channels/voice_stream/util.py +1 -1
  143. rasa/core/channels/voice_stream/voice_channel.py +100 -56
  144. rasa/core/channels/webexteams.py +3 -4
  145. rasa/core/constants.py +2 -0
  146. rasa/core/evaluation/marker.py +7 -6
  147. rasa/core/evaluation/marker_base.py +15 -16
  148. rasa/core/evaluation/marker_stats.py +3 -4
  149. rasa/core/evaluation/marker_tracker_loader.py +5 -4
  150. rasa/core/exporter.py +4 -4
  151. rasa/core/featurizers/precomputation.py +8 -8
  152. rasa/core/featurizers/single_state_featurizer.py +7 -7
  153. rasa/core/featurizers/tracker_featurizers.py +13 -13
  154. rasa/core/http_interpreter.py +3 -4
  155. rasa/core/information_retrieval/__init__.py +1 -1
  156. rasa/core/information_retrieval/faiss.py +4 -4
  157. rasa/core/information_retrieval/information_retrieval.py +2 -2
  158. rasa/core/information_retrieval/milvus.py +3 -3
  159. rasa/core/information_retrieval/qdrant.py +3 -3
  160. rasa/core/jobs.py +1 -0
  161. rasa/core/lock.py +2 -3
  162. rasa/core/lock_store.py +3 -3
  163. rasa/core/migrate.py +12 -9
  164. rasa/core/nlg/__init__.py +1 -1
  165. rasa/core/nlg/callback.py +2 -3
  166. rasa/core/nlg/contextual_response_rephraser.py +82 -14
  167. rasa/core/nlg/generator.py +85 -17
  168. rasa/core/nlg/interpolator.py +4 -3
  169. rasa/core/nlg/response.py +9 -7
  170. rasa/core/nlg/summarize.py +1 -0
  171. rasa/core/nlg/translate.py +55 -0
  172. rasa/core/persistor.py +3 -3
  173. rasa/core/policies/ensemble.py +10 -9
  174. rasa/core/policies/enterprise_search_policy.py +87 -21
  175. rasa/core/policies/enterprise_search_prompt_with_citation_template.jinja2 +1 -1
  176. rasa/core/policies/flow_policy.py +13 -14
  177. rasa/core/policies/flows/flow_executor.py +85 -55
  178. rasa/core/policies/intentless_policy.py +6 -7
  179. rasa/core/policies/memoization.py +22 -20
  180. rasa/core/policies/policy.py +24 -22
  181. rasa/core/policies/rule_policy.py +37 -36
  182. rasa/core/policies/ted_policy.py +87 -85
  183. rasa/core/policies/unexpected_intent_policy.py +77 -75
  184. rasa/core/processor.py +167 -74
  185. rasa/core/run.py +5 -4
  186. rasa/core/secrets_manager/endpoints.py +2 -3
  187. rasa/core/secrets_manager/factory.py +2 -3
  188. rasa/core/secrets_manager/secret_manager.py +2 -3
  189. rasa/core/secrets_manager/vault.py +2 -2
  190. rasa/core/test.py +30 -30
  191. rasa/core/tracker_store.py +138 -49
  192. rasa/core/train.py +1 -1
  193. rasa/core/training/__init__.py +2 -2
  194. rasa/core/training/converters/responses_prefix_converter.py +1 -2
  195. rasa/core/training/interactive.py +13 -13
  196. rasa/core/training/story_conflict.py +4 -5
  197. rasa/core/training/training.py +3 -5
  198. rasa/core/utils.py +5 -5
  199. rasa/core/visualize.py +1 -1
  200. rasa/dialogue_understanding/coexistence/intent_based_router.py +2 -2
  201. rasa/dialogue_understanding/coexistence/llm_based_router.py +5 -5
  202. rasa/dialogue_understanding/commands/__init__.py +22 -22
  203. rasa/dialogue_understanding/commands/can_not_handle_command.py +38 -1
  204. rasa/dialogue_understanding/commands/cancel_flow_command.py +96 -9
  205. rasa/dialogue_understanding/commands/change_flow_command.py +36 -2
  206. rasa/dialogue_understanding/commands/chit_chat_answer_command.py +36 -4
  207. rasa/dialogue_understanding/commands/clarify_command.py +46 -4
  208. rasa/dialogue_understanding/commands/command.py +3 -2
  209. rasa/dialogue_understanding/commands/command_syntax_manager.py +55 -0
  210. rasa/dialogue_understanding/commands/correct_slots_command.py +14 -5
  211. rasa/dialogue_understanding/commands/error_command.py +1 -1
  212. rasa/dialogue_understanding/commands/free_form_answer_command.py +2 -1
  213. rasa/dialogue_understanding/commands/handle_code_change_command.py +2 -2
  214. rasa/dialogue_understanding/commands/handle_digressions_command.py +144 -0
  215. rasa/dialogue_understanding/commands/human_handoff_command.py +34 -4
  216. rasa/dialogue_understanding/commands/knowledge_answer_command.py +36 -4
  217. rasa/dialogue_understanding/commands/noop_command.py +2 -1
  218. rasa/dialogue_understanding/commands/prompt_command.py +94 -0
  219. rasa/dialogue_understanding/commands/repeat_bot_messages_command.py +34 -4
  220. rasa/dialogue_understanding/commands/restart_command.py +2 -5
  221. rasa/dialogue_understanding/commands/session_end_command.py +3 -5
  222. rasa/dialogue_understanding/commands/session_start_command.py +3 -5
  223. rasa/dialogue_understanding/commands/set_slot_command.py +55 -16
  224. rasa/dialogue_understanding/commands/skip_question_command.py +34 -4
  225. rasa/dialogue_understanding/commands/start_flow_command.py +78 -2
  226. rasa/dialogue_understanding/commands/user_silence_command.py +3 -5
  227. rasa/dialogue_understanding/commands/utils.py +126 -43
  228. rasa/dialogue_understanding/constants.py +2 -0
  229. rasa/dialogue_understanding/generator/__init__.py +2 -0
  230. rasa/dialogue_understanding/generator/command_generator.py +120 -79
  231. rasa/dialogue_understanding/generator/command_parser.py +245 -0
  232. rasa/dialogue_understanding/generator/constants.py +12 -4
  233. rasa/dialogue_understanding/generator/flow_retrieval.py +7 -7
  234. rasa/dialogue_understanding/generator/llm_based_command_generator.py +187 -59
  235. rasa/dialogue_understanding/generator/llm_command_generator.py +6 -3
  236. rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +106 -110
  237. rasa/dialogue_understanding/generator/nlu_command_adapter.py +53 -11
  238. rasa/dialogue_understanding/generator/prompt_templates/__init__.py +0 -0
  239. rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +58 -0
  240. rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +57 -0
  241. rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +574 -0
  242. rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py +41 -386
  243. rasa/dialogue_understanding/generator/utils.py +76 -0
  244. rasa/dialogue_understanding/patterns/cancel.py +2 -1
  245. rasa/dialogue_understanding/patterns/cannot_handle.py +1 -0
  246. rasa/dialogue_understanding/patterns/chitchat.py +1 -1
  247. rasa/dialogue_understanding/patterns/clarify.py +2 -1
  248. rasa/dialogue_understanding/patterns/code_change.py +2 -0
  249. rasa/dialogue_understanding/patterns/collect_information.py +7 -4
  250. rasa/dialogue_understanding/patterns/completed.py +1 -1
  251. rasa/dialogue_understanding/patterns/continue_interrupted.py +1 -1
  252. rasa/dialogue_understanding/patterns/correction.py +17 -3
  253. rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +78 -2
  254. rasa/dialogue_understanding/patterns/handle_digressions.py +81 -0
  255. rasa/dialogue_understanding/patterns/human_handoff.py +1 -1
  256. rasa/dialogue_understanding/patterns/internal_error.py +1 -0
  257. rasa/dialogue_understanding/patterns/search.py +1 -1
  258. rasa/dialogue_understanding/patterns/session_start.py +1 -1
  259. rasa/dialogue_understanding/patterns/skip_question.py +1 -0
  260. rasa/dialogue_understanding/patterns/user_silence.py +1 -1
  261. rasa/dialogue_understanding/patterns/validate_slot.py +65 -0
  262. rasa/dialogue_understanding/processor/command_processor.py +193 -43
  263. rasa/dialogue_understanding/processor/command_processor_component.py +1 -1
  264. rasa/dialogue_understanding/stack/dialogue_stack.py +4 -3
  265. rasa/dialogue_understanding/stack/frames/__init__.py +2 -2
  266. rasa/dialogue_understanding/stack/frames/chit_chat_frame.py +4 -1
  267. rasa/dialogue_understanding/stack/frames/dialogue_stack_frame.py +2 -3
  268. rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +5 -2
  269. rasa/dialogue_understanding/stack/frames/search_frame.py +4 -1
  270. rasa/dialogue_understanding/stack/utils.py +56 -10
  271. rasa/dialogue_understanding/utils.py +164 -0
  272. rasa/dialogue_understanding_test/README.md +429 -0
  273. rasa/dialogue_understanding_test/__init__.py +0 -0
  274. rasa/dialogue_understanding_test/command_comparison.py +60 -0
  275. rasa/dialogue_understanding_test/command_metric_calculation.py +122 -0
  276. rasa/dialogue_understanding_test/constants.py +22 -0
  277. rasa/dialogue_understanding_test/du_test_case.py +448 -0
  278. rasa/dialogue_understanding_test/du_test_result.py +390 -0
  279. rasa/dialogue_understanding_test/du_test_runner.py +322 -0
  280. rasa/dialogue_understanding_test/du_test_schema.yml +161 -0
  281. rasa/dialogue_understanding_test/io.py +443 -0
  282. rasa/dialogue_understanding_test/test_case_simulation/__init__.py +0 -0
  283. rasa/dialogue_understanding_test/test_case_simulation/exception.py +28 -0
  284. rasa/dialogue_understanding_test/test_case_simulation/test_case_tracker_simulator.py +336 -0
  285. rasa/dialogue_understanding_test/utils.py +70 -0
  286. rasa/dialogue_understanding_test/validation.py +77 -0
  287. rasa/e2e_test/aggregate_test_stats_calculator.py +1 -1
  288. rasa/e2e_test/assertions.py +202 -175
  289. rasa/e2e_test/assertions_schema.yml +6 -0
  290. rasa/e2e_test/constants.py +16 -1
  291. rasa/e2e_test/e2e_config.py +102 -41
  292. rasa/e2e_test/e2e_config_schema.yml +28 -10
  293. rasa/e2e_test/e2e_test_case.py +5 -5
  294. rasa/e2e_test/e2e_test_converter.py +2 -3
  295. rasa/e2e_test/e2e_test_coverage_report.py +6 -6
  296. rasa/e2e_test/e2e_test_result.py +1 -1
  297. rasa/e2e_test/e2e_test_runner.py +143 -38
  298. rasa/e2e_test/llm_judge_prompts/answer_relevance_prompt_template.jinja2 +93 -0
  299. rasa/e2e_test/llm_judge_prompts/groundedness_prompt_template.jinja2 +169 -0
  300. rasa/e2e_test/stub_custom_action.py +1 -1
  301. rasa/e2e_test/utils/generative_assertions.py +243 -0
  302. rasa/e2e_test/utils/io.py +123 -93
  303. rasa/e2e_test/utils/validation.py +101 -3
  304. rasa/engine/caching.py +5 -7
  305. rasa/engine/constants.py +1 -1
  306. rasa/engine/graph.py +3 -2
  307. rasa/engine/language.py +182 -0
  308. rasa/engine/recipes/config_files/default_config.yml +4 -0
  309. rasa/engine/recipes/default_components.py +13 -15
  310. rasa/engine/recipes/default_recipe.py +65 -49
  311. rasa/engine/recipes/graph_recipe.py +10 -7
  312. rasa/engine/recipes/recipe.py +2 -2
  313. rasa/engine/runner/dask.py +2 -2
  314. rasa/engine/runner/interface.py +1 -0
  315. rasa/engine/storage/local_model_storage.py +6 -4
  316. rasa/engine/storage/resource.py +2 -1
  317. rasa/engine/storage/storage.py +8 -3
  318. rasa/engine/training/components.py +2 -1
  319. rasa/engine/training/fingerprinting.py +4 -2
  320. rasa/engine/training/graph_trainer.py +4 -4
  321. rasa/engine/training/hooks.py +2 -2
  322. rasa/engine/validation.py +36 -33
  323. rasa/exceptions.py +3 -2
  324. rasa/graph_components/converters/nlu_message_converter.py +3 -3
  325. rasa/graph_components/providers/domain_for_core_training_provider.py +3 -3
  326. rasa/graph_components/providers/domain_provider.py +3 -2
  327. rasa/graph_components/providers/flows_provider.py +2 -3
  328. rasa/graph_components/providers/forms_provider.py +4 -4
  329. rasa/graph_components/providers/nlu_training_data_provider.py +5 -3
  330. rasa/graph_components/providers/responses_provider.py +4 -4
  331. rasa/graph_components/providers/rule_only_provider.py +3 -2
  332. rasa/graph_components/providers/story_graph_provider.py +8 -8
  333. rasa/graph_components/providers/training_tracker_provider.py +3 -2
  334. rasa/graph_components/validators/default_recipe_validator.py +16 -16
  335. rasa/graph_components/validators/finetuning_validator.py +10 -8
  336. rasa/hooks.py +19 -14
  337. rasa/jupyter.py +2 -2
  338. rasa/llm_fine_tuning/annotation_module.py +4 -4
  339. rasa/llm_fine_tuning/conversations.py +5 -33
  340. rasa/llm_fine_tuning/llm_data_preparation_module.py +6 -4
  341. rasa/llm_fine_tuning/paraphrasing/conversation_rephraser.py +4 -4
  342. rasa/llm_fine_tuning/paraphrasing/rephrase_validator.py +18 -13
  343. rasa/llm_fine_tuning/paraphrasing_module.py +6 -2
  344. rasa/llm_fine_tuning/storage.py +3 -3
  345. rasa/llm_fine_tuning/train_test_split_module.py +27 -27
  346. rasa/llm_fine_tuning/utils.py +7 -0
  347. rasa/markers/marker.py +2 -3
  348. rasa/markers/marker_base.py +1 -2
  349. rasa/markers/upload.py +2 -2
  350. rasa/markers/validate.py +2 -3
  351. rasa/model.py +3 -5
  352. rasa/model_manager/config.py +1 -1
  353. rasa/model_manager/model_api.py +5 -4
  354. rasa/model_manager/runner_service.py +13 -10
  355. rasa/model_manager/socket_bridge.py +15 -9
  356. rasa/model_manager/studio_jwt_auth.py +1 -0
  357. rasa/model_manager/trainer_service.py +9 -7
  358. rasa/model_manager/utils.py +1 -1
  359. rasa/model_manager/warm_rasa_process.py +14 -9
  360. rasa/model_service.py +5 -6
  361. rasa/model_testing.py +13 -15
  362. rasa/model_training.py +29 -29
  363. rasa/nlu/classifiers/diet_classifier.py +72 -73
  364. rasa/nlu/classifiers/fallback_classifier.py +9 -8
  365. rasa/nlu/classifiers/keyword_intent_classifier.py +7 -6
  366. rasa/nlu/classifiers/logistic_regression_classifier.py +3 -3
  367. rasa/nlu/classifiers/mitie_intent_classifier.py +5 -4
  368. rasa/nlu/classifiers/regex_message_handler.py +3 -2
  369. rasa/nlu/classifiers/sklearn_intent_classifier.py +2 -2
  370. rasa/nlu/convert.py +2 -2
  371. rasa/nlu/emulators/dialogflow.py +3 -3
  372. rasa/nlu/emulators/luis.py +5 -5
  373. rasa/nlu/emulators/no_emulator.py +1 -0
  374. rasa/nlu/emulators/wit.py +4 -4
  375. rasa/nlu/extractors/crf_entity_extractor.py +11 -11
  376. rasa/nlu/extractors/duckling_entity_extractor.py +7 -6
  377. rasa/nlu/extractors/entity_synonyms.py +10 -9
  378. rasa/nlu/extractors/extractor.py +16 -16
  379. rasa/nlu/extractors/mitie_entity_extractor.py +10 -9
  380. rasa/nlu/extractors/regex_entity_extractor.py +11 -10
  381. rasa/nlu/extractors/spacy_entity_extractor.py +2 -2
  382. rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +15 -14
  383. rasa/nlu/featurizers/dense_featurizer/dense_featurizer.py +2 -1
  384. rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +10 -9
  385. rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +9 -7
  386. rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +13 -12
  387. rasa/nlu/featurizers/featurizer.py +5 -4
  388. rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +6 -6
  389. rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -4
  390. rasa/nlu/featurizers/sparse_featurizer/regex_featurizer.py +4 -4
  391. rasa/nlu/featurizers/sparse_featurizer/sparse_featurizer.py +2 -0
  392. rasa/nlu/model.py +0 -1
  393. rasa/nlu/selectors/response_selector.py +67 -68
  394. rasa/nlu/test.py +38 -38
  395. rasa/nlu/tokenizers/jieba_tokenizer.py +1 -2
  396. rasa/nlu/tokenizers/mitie_tokenizer.py +2 -2
  397. rasa/nlu/tokenizers/spacy_tokenizer.py +3 -3
  398. rasa/nlu/tokenizers/tokenizer.py +6 -7
  399. rasa/nlu/tokenizers/whitespace_tokenizer.py +1 -1
  400. rasa/nlu/utils/bilou_utils.py +7 -7
  401. rasa/nlu/utils/hugging_face/registry.py +22 -22
  402. rasa/nlu/utils/hugging_face/transformers_pre_post_processors.py +2 -1
  403. rasa/nlu/utils/mitie_utils.py +2 -1
  404. rasa/nlu/utils/pattern_utils.py +1 -1
  405. rasa/nlu/utils/spacy_utils.py +3 -3
  406. rasa/plugin.py +12 -1
  407. rasa/server.py +3 -2
  408. rasa/shared/constants.py +45 -18
  409. rasa/shared/core/command_payload_reader.py +15 -7
  410. rasa/shared/core/constants.py +34 -4
  411. rasa/shared/core/conversation.py +1 -2
  412. rasa/shared/core/domain.py +19 -20
  413. rasa/shared/core/events.py +60 -39
  414. rasa/shared/core/flows/__init__.py +0 -1
  415. rasa/shared/core/flows/constants.py +11 -0
  416. rasa/shared/core/flows/flow.py +107 -26
  417. rasa/shared/core/flows/flow_step.py +4 -3
  418. rasa/shared/core/flows/flow_step_links.py +1 -2
  419. rasa/shared/core/flows/flow_step_sequence.py +1 -1
  420. rasa/shared/core/flows/flows_list.py +3 -3
  421. rasa/shared/core/flows/flows_yaml_schema.json +69 -3
  422. rasa/shared/core/flows/nlu_trigger.py +1 -1
  423. rasa/shared/core/flows/steps/__init__.py +2 -2
  424. rasa/shared/core/flows/steps/action.py +1 -1
  425. rasa/shared/core/flows/steps/call.py +1 -1
  426. rasa/shared/core/flows/steps/collect.py +22 -40
  427. rasa/shared/core/flows/steps/internal.py +1 -1
  428. rasa/shared/core/flows/steps/link.py +1 -1
  429. rasa/shared/core/flows/steps/no_operation.py +2 -2
  430. rasa/shared/core/flows/steps/set_slots.py +1 -1
  431. rasa/shared/core/flows/utils.py +44 -4
  432. rasa/shared/core/flows/validation.py +4 -6
  433. rasa/shared/core/generator.py +20 -21
  434. rasa/shared/core/slot_mappings.py +360 -121
  435. rasa/shared/core/slots.py +163 -6
  436. rasa/shared/core/trackers.py +108 -33
  437. rasa/shared/core/training_data/loading.py +1 -1
  438. rasa/shared/core/training_data/story_reader/story_reader.py +3 -3
  439. rasa/shared/core/training_data/story_reader/story_step_builder.py +4 -4
  440. rasa/shared/core/training_data/story_reader/yaml_story_reader.py +29 -31
  441. rasa/shared/core/training_data/story_writer/yaml_story_writer.py +22 -24
  442. rasa/shared/core/training_data/structures.py +11 -12
  443. rasa/shared/core/training_data/visualization.py +10 -10
  444. rasa/shared/data.py +6 -6
  445. rasa/shared/engine/caching.py +0 -1
  446. rasa/shared/exceptions.py +2 -2
  447. rasa/shared/importers/importer.py +58 -2
  448. rasa/shared/importers/rasa.py +5 -6
  449. rasa/shared/importers/utils.py +1 -1
  450. rasa/shared/nlu/constants.py +9 -0
  451. rasa/shared/nlu/training_data/entities_parser.py +6 -6
  452. rasa/shared/nlu/training_data/features.py +3 -3
  453. rasa/shared/nlu/training_data/formats/__init__.py +1 -1
  454. rasa/shared/nlu/training_data/formats/dialogflow.py +4 -5
  455. rasa/shared/nlu/training_data/formats/luis.py +7 -8
  456. rasa/shared/nlu/training_data/formats/rasa.py +4 -5
  457. rasa/shared/nlu/training_data/formats/rasa_yaml.py +17 -16
  458. rasa/shared/nlu/training_data/formats/readerwriter.py +8 -11
  459. rasa/shared/nlu/training_data/formats/wit.py +3 -4
  460. rasa/shared/nlu/training_data/loading.py +4 -4
  461. rasa/shared/nlu/training_data/lookup_tables_parser.py +1 -1
  462. rasa/shared/nlu/training_data/message.py +13 -14
  463. rasa/shared/nlu/training_data/schemas/data_schema.py +1 -1
  464. rasa/shared/nlu/training_data/schemas/responses.yml +19 -11
  465. rasa/shared/nlu/training_data/synonyms_parser.py +3 -3
  466. rasa/shared/nlu/training_data/training_data.py +12 -13
  467. rasa/shared/nlu/training_data/util.py +11 -10
  468. rasa/shared/providers/_configs/azure_entra_id_config.py +541 -0
  469. rasa/shared/providers/_configs/azure_openai_client_config.py +150 -15
  470. rasa/shared/providers/_configs/client_config.py +3 -1
  471. rasa/shared/providers/_configs/default_litellm_client_config.py +9 -7
  472. rasa/shared/providers/_configs/huggingface_local_embedding_client_config.py +13 -11
  473. rasa/shared/providers/_configs/litellm_router_client_config.py +12 -10
  474. rasa/shared/providers/_configs/model_group_config.py +8 -5
  475. rasa/shared/providers/_configs/oauth_config.py +33 -0
  476. rasa/shared/providers/_configs/openai_client_config.py +14 -12
  477. rasa/shared/providers/_configs/rasa_llm_client_config.py +5 -3
  478. rasa/shared/providers/_configs/self_hosted_llm_client_config.py +12 -11
  479. rasa/shared/providers/_configs/utils.py +1 -0
  480. rasa/shared/providers/_ssl_verification_utils.py +5 -6
  481. rasa/shared/providers/_utils.py +5 -5
  482. rasa/shared/providers/constants.py +6 -0
  483. rasa/shared/providers/embedding/_base_litellm_embedding_client.py +1 -1
  484. rasa/shared/providers/embedding/azure_openai_embedding_client.py +32 -7
  485. rasa/shared/providers/embedding/embedding_client.py +1 -1
  486. rasa/shared/providers/embedding/litellm_router_embedding_client.py +5 -2
  487. rasa/shared/providers/llm/_base_litellm_client.py +43 -18
  488. rasa/shared/providers/llm/azure_openai_llm_client.py +90 -34
  489. rasa/shared/providers/llm/default_litellm_llm_client.py +4 -2
  490. rasa/shared/providers/llm/litellm_router_llm_client.py +32 -9
  491. rasa/shared/providers/llm/llm_client.py +24 -8
  492. rasa/shared/providers/llm/llm_response.py +61 -2
  493. rasa/shared/providers/llm/openai_llm_client.py +11 -5
  494. rasa/shared/providers/llm/rasa_llm_client.py +17 -14
  495. rasa/shared/providers/llm/self_hosted_llm_client.py +35 -15
  496. rasa/shared/providers/mappings.py +18 -19
  497. rasa/shared/providers/router/_base_litellm_router_client.py +48 -15
  498. rasa/shared/providers/router/router_client.py +3 -1
  499. rasa/shared/utils/cli.py +1 -1
  500. rasa/shared/utils/common.py +15 -1
  501. rasa/shared/utils/constants.py +3 -0
  502. rasa/shared/utils/health_check/embeddings_health_check_mixin.py +1 -1
  503. rasa/shared/utils/health_check/health_check.py +3 -3
  504. rasa/shared/utils/health_check/llm_health_check_mixin.py +1 -1
  505. rasa/shared/utils/io.py +1 -1
  506. rasa/shared/utils/llm.py +100 -18
  507. rasa/shared/utils/pykwalify_extensions.py +25 -1
  508. rasa/shared/utils/schemas/domain.yml +26 -1
  509. rasa/shared/utils/schemas/events.py +1 -1
  510. rasa/shared/utils/yaml.py +24 -20
  511. rasa/studio/auth.py +3 -3
  512. rasa/studio/config.py +1 -2
  513. rasa/studio/data_handler.py +3 -3
  514. rasa/studio/download.py +1 -1
  515. rasa/studio/results_logger.py +3 -3
  516. rasa/studio/upload.py +21 -5
  517. rasa/telemetry.py +127 -48
  518. rasa/tracing/config.py +5 -3
  519. rasa/tracing/constants.py +12 -0
  520. rasa/tracing/instrumentation/attribute_extractors.py +92 -14
  521. rasa/tracing/instrumentation/instrumentation.py +61 -5
  522. rasa/tracing/instrumentation/intentless_policy_instrumentation.py +1 -1
  523. rasa/tracing/instrumentation/metrics.py +52 -11
  524. rasa/tracing/metric_instrument_provider.py +54 -14
  525. rasa/utils/common.py +12 -24
  526. rasa/utils/endpoints.py +1 -1
  527. rasa/utils/io.py +7 -7
  528. rasa/utils/licensing.py +3 -4
  529. rasa/utils/log_utils.py +7 -6
  530. rasa/utils/ml_utils.py +1 -0
  531. rasa/utils/plotting.py +3 -3
  532. rasa/utils/sanic_error_handler.py +1 -1
  533. rasa/utils/tensorflow/callback.py +2 -2
  534. rasa/utils/tensorflow/crf.py +2 -2
  535. rasa/utils/tensorflow/data_generator.py +5 -5
  536. rasa/utils/tensorflow/environment.py +3 -3
  537. rasa/utils/tensorflow/feature_array.py +2 -3
  538. rasa/utils/tensorflow/layers.py +18 -12
  539. rasa/utils/tensorflow/layers_utils.py +2 -1
  540. rasa/utils/tensorflow/metrics.py +2 -2
  541. rasa/utils/tensorflow/model_data.py +7 -7
  542. rasa/utils/tensorflow/model_data_utils.py +10 -9
  543. rasa/utils/tensorflow/models.py +31 -32
  544. rasa/utils/tensorflow/rasa_layers.py +20 -19
  545. rasa/utils/tensorflow/types.py +2 -1
  546. rasa/utils/train_utils.py +23 -21
  547. rasa/utils/url_tools.py +1 -1
  548. rasa/validator.py +594 -115
  549. rasa/version.py +1 -1
  550. {rasa_pro-3.11.5.dist-info → rasa_pro-3.12.0.dist-info}/METADATA +23 -26
  551. rasa_pro-3.12.0.dist-info/RECORD +829 -0
  552. rasa/core/channels/inspector/dist/assets/channel-e265ea59.js +0 -1
  553. rasa/core/channels/inspector/dist/assets/clone-21f8a43d.js +0 -1
  554. rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-5c8ce12d.js +0 -1
  555. rasa_pro-3.11.5.dist-info/RECORD +0 -785
  556. /rasa/dialogue_understanding/generator/{single_step → prompt_templates}/command_prompt_template.jinja2 +0 -0
  557. {rasa_pro-3.11.5.dist-info → rasa_pro-3.12.0.dist-info}/NOTICE +0 -0
  558. {rasa_pro-3.11.5.dist-info → rasa_pro-3.12.0.dist-info}/WHEEL +0 -0
  559. {rasa_pro-3.11.5.dist-info → rasa_pro-3.12.0.dist-info}/entry_points.txt +0 -0
rasa/model_testing.py CHANGED
@@ -1,32 +1,31 @@
1
1
  import copy
2
2
  import logging
3
3
  import os
4
+ from pathlib import Path
4
5
  from typing import (
5
- Text,
6
- Dict,
7
- Optional,
8
- List,
9
6
  Any,
7
+ Dict,
10
8
  Iterable,
9
+ List,
10
+ Optional,
11
+ Text,
11
12
  Tuple,
12
13
  Union,
13
14
  )
14
- from pathlib import Path
15
15
 
16
- from rasa.core.agent import Agent
17
- from rasa.engine.storage.local_model_storage import LocalModelStorage
16
+ import rasa.model
17
+ import rasa.shared.nlu.training_data.loading
18
18
  import rasa.shared.utils.cli
19
19
  import rasa.shared.utils.common
20
20
  import rasa.shared.utils.io
21
21
  import rasa.utils.common
22
- from rasa.constants import RESULTS_FILE, NUMBER_OF_TRAINING_STORIES_FILE
22
+ from rasa.constants import NUMBER_OF_TRAINING_STORIES_FILE, RESULTS_FILE
23
+ from rasa.core.agent import Agent
24
+ from rasa.engine.storage.local_model_storage import LocalModelStorage
23
25
  from rasa.exceptions import ModelNotFound
24
26
  from rasa.shared.constants import DEFAULT_RESULTS_PATH
25
- import rasa.shared.nlu.training_data.loading
26
27
  from rasa.shared.data import TrainingType
27
28
  from rasa.shared.nlu.training_data.training_data import TrainingData
28
- import rasa.model
29
-
30
29
 
31
30
  logger = logging.getLogger(__name__)
32
31
 
@@ -245,10 +244,9 @@ async def compare_nlu_models(
245
244
  exclusion_percentages: List[int],
246
245
  ) -> None:
247
246
  """Trains multiple models, compares them and saves the results."""
248
- from rasa.nlu.test import drop_intents_below_freq
247
+ from rasa.nlu.test import compare_nlu, drop_intents_below_freq
249
248
  from rasa.nlu.utils import write_json_to_file
250
249
  from rasa.utils.io import create_path
251
- from rasa.nlu.test import compare_nlu
252
250
 
253
251
  test_data = drop_intents_below_freq(test_data, cutoff=5)
254
252
 
@@ -313,10 +311,10 @@ async def perform_nlu_cross_validation(
313
311
  cross-validation, like number of `disable_plotting`.
314
312
  """
315
313
  from rasa.nlu.test import (
316
- drop_intents_below_freq,
317
314
  cross_validate,
318
- log_results,
315
+ drop_intents_below_freq,
319
316
  log_entity_results,
317
+ log_results,
320
318
  )
321
319
 
322
320
  additional_arguments = additional_arguments or {}
rasa/model_training.py CHANGED
@@ -23,6 +23,7 @@ from rasa.engine.storage.local_model_storage import LocalModelStorage
23
23
  from rasa.engine.storage.storage import ModelStorage
24
24
  from rasa.engine.training.components import FingerprintStatus
25
25
  from rasa.engine.training.graph_trainer import GraphTrainer
26
+ from rasa.shared.constants import CONFIG_RECIPE_KEY
26
27
  from rasa.shared.core.domain import Domain
27
28
  from rasa.shared.core.events import SlotSet
28
29
  from rasa.shared.core.training_data.structures import StoryGraph
@@ -139,6 +140,7 @@ def _check_unresolved_slots(domain: Domain, stories: StoryGraph) -> None:
139
140
  f"whether there is a spelling error."
140
141
  ),
141
142
  )
143
+ rasa.shared.utils.common.display_research_study_prompt()
142
144
  sys.exit(1)
143
145
 
144
146
 
@@ -295,6 +297,7 @@ async def _train_graph(
295
297
  f"model within the directory '{output_path}'."
296
298
  ),
297
299
  )
300
+ rasa.shared.utils.common.display_research_study_prompt()
298
301
  sys.exit(1)
299
302
 
300
303
  rasa.shared.utils.common.mark_as_experimental_feature(
@@ -304,7 +307,7 @@ async def _train_graph(
304
307
  is_finetuning = model_to_finetune is not None
305
308
 
306
309
  config = file_importer.get_config()
307
- recipe = Recipe.recipe_for_name(config.get("recipe"))
310
+ recipe = Recipe.recipe_for_name(config.get(CONFIG_RECIPE_KEY))
308
311
  config, _missing_keys, _configured_keys = recipe.auto_configure(
309
312
  file_importer.get_config_file_for_auto_config(),
310
313
  config,
@@ -351,35 +354,32 @@ async def _train_graph(
351
354
  model_name = determine_model_name(fixed_model_name, training_type)
352
355
  full_model_path = Path(output_path, model_name)
353
356
 
354
- with telemetry.track_model_training(
355
- file_importer, model_type=training_type.model_type
356
- ):
357
- await trainer.train(
358
- model_configuration,
359
- file_importer,
360
- full_model_path,
361
- force_retraining=force_full_training,
362
- is_finetuning=is_finetuning,
357
+ await trainer.train(
358
+ model_configuration,
359
+ file_importer,
360
+ full_model_path,
361
+ force_retraining=force_full_training,
362
+ is_finetuning=is_finetuning,
363
+ )
364
+ if remote_storage:
365
+ push_model_to_remote_storage(full_model_path, remote_storage)
366
+ if not keep_local_model_copy:
367
+ full_model_path.unlink()
368
+ structlogger.info(
369
+ "model_training.train.finished_training",
370
+ event_info=(
371
+ f"Your Rasa model {model_name} is trained "
372
+ f"and saved at remote storage provider '{remote_storage}'."
373
+ ),
363
374
  )
364
- if remote_storage:
365
- push_model_to_remote_storage(full_model_path, remote_storage)
366
- if not keep_local_model_copy:
367
- full_model_path.unlink()
368
- structlogger.info(
369
- "model_training.train.finished_training",
370
- event_info=(
371
- f"Your Rasa model {model_name} is trained "
372
- f"and saved at remote storage provider '{remote_storage}'."
373
- ),
374
- )
375
- else:
376
- structlogger.info(
377
- "model_training.train.finished_training",
378
- event_info=(
379
- f"Your Rasa model is trained and saved at '{full_model_path}'."
380
- ),
381
- )
382
-
375
+ else:
376
+ structlogger.info(
377
+ "model_training.train.finished_training",
378
+ event_info=(
379
+ f"Your Rasa model is trained and saved at '{full_model_path}'."
380
+ ),
381
+ )
382
+ rasa.shared.utils.common.display_research_study_prompt()
383
383
  return TrainingResult(str(full_model_path), 0)
384
384
 
385
385
 
@@ -4,112 +4,111 @@ import copy
4
4
  import logging
5
5
  from collections import defaultdict
6
6
  from pathlib import Path
7
- from typing import Any, Dict, List, Optional, Text, Tuple, Union, TypeVar, Type
7
+ from typing import Any, Dict, List, Optional, Text, Tuple, Type, TypeVar, Union
8
8
 
9
9
  import numpy as np
10
10
  import scipy.sparse
11
11
  import tensorflow as tf
12
12
 
13
- from rasa.exceptions import ModelNotFound
14
- from rasa.nlu.featurizers.featurizer import Featurizer
13
+ import rasa.nlu.utils.bilou_utils as bilou_utils
14
+ import rasa.shared.utils.io
15
15
  from rasa.engine.graph import ExecutionContext, GraphComponent
16
16
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
17
17
  from rasa.engine.storage.resource import Resource
18
18
  from rasa.engine.storage.storage import ModelStorage
19
- from rasa.nlu.extractors.extractor import EntityExtractorMixin
19
+ from rasa.exceptions import ModelNotFound
20
+ from rasa.nlu.classifiers import LABEL_RANKING_LENGTH
20
21
  from rasa.nlu.classifiers.classifier import IntentClassifier
21
- import rasa.shared.utils.io
22
- import rasa.nlu.utils.bilou_utils as bilou_utils
22
+ from rasa.nlu.constants import DEFAULT_TRANSFORMER_SIZE, TOKENS_NAMES
23
+ from rasa.nlu.extractors.extractor import EntityExtractorMixin, EntityTagSpec
24
+ from rasa.nlu.featurizers.featurizer import Featurizer
23
25
  from rasa.shared.constants import DIAGNOSTIC_DATA
24
- from rasa.nlu.extractors.extractor import EntityTagSpec
25
- from rasa.nlu.classifiers import LABEL_RANKING_LENGTH
26
- from rasa.utils import train_utils
27
- from rasa.utils.tensorflow import rasa_layers
28
- from rasa.utils.tensorflow.feature_array import (
29
- FeatureArray,
30
- serialize_nested_feature_arrays,
31
- deserialize_nested_feature_arrays,
32
- )
33
- from rasa.utils.tensorflow.models import RasaModel, TransformerRasaModel
34
- from rasa.utils.tensorflow.model_data import (
35
- RasaModelData,
36
- FeatureSignature,
37
- )
38
- from rasa.nlu.constants import TOKENS_NAMES, DEFAULT_TRANSFORMER_SIZE
26
+ from rasa.shared.exceptions import InvalidConfigException
39
27
  from rasa.shared.nlu.constants import (
40
- SPLIT_ENTITIES_BY_COMMA_DEFAULT_VALUE,
41
- TEXT,
42
- INTENT,
43
- INTENT_RESPONSE_KEY,
44
28
  ENTITIES,
45
- ENTITY_ATTRIBUTE_TYPE,
46
29
  ENTITY_ATTRIBUTE_GROUP,
47
30
  ENTITY_ATTRIBUTE_ROLE,
31
+ ENTITY_ATTRIBUTE_TYPE,
32
+ INTENT,
33
+ INTENT_RESPONSE_KEY,
48
34
  NO_ENTITY_TAG,
49
35
  SPLIT_ENTITIES_BY_COMMA,
36
+ SPLIT_ENTITIES_BY_COMMA_DEFAULT_VALUE,
37
+ TEXT,
50
38
  )
51
- from rasa.shared.exceptions import InvalidConfigException
52
- from rasa.shared.nlu.training_data.training_data import TrainingData
53
39
  from rasa.shared.nlu.training_data.message import Message
40
+ from rasa.shared.nlu.training_data.training_data import TrainingData
41
+ from rasa.utils import train_utils
42
+ from rasa.utils.tensorflow import rasa_layers
54
43
  from rasa.utils.tensorflow.constants import (
55
- DROP_SMALL_LAST_BATCH,
56
- LABEL,
57
- IDS,
58
- HIDDEN_LAYERS_SIZES,
59
- RENORMALIZE_CONFIDENCES,
60
- SHARE_HIDDEN_LAYERS,
61
- TRANSFORMER_SIZE,
62
- NUM_TRANSFORMER_LAYERS,
63
- NUM_HEADS,
44
+ AUTO,
45
+ BALANCED,
64
46
  BATCH_SIZES,
65
47
  BATCH_STRATEGY,
48
+ BILOU_FLAG,
49
+ CHECKPOINT_MODEL,
50
+ CONCAT_DIMENSION,
51
+ CONNECTION_DENSITY,
52
+ CONSTRAIN_SIMILARITIES,
53
+ CROSS_ENTROPY,
54
+ DENSE_DIMENSION,
55
+ DENSE_INPUT_DROPOUT,
56
+ DROP_RATE,
57
+ DROP_RATE_ATTENTION,
58
+ DROP_SMALL_LAST_BATCH,
59
+ EMBEDDING_DIMENSION,
60
+ ENTITY_RECOGNITION,
66
61
  EPOCHS,
67
- RANDOM_SEED,
62
+ EVAL_NUM_EPOCHS,
63
+ EVAL_NUM_EXAMPLES,
64
+ FEATURIZERS,
65
+ HIDDEN_LAYERS_SIZES,
66
+ IDS,
67
+ INTENT_CLASSIFICATION,
68
+ KEY_RELATIVE_ATTENTION,
69
+ LABEL,
68
70
  LEARNING_RATE,
69
- RANKING_LENGTH,
70
71
  LOSS_TYPE,
71
- SIMILARITY_TYPE,
72
- NUM_NEG,
73
- SPARSE_INPUT_DROPOUT,
74
- DENSE_INPUT_DROPOUT,
72
+ MASK,
75
73
  MASKED_LM,
76
- ENTITY_RECOGNITION,
77
- TENSORBOARD_LOG_DIR,
78
- INTENT_CLASSIFICATION,
79
- EVAL_NUM_EXAMPLES,
80
- EVAL_NUM_EPOCHS,
81
- UNIDIRECTIONAL_ENCODER,
82
- DROP_RATE,
83
- DROP_RATE_ATTENTION,
84
- CONNECTION_DENSITY,
85
- NEGATIVE_MARGIN_SCALE,
86
- REGULARIZATION_CONSTANT,
87
- SCALE_LOSS,
88
- USE_MAX_NEG_SIM,
89
74
  MAX_NEG_SIM,
90
75
  MAX_POS_SIM,
91
- EMBEDDING_DIMENSION,
92
- BILOU_FLAG,
93
- KEY_RELATIVE_ATTENTION,
94
- VALUE_RELATIVE_ATTENTION,
95
76
  MAX_RELATIVE_POSITION,
96
- AUTO,
97
- BALANCED,
98
- CROSS_ENTROPY,
99
- TENSORBOARD_LOG_LEVEL,
100
- CONCAT_DIMENSION,
101
- FEATURIZERS,
102
- CHECKPOINT_MODEL,
103
- SEQUENCE,
77
+ MODEL_CONFIDENCE,
78
+ NEGATIVE_MARGIN_SCALE,
79
+ NUM_HEADS,
80
+ NUM_NEG,
81
+ NUM_TRANSFORMER_LAYERS,
82
+ RANDOM_SEED,
83
+ RANKING_LENGTH,
84
+ REGULARIZATION_CONSTANT,
85
+ RENORMALIZE_CONFIDENCES,
86
+ RUN_EAGERLY,
87
+ SCALE_LOSS,
104
88
  SENTENCE,
89
+ SEQUENCE,
105
90
  SEQUENCE_LENGTH,
106
- DENSE_DIMENSION,
107
- MASK,
108
- CONSTRAIN_SIMILARITIES,
109
- MODEL_CONFIDENCE,
91
+ SHARE_HIDDEN_LAYERS,
92
+ SIMILARITY_TYPE,
110
93
  SOFTMAX,
111
- RUN_EAGERLY,
94
+ SPARSE_INPUT_DROPOUT,
95
+ TENSORBOARD_LOG_DIR,
96
+ TENSORBOARD_LOG_LEVEL,
97
+ TRANSFORMER_SIZE,
98
+ UNIDIRECTIONAL_ENCODER,
99
+ USE_MAX_NEG_SIM,
100
+ VALUE_RELATIVE_ATTENTION,
112
101
  )
102
+ from rasa.utils.tensorflow.feature_array import (
103
+ FeatureArray,
104
+ deserialize_nested_feature_arrays,
105
+ serialize_nested_feature_arrays,
106
+ )
107
+ from rasa.utils.tensorflow.model_data import (
108
+ FeatureSignature,
109
+ RasaModelData,
110
+ )
111
+ from rasa.utils.tensorflow.models import RasaModel, TransformerRasaModel
113
112
 
114
113
  logger = logging.getLogger(__name__)
115
114
 
@@ -1,24 +1,25 @@
1
1
  from __future__ import annotations
2
+
2
3
  import logging
3
- from typing import Any, List, Text, Dict, Type, Union, Tuple, Optional
4
+ from typing import Any, Dict, List, Optional, Text, Tuple, Type, Union
4
5
 
5
- from rasa.engine.graph import GraphComponent, ExecutionContext
6
- from rasa.engine.recipes.default_recipe import DefaultV1Recipe
7
- from rasa.engine.storage.resource import Resource
8
- from rasa.engine.storage.storage import ModelStorage
9
- from rasa.shared.constants import DEFAULT_NLU_FALLBACK_INTENT_NAME
10
6
  from rasa.core.constants import (
11
- DEFAULT_NLU_FALLBACK_THRESHOLD,
12
7
  DEFAULT_NLU_FALLBACK_AMBIGUITY_THRESHOLD,
8
+ DEFAULT_NLU_FALLBACK_THRESHOLD,
13
9
  )
10
+ from rasa.engine.graph import ExecutionContext, GraphComponent
11
+ from rasa.engine.recipes.default_recipe import DefaultV1Recipe
12
+ from rasa.engine.storage.resource import Resource
13
+ from rasa.engine.storage.storage import ModelStorage
14
14
  from rasa.nlu.classifiers.classifier import IntentClassifier
15
- from rasa.shared.nlu.training_data.message import Message
15
+ from rasa.shared.constants import DEFAULT_NLU_FALLBACK_INTENT_NAME
16
16
  from rasa.shared.nlu.constants import (
17
17
  INTENT,
18
18
  INTENT_NAME_KEY,
19
19
  INTENT_RANKING_KEY,
20
20
  PREDICTED_CONFIDENCE_KEY,
21
21
  )
22
+ from rasa.shared.nlu.training_data.message import Message
22
23
 
23
24
  THRESHOLD_KEY = "threshold"
24
25
  AMBIGUITY_THRESHOLD_KEY = "ambiguity_threshold"
@@ -1,23 +1,24 @@
1
1
  from __future__ import annotations
2
+
2
3
  import logging
3
4
  import re
4
- from typing import Any, Dict, Optional, Text, List
5
+ from typing import Any, Dict, List, Optional, Text
5
6
 
6
- from rasa.engine.graph import GraphComponent, ExecutionContext
7
+ import rasa.shared.utils.io
8
+ from rasa.engine.graph import ExecutionContext, GraphComponent
7
9
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
8
10
  from rasa.engine.storage.resource import Resource
9
11
  from rasa.engine.storage.storage import ModelStorage
10
- from rasa.shared.constants import DOCS_URL_COMPONENTS
11
12
  from rasa.nlu.classifiers.classifier import IntentClassifier
13
+ from rasa.shared.constants import DOCS_URL_COMPONENTS
12
14
  from rasa.shared.nlu.constants import (
13
15
  INTENT,
14
- TEXT,
15
16
  INTENT_NAME_KEY,
16
17
  PREDICTED_CONFIDENCE_KEY,
18
+ TEXT,
17
19
  )
18
- import rasa.shared.utils.io
19
- from rasa.shared.nlu.training_data.training_data import TrainingData
20
20
  from rasa.shared.nlu.training_data.message import Message
21
+ from rasa.shared.nlu.training_data.training_data import TrainingData
21
22
 
22
23
  logger = logging.getLogger(__name__)
23
24
 
@@ -1,7 +1,7 @@
1
- from typing import Any, Text, Dict, List, Type, Tuple
1
+ from typing import Any, Dict, List, Text, Tuple, Type
2
2
 
3
3
  import structlog
4
- from scipy.sparse import hstack, vstack, csr_matrix
4
+ from scipy.sparse import csr_matrix, hstack, vstack
5
5
  from sklearn.exceptions import NotFittedError
6
6
  from sklearn.linear_model import LogisticRegression
7
7
  from sklearn.utils.validation import check_is_fitted
@@ -13,7 +13,7 @@ from rasa.engine.storage.storage import ModelStorage
13
13
  from rasa.nlu.classifiers import LABEL_RANKING_LENGTH
14
14
  from rasa.nlu.classifiers.classifier import IntentClassifier
15
15
  from rasa.nlu.featurizers.featurizer import Featurizer
16
- from rasa.shared.nlu.constants import TEXT, INTENT
16
+ from rasa.shared.nlu.constants import INTENT, TEXT
17
17
  from rasa.shared.nlu.training_data.message import Message
18
18
  from rasa.shared.nlu.training_data.training_data import TrainingData
19
19
  from rasa.utils.tensorflow.constants import RANKING_LENGTH
@@ -1,6 +1,6 @@
1
1
  from __future__ import annotations
2
+
2
3
  import logging
3
- from rasa.nlu.featurizers.featurizer import Featurizer
4
4
  import typing
5
5
  from typing import Any, Dict, List, Optional, Text, Type
6
6
 
@@ -9,11 +9,12 @@ from rasa.engine.recipes.default_recipe import DefaultV1Recipe
9
9
  from rasa.engine.storage.resource import Resource
10
10
  from rasa.engine.storage.storage import ModelStorage
11
11
  from rasa.nlu.classifiers.classifier import IntentClassifier
12
- from rasa.nlu.utils.mitie_utils import MitieModel, MitieNLP
13
12
  from rasa.nlu.constants import TOKENS_NAMES
14
- from rasa.shared.nlu.constants import TEXT, INTENT
15
- from rasa.shared.nlu.training_data.training_data import TrainingData
13
+ from rasa.nlu.featurizers.featurizer import Featurizer
14
+ from rasa.nlu.utils.mitie_utils import MitieModel, MitieNLP
15
+ from rasa.shared.nlu.constants import INTENT, TEXT
16
16
  from rasa.shared.nlu.training_data.message import Message
17
+ from rasa.shared.nlu.training_data.training_data import TrainingData
17
18
 
18
19
  if typing.TYPE_CHECKING:
19
20
  import mitie
@@ -1,8 +1,9 @@
1
1
  from __future__ import annotations
2
+
2
3
  import logging
3
- from typing import Any, Dict, Optional, Text, List
4
+ from typing import Any, Dict, List, Optional, Text
4
5
 
5
- from rasa.engine.graph import GraphComponent, ExecutionContext
6
+ from rasa.engine.graph import ExecutionContext, GraphComponent
6
7
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
7
8
  from rasa.engine.storage.resource import Resource
8
9
  from rasa.engine.storage.storage import ModelStorage
@@ -8,7 +8,7 @@ from typing import Any, Dict, List, Optional, Text, Tuple, Type
8
8
  import numpy as np
9
9
 
10
10
  import rasa.shared.utils.io
11
- from rasa.engine.graph import GraphComponent, ExecutionContext
11
+ from rasa.engine.graph import ExecutionContext, GraphComponent
12
12
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
13
13
  from rasa.engine.storage.resource import Resource
14
14
  from rasa.engine.storage.storage import ModelStorage
@@ -291,8 +291,8 @@ class SklearnIntentClassifier(GraphComponent, IntentClassifier):
291
291
  **kwargs: Any,
292
292
  ) -> SklearnIntentClassifier:
293
293
  """Loads trained component (see parent class for full docstring)."""
294
- from sklearn.preprocessing import LabelEncoder
295
294
  import skops.io as sio
295
+ from sklearn.preprocessing import LabelEncoder
296
296
 
297
297
  try:
298
298
  with model_storage.read_from(resource) as model_dir:
rasa/nlu/convert.py CHANGED
@@ -1,10 +1,10 @@
1
1
  import os
2
2
  from typing import Text, Union
3
3
 
4
- from rasa.shared.nlu.training_data.formats.rasa_yaml import RasaYAMLWriter
5
- from rasa.shared.utils.cli import print_error
6
4
  import rasa.shared.nlu.training_data.loading
7
5
  from rasa.nlu.utils import write_to_file
6
+ from rasa.shared.nlu.training_data.formats.rasa_yaml import RasaYAMLWriter
7
+ from rasa.shared.utils.cli import print_error
8
8
 
9
9
 
10
10
  def convert_training_data(
@@ -2,16 +2,16 @@ import uuid
2
2
  from collections import defaultdict
3
3
  from typing import Any, Dict, Text
4
4
 
5
+ from rasa.nlu.emulators.emulator import Emulator
5
6
  from rasa.shared.nlu.constants import (
6
- INTENT_NAME_KEY,
7
7
  ENTITIES,
8
8
  ENTITY_ATTRIBUTE_TYPE,
9
9
  ENTITY_ATTRIBUTE_VALUE,
10
10
  INTENT,
11
- TEXT,
11
+ INTENT_NAME_KEY,
12
12
  PREDICTED_CONFIDENCE_KEY,
13
+ TEXT,
13
14
  )
14
- from rasa.nlu.emulators.emulator import Emulator
15
15
 
16
16
 
17
17
  class DialogflowEmulator(Emulator):
@@ -3,17 +3,17 @@ from typing import Any, Dict, Text
3
3
  from rasa.nlu.emulators.emulator import Emulator
4
4
  from rasa.shared.nlu.constants import (
5
5
  ENTITIES,
6
- ENTITY_ATTRIBUTE_TYPE,
6
+ ENTITY_ATTRIBUTE_END,
7
7
  ENTITY_ATTRIBUTE_ROLE,
8
- ENTITY_ATTRIBUTE_VALUE,
9
8
  ENTITY_ATTRIBUTE_START,
10
- ENTITY_ATTRIBUTE_END,
9
+ ENTITY_ATTRIBUTE_TYPE,
10
+ ENTITY_ATTRIBUTE_VALUE,
11
11
  EXTRACTOR,
12
- INTENT_RANKING_KEY,
13
- TEXT,
14
12
  INTENT,
15
13
  INTENT_NAME_KEY,
14
+ INTENT_RANKING_KEY,
16
15
  PREDICTED_CONFIDENCE_KEY,
16
+ TEXT,
17
17
  )
18
18
 
19
19
 
@@ -1,4 +1,5 @@
1
1
  from typing import Any, Dict, Text
2
+
2
3
  from rasa.nlu.emulators.emulator import Emulator
3
4
 
4
5
 
rasa/nlu/emulators/wit.py CHANGED
@@ -4,13 +4,13 @@ from typing import Any, Dict, Text
4
4
  from rasa.nlu.emulators.emulator import Emulator
5
5
  from rasa.shared.nlu.constants import (
6
6
  ENTITIES,
7
- ENTITY_ATTRIBUTE_TYPE,
8
- ENTITY_ATTRIBUTE_ROLE,
9
- ENTITY_ATTRIBUTE_VALUE,
10
7
  ENTITY_ATTRIBUTE_END,
8
+ ENTITY_ATTRIBUTE_ROLE,
11
9
  ENTITY_ATTRIBUTE_START,
12
- TEXT,
10
+ ENTITY_ATTRIBUTE_TYPE,
11
+ ENTITY_ATTRIBUTE_VALUE,
13
12
  INTENT,
13
+ TEXT,
14
14
  )
15
15
 
16
16
 
@@ -1,38 +1,38 @@
1
1
  from __future__ import annotations
2
2
 
3
- from collections import OrderedDict
4
- from enum import Enum
5
3
  import logging
6
4
  import typing
7
- from typing import Any, Dict, List, Optional, Text, Tuple, Callable, Type
5
+ from collections import OrderedDict
6
+ from enum import Enum
7
+ from typing import Any, Callable, Dict, List, Optional, Text, Tuple, Type
8
8
 
9
9
  import numpy as np
10
10
 
11
11
  import rasa.nlu.utils.bilou_utils as bilou_utils
12
12
  import rasa.shared.utils.io
13
13
  import rasa.utils.train_utils
14
- from rasa.engine.graph import GraphComponent, ExecutionContext
14
+ from rasa.engine.graph import ExecutionContext, GraphComponent
15
15
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
16
16
  from rasa.engine.storage.resource import Resource
17
17
  from rasa.engine.storage.storage import ModelStorage
18
+ from rasa.nlu.constants import TOKENS_NAMES
19
+ from rasa.nlu.extractors.extractor import EntityExtractorMixin
18
20
  from rasa.nlu.test import determine_token_labels
19
21
  from rasa.nlu.tokenizers.spacy_tokenizer import POS_TAG_KEY
20
- from rasa.nlu.extractors.extractor import EntityExtractorMixin
21
22
  from rasa.nlu.tokenizers.tokenizer import Token, Tokenizer
22
- from rasa.shared.nlu.training_data.training_data import TrainingData
23
- from rasa.shared.nlu.training_data.message import Message
24
- from rasa.nlu.constants import TOKENS_NAMES
23
+ from rasa.shared.constants import DOCS_URL_COMPONENTS
25
24
  from rasa.shared.nlu.constants import (
26
- TEXT,
27
25
  ENTITIES,
28
- ENTITY_ATTRIBUTE_TYPE,
29
26
  ENTITY_ATTRIBUTE_GROUP,
30
27
  ENTITY_ATTRIBUTE_ROLE,
28
+ ENTITY_ATTRIBUTE_TYPE,
31
29
  NO_ENTITY_TAG,
32
30
  SPLIT_ENTITIES_BY_COMMA,
33
31
  SPLIT_ENTITIES_BY_COMMA_DEFAULT_VALUE,
32
+ TEXT,
34
33
  )
35
- from rasa.shared.constants import DOCS_URL_COMPONENTS
34
+ from rasa.shared.nlu.training_data.message import Message
35
+ from rasa.shared.nlu.training_data.training_data import TrainingData
36
36
  from rasa.utils.tensorflow.constants import BILOU_FLAG, FEATURIZERS
37
37
 
38
38
  logger = logging.getLogger(__name__)
@@ -1,22 +1,23 @@
1
1
  from __future__ import annotations
2
- import time
2
+
3
3
  import json
4
4
  import logging
5
5
  import os
6
+ import time
7
+ from typing import Any, Dict, List, Optional, Text
8
+
6
9
  import requests
7
- from typing import Any, List, Optional, Text, Dict
8
10
 
11
+ import rasa.shared.utils.io
9
12
  import rasa.utils.endpoints as endpoints_utils
10
- from rasa.engine.graph import GraphComponent, ExecutionContext
13
+ from rasa.engine.graph import ExecutionContext, GraphComponent
11
14
  from rasa.engine.recipes.default_recipe import DefaultV1Recipe
12
15
  from rasa.engine.storage.resource import Resource
13
16
  from rasa.engine.storage.storage import ModelStorage
17
+ from rasa.nlu.extractors.extractor import EntityExtractorMixin
14
18
  from rasa.shared.constants import DOCS_URL_COMPONENTS
15
19
  from rasa.shared.nlu.constants import ENTITIES, TEXT
16
- from rasa.nlu.extractors.extractor import EntityExtractorMixin
17
20
  from rasa.shared.nlu.training_data.message import Message
18
- import rasa.shared.utils.io
19
-
20
21
 
21
22
  logger = logging.getLogger(__name__)
22
23