rasa-pro 3.12.0.dev2__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.
- rasa/__main__.py +7 -7
- rasa/anonymization/anonymisation_rule_yaml_reader.py +1 -1
- rasa/anonymization/anonymization_pipeline.py +3 -3
- rasa/anonymization/anonymization_rule_executor.py +1 -1
- rasa/anonymization/anonymization_rule_orchestrator.py +2 -3
- rasa/cli/arguments/data.py +2 -2
- rasa/cli/arguments/evaluate.py +2 -1
- rasa/cli/arguments/interactive.py +1 -1
- rasa/cli/arguments/run.py +1 -1
- rasa/cli/arguments/test.py +7 -5
- rasa/cli/arguments/train.py +3 -3
- rasa/cli/arguments/visualize.py +2 -2
- rasa/cli/arguments/x.py +1 -0
- rasa/cli/data.py +4 -3
- rasa/cli/dialogue_understanding_test.py +116 -18
- rasa/cli/evaluate.py +1 -1
- rasa/cli/export.py +6 -6
- rasa/cli/interactive.py +4 -5
- rasa/cli/llm_fine_tuning.py +5 -5
- rasa/cli/markers.py +1 -2
- rasa/cli/project_templates/calm/actions/add_contact.py +1 -1
- rasa/cli/project_templates/tutorial/actions/actions.py +3 -2
- rasa/cli/shell.py +2 -3
- rasa/cli/studio/download.py +1 -2
- rasa/cli/studio/studio.py +2 -3
- rasa/cli/studio/train.py +0 -1
- rasa/cli/telemetry.py +2 -2
- rasa/cli/test.py +11 -11
- rasa/cli/utils.py +7 -5
- rasa/core/__init__.py +0 -1
- rasa/core/actions/action.py +42 -21
- rasa/core/actions/action_hangup.py +1 -1
- rasa/core/actions/action_repeat_bot_messages.py +2 -2
- rasa/core/actions/action_run_slot_rejections.py +2 -2
- rasa/core/actions/action_trigger_chitchat.py +1 -1
- rasa/core/actions/action_trigger_flow.py +5 -5
- rasa/core/actions/action_trigger_search.py +1 -1
- rasa/core/actions/forms.py +14 -12
- rasa/core/actions/http_custom_action_executor.py +8 -1
- rasa/core/actions/loops.py +3 -3
- rasa/core/actions/two_stage_fallback.py +13 -13
- rasa/core/auth_retry_tracker_store.py +1 -2
- rasa/core/brokers/broker.py +2 -1
- rasa/core/brokers/file.py +1 -1
- rasa/core/brokers/kafka.py +8 -8
- rasa/core/brokers/pika.py +8 -9
- rasa/core/brokers/sql.py +4 -3
- rasa/core/channels/__init__.py +3 -0
- rasa/core/channels/botframework.py +2 -2
- rasa/core/channels/callback.py +4 -4
- rasa/core/channels/channel.py +11 -11
- rasa/core/channels/console.py +0 -1
- rasa/core/channels/development_inspector.py +6 -6
- rasa/core/channels/facebook.py +5 -5
- rasa/core/channels/hangouts.py +7 -8
- rasa/core/channels/inspector/dist/assets/{arc-861ddd57.js → arc-632a63ec.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-d0fbc5ce-921f02db.js → c4Diagram-d0fbc5ce-081e0df4.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-936ed81e-b436c4f8.js → classDiagram-936ed81e-3df0afc2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-c3cb15f1-511a23cb.js → classDiagram-v2-c3cb15f1-8c5ed31e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{createText-62fc7601-ef476ecd.js → createText-62fc7601-89c73b31.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-f2ad444c-f1878e0a.js → edges-f2ad444c-4fc48c3e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9d236eb7-fac75185.js → erDiagram-9d236eb7-907e0440.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-1972c806-201c5bbc.js → flowDb-1972c806-9ec53a3c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-7ea5b25a-f904ae41.js → flowDiagram-7ea5b25a-41da787a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-855bc5b3-8bea338b.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-abe16c3d-1813da66.js → flowchart-elk-definition-abe16c3d-ce370633.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-9b5ea136-872af172.js → ganttDiagram-9b5ea136-90a36523.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-99d0ae7c-34a0af5a.js → gitGraphDiagram-99d0ae7c-41e1aa3f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-2c4b9a3b-42ba3e3d.js → index-2c4b9a3b-e6f2af62.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-37817b51.js → index-e793d777.js} +3 -3
- rasa/core/channels/inspector/dist/assets/{infoDiagram-736b4530-6b731386.js → infoDiagram-736b4530-8ceba4db.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-df861f2b-e8579ac6.js → journeyDiagram-df861f2b-960d3809.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-89e6403a.js → layout-498807d8.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-dc73d3fc.js → line-eeccc4e2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-f5b1d2bc.js → linear-8a078617.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-beec6740-82cb74fa.js → mindmap-definition-beec6740-396d17dd.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-dbbf0591-bdf5f29b.js → pieDiagram-dbbf0591-dc9b5e1b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-4d7f4fd6-c7a0cbe4.js → quadrantDiagram-4d7f4fd6-a08cba6d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-6fc4c22a-7ec5410f.js → requirementDiagram-6fc4c22a-87242b9e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-8f13d901-caee5554.js → sankeyDiagram-8f13d901-53f6f391.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-b655622a-2935f8db.js → sequenceDiagram-b655622a-715c9c20.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-59f0c015-8f5d9693.js → stateDiagram-59f0c015-2e8fb31f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-2b26beab-d565d1de.js → stateDiagram-v2-2b26beab-7e2d2aa0.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-080da4f6-75ad421d.js → styles-080da4f6-4420cea6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-3dcbcfbf-7e764226.js → styles-3dcbcfbf-28676cf4.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9c745c82-7a4e0e61.js → styles-9c745c82-cef936a6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-4835440b-4019d1bf.js → svgDrawCommon-4835440b-151251e9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-5b62e21b-01ea12df.js → timeline-definition-5b62e21b-0d39bdb2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-2b33534f-89407137.js → xychartDiagram-2b33534f-a03fa445.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +3 -1
- rasa/core/channels/inspector/index.html +2 -0
- rasa/core/channels/inspector/src/App.tsx +1 -4
- rasa/core/channels/mattermost.py +4 -4
- rasa/core/channels/rasa_chat.py +4 -4
- rasa/core/channels/rest.py +11 -12
- rasa/core/channels/rocketchat.py +4 -3
- rasa/core/channels/slack.py +6 -5
- rasa/core/channels/socketio.py +7 -28
- rasa/core/channels/studio_chat.py +193 -0
- rasa/core/channels/telegram.py +73 -41
- rasa/core/channels/twilio.py +3 -3
- rasa/core/channels/vier_cvg.py +2 -2
- rasa/core/channels/voice_ready/audiocodes.py +8 -8
- rasa/core/channels/voice_ready/jambonz.py +5 -5
- rasa/core/channels/voice_ready/jambonz_protocol.py +3 -4
- rasa/core/channels/voice_ready/twilio_voice.py +9 -8
- rasa/core/channels/voice_ready/utils.py +1 -1
- rasa/core/channels/voice_stream/asr/asr_engine.py +2 -2
- rasa/core/channels/voice_stream/asr/azure.py +2 -2
- rasa/core/channels/voice_stream/asr/deepgram.py +57 -16
- rasa/core/channels/voice_stream/browser_audio.py +9 -6
- rasa/core/channels/voice_stream/call_state.py +2 -1
- rasa/core/channels/voice_stream/tts/azure.py +1 -2
- rasa/core/channels/voice_stream/tts/cartesia.py +5 -4
- rasa/core/channels/voice_stream/tts/tts_cache.py +3 -2
- rasa/core/channels/voice_stream/tts/tts_engine.py +1 -1
- rasa/core/channels/voice_stream/twilio_media_streams.py +10 -7
- rasa/core/channels/voice_stream/util.py +1 -1
- rasa/core/channels/voice_stream/voice_channel.py +15 -15
- rasa/core/channels/webexteams.py +3 -4
- rasa/core/evaluation/marker.py +7 -6
- rasa/core/evaluation/marker_base.py +15 -16
- rasa/core/evaluation/marker_stats.py +3 -4
- rasa/core/evaluation/marker_tracker_loader.py +5 -4
- rasa/core/exporter.py +4 -4
- rasa/core/featurizers/precomputation.py +8 -8
- rasa/core/featurizers/single_state_featurizer.py +7 -7
- rasa/core/featurizers/tracker_featurizers.py +13 -13
- rasa/core/http_interpreter.py +3 -4
- rasa/core/information_retrieval/__init__.py +1 -1
- rasa/core/information_retrieval/faiss.py +4 -4
- rasa/core/information_retrieval/information_retrieval.py +2 -2
- rasa/core/information_retrieval/milvus.py +3 -3
- rasa/core/information_retrieval/qdrant.py +3 -3
- rasa/core/jobs.py +1 -0
- rasa/core/lock.py +2 -3
- rasa/core/lock_store.py +3 -3
- rasa/core/migrate.py +11 -8
- rasa/core/nlg/__init__.py +1 -1
- rasa/core/nlg/callback.py +2 -3
- rasa/core/nlg/contextual_response_rephraser.py +63 -13
- rasa/core/nlg/generator.py +2 -2
- rasa/core/nlg/interpolator.py +4 -3
- rasa/core/nlg/response.py +3 -4
- rasa/core/nlg/summarize.py +1 -0
- rasa/core/persistor.py +3 -3
- rasa/core/policies/ensemble.py +10 -9
- rasa/core/policies/enterprise_search_policy.py +86 -21
- rasa/core/policies/flow_policy.py +13 -14
- rasa/core/policies/flows/flow_executor.py +35 -11
- rasa/core/policies/intentless_policy.py +6 -7
- rasa/core/policies/memoization.py +22 -20
- rasa/core/policies/policy.py +24 -22
- rasa/core/policies/rule_policy.py +37 -36
- rasa/core/policies/ted_policy.py +87 -85
- rasa/core/policies/unexpected_intent_policy.py +77 -75
- rasa/core/processor.py +96 -65
- rasa/core/run.py +1 -1
- rasa/core/secrets_manager/endpoints.py +2 -3
- rasa/core/secrets_manager/factory.py +2 -3
- rasa/core/secrets_manager/secret_manager.py +2 -3
- rasa/core/secrets_manager/vault.py +2 -2
- rasa/core/test.py +30 -30
- rasa/core/tracker_store.py +15 -15
- rasa/core/train.py +1 -1
- rasa/core/training/__init__.py +2 -2
- rasa/core/training/converters/responses_prefix_converter.py +1 -2
- rasa/core/training/interactive.py +13 -13
- rasa/core/training/story_conflict.py +4 -5
- rasa/core/training/training.py +3 -5
- rasa/core/utils.py +5 -5
- rasa/core/visualize.py +1 -1
- rasa/dialogue_understanding/coexistence/intent_based_router.py +2 -2
- rasa/dialogue_understanding/coexistence/llm_based_router.py +5 -5
- rasa/dialogue_understanding/commands/__init__.py +22 -22
- rasa/dialogue_understanding/commands/can_not_handle_command.py +20 -1
- rasa/dialogue_understanding/commands/cancel_flow_command.py +18 -7
- rasa/dialogue_understanding/commands/change_flow_command.py +18 -2
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +18 -4
- rasa/dialogue_understanding/commands/clarify_command.py +19 -3
- rasa/dialogue_understanding/commands/command.py +19 -3
- rasa/dialogue_understanding/commands/correct_slots_command.py +3 -3
- rasa/dialogue_understanding/commands/error_command.py +1 -1
- rasa/dialogue_understanding/commands/free_form_answer_command.py +2 -1
- rasa/dialogue_understanding/commands/handle_code_change_command.py +2 -2
- rasa/dialogue_understanding/commands/human_handoff_command.py +16 -4
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +18 -4
- rasa/dialogue_understanding/commands/noop_command.py +2 -1
- rasa/dialogue_understanding/commands/repeat_bot_messages_command.py +16 -4
- rasa/dialogue_understanding/commands/restart_command.py +2 -5
- rasa/dialogue_understanding/commands/session_end_command.py +3 -5
- rasa/dialogue_understanding/commands/session_start_command.py +3 -5
- rasa/dialogue_understanding/commands/set_slot_command.py +27 -3
- rasa/dialogue_understanding/commands/skip_question_command.py +16 -4
- rasa/dialogue_understanding/commands/start_flow_command.py +17 -2
- rasa/dialogue_understanding/commands/user_silence_command.py +3 -5
- rasa/dialogue_understanding/commands/utils.py +64 -45
- rasa/dialogue_understanding/constants.py +1 -0
- rasa/dialogue_understanding/generator/command_generator.py +2 -119
- rasa/dialogue_understanding/generator/command_parser.py +201 -0
- rasa/dialogue_understanding/generator/constants.py +2 -2
- rasa/dialogue_understanding/generator/flow_retrieval.py +7 -7
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +11 -57
- rasa/dialogue_understanding/generator/llm_command_generator.py +2 -1
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +67 -120
- rasa/dialogue_understanding/generator/nlu_command_adapter.py +8 -10
- rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py +32 -93
- rasa/dialogue_understanding/generator/utils.py +45 -0
- rasa/dialogue_understanding/patterns/cancel.py +2 -1
- rasa/dialogue_understanding/patterns/cannot_handle.py +1 -0
- rasa/dialogue_understanding/patterns/chitchat.py +1 -1
- rasa/dialogue_understanding/patterns/clarify.py +2 -1
- rasa/dialogue_understanding/patterns/code_change.py +2 -0
- rasa/dialogue_understanding/patterns/collect_information.py +6 -3
- rasa/dialogue_understanding/patterns/completed.py +1 -1
- rasa/dialogue_understanding/patterns/continue_interrupted.py +10 -1
- rasa/dialogue_understanding/patterns/correction.py +4 -2
- rasa/dialogue_understanding/patterns/human_handoff.py +1 -1
- rasa/dialogue_understanding/patterns/internal_error.py +1 -0
- rasa/dialogue_understanding/patterns/search.py +1 -1
- rasa/dialogue_understanding/patterns/session_start.py +1 -1
- rasa/dialogue_understanding/patterns/skip_question.py +1 -0
- rasa/dialogue_understanding/patterns/user_silence.py +1 -1
- rasa/dialogue_understanding/processor/command_processor.py +13 -9
- rasa/dialogue_understanding/processor/command_processor_component.py +1 -1
- rasa/dialogue_understanding/stack/dialogue_stack.py +4 -3
- rasa/dialogue_understanding/stack/frames/__init__.py +2 -2
- rasa/dialogue_understanding/stack/frames/chit_chat_frame.py +4 -1
- rasa/dialogue_understanding/stack/frames/dialogue_stack_frame.py +2 -3
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +5 -2
- rasa/dialogue_understanding/stack/frames/search_frame.py +4 -1
- rasa/dialogue_understanding/stack/utils.py +8 -4
- rasa/dialogue_understanding/utils.py +121 -2
- rasa/dialogue_understanding_test/README.md +379 -0
- rasa/dialogue_understanding_test/command_comparison.py +60 -0
- rasa/dialogue_understanding_test/command_metric_calculation.py +110 -4
- rasa/dialogue_understanding_test/constants.py +6 -1
- rasa/dialogue_understanding_test/du_test_case.py +252 -38
- rasa/dialogue_understanding_test/du_test_result.py +281 -2
- rasa/dialogue_understanding_test/du_test_runner.py +239 -10
- rasa/dialogue_understanding_test/du_test_schema.yml +161 -0
- rasa/dialogue_understanding_test/io.py +338 -20
- rasa/dialogue_understanding_test/test_case_simulation/__init__.py +0 -0
- rasa/dialogue_understanding_test/test_case_simulation/exception.py +28 -0
- rasa/dialogue_understanding_test/test_case_simulation/test_case_tracker_simulator.py +336 -0
- rasa/dialogue_understanding_test/utils.py +70 -0
- rasa/dialogue_understanding_test/validation.py +59 -4
- rasa/e2e_test/aggregate_test_stats_calculator.py +1 -1
- rasa/e2e_test/assertions.py +1 -1
- rasa/e2e_test/e2e_config.py +1 -1
- rasa/e2e_test/e2e_test_case.py +3 -4
- rasa/e2e_test/e2e_test_converter.py +2 -3
- rasa/e2e_test/e2e_test_coverage_report.py +6 -6
- rasa/e2e_test/e2e_test_result.py +1 -1
- rasa/e2e_test/e2e_test_runner.py +134 -31
- rasa/e2e_test/stub_custom_action.py +1 -1
- rasa/e2e_test/utils/e2e_yaml_utils.py +1 -1
- rasa/e2e_test/utils/io.py +132 -65
- rasa/e2e_test/utils/validation.py +1 -1
- rasa/engine/caching.py +5 -7
- rasa/engine/constants.py +1 -1
- rasa/engine/graph.py +2 -2
- rasa/engine/recipes/default_components.py +13 -15
- rasa/engine/recipes/recipe.py +2 -2
- rasa/engine/runner/dask.py +2 -2
- rasa/engine/runner/interface.py +1 -0
- rasa/engine/storage/local_model_storage.py +5 -4
- rasa/engine/storage/resource.py +2 -1
- rasa/engine/storage/storage.py +5 -3
- rasa/engine/training/components.py +2 -1
- rasa/engine/training/fingerprinting.py +4 -2
- rasa/engine/training/graph_trainer.py +4 -4
- rasa/engine/training/hooks.py +2 -2
- rasa/engine/validation.py +34 -33
- rasa/exceptions.py +3 -2
- rasa/graph_components/converters/nlu_message_converter.py +3 -3
- rasa/graph_components/providers/domain_for_core_training_provider.py +3 -3
- rasa/graph_components/providers/domain_provider.py +3 -2
- rasa/graph_components/providers/flows_provider.py +2 -3
- rasa/graph_components/providers/forms_provider.py +4 -4
- rasa/graph_components/providers/nlu_training_data_provider.py +5 -3
- rasa/graph_components/providers/responses_provider.py +4 -4
- rasa/graph_components/providers/rule_only_provider.py +3 -2
- rasa/graph_components/providers/story_graph_provider.py +8 -8
- rasa/graph_components/providers/training_tracker_provider.py +3 -2
- rasa/graph_components/validators/default_recipe_validator.py +16 -16
- rasa/graph_components/validators/finetuning_validator.py +10 -8
- rasa/hooks.py +18 -12
- rasa/jupyter.py +2 -2
- rasa/llm_fine_tuning/annotation_module.py +4 -4
- rasa/llm_fine_tuning/conversations.py +6 -6
- rasa/llm_fine_tuning/llm_data_preparation_module.py +1 -1
- rasa/llm_fine_tuning/paraphrasing/conversation_rephraser.py +4 -4
- rasa/llm_fine_tuning/paraphrasing/rephrase_validator.py +1 -1
- rasa/llm_fine_tuning/paraphrasing_module.py +1 -1
- rasa/llm_fine_tuning/storage.py +3 -3
- rasa/markers/marker.py +2 -3
- rasa/markers/marker_base.py +1 -2
- rasa/markers/upload.py +2 -2
- rasa/markers/validate.py +2 -3
- rasa/model.py +3 -5
- rasa/model_manager/config.py +1 -1
- rasa/model_manager/model_api.py +5 -4
- rasa/model_manager/runner_service.py +6 -6
- rasa/model_manager/socket_bridge.py +8 -3
- rasa/model_manager/studio_jwt_auth.py +1 -0
- rasa/model_manager/trainer_service.py +9 -7
- rasa/model_manager/utils.py +1 -1
- rasa/model_manager/warm_rasa_process.py +14 -8
- rasa/model_service.py +5 -6
- rasa/model_testing.py +13 -15
- rasa/nlu/classifiers/diet_classifier.py +72 -73
- rasa/nlu/classifiers/fallback_classifier.py +9 -8
- rasa/nlu/classifiers/keyword_intent_classifier.py +7 -6
- rasa/nlu/classifiers/logistic_regression_classifier.py +3 -3
- rasa/nlu/classifiers/mitie_intent_classifier.py +5 -4
- rasa/nlu/classifiers/regex_message_handler.py +3 -2
- rasa/nlu/classifiers/sklearn_intent_classifier.py +2 -2
- rasa/nlu/convert.py +2 -2
- rasa/nlu/emulators/dialogflow.py +3 -3
- rasa/nlu/emulators/luis.py +5 -5
- rasa/nlu/emulators/no_emulator.py +1 -0
- rasa/nlu/emulators/wit.py +4 -4
- rasa/nlu/extractors/crf_entity_extractor.py +11 -11
- rasa/nlu/extractors/duckling_entity_extractor.py +7 -6
- rasa/nlu/extractors/entity_synonyms.py +10 -9
- rasa/nlu/extractors/extractor.py +16 -16
- rasa/nlu/extractors/mitie_entity_extractor.py +10 -9
- rasa/nlu/extractors/regex_entity_extractor.py +11 -10
- rasa/nlu/extractors/spacy_entity_extractor.py +2 -2
- rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +15 -14
- rasa/nlu/featurizers/dense_featurizer/dense_featurizer.py +2 -1
- rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +10 -9
- rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +9 -7
- rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +13 -12
- rasa/nlu/featurizers/featurizer.py +5 -4
- rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +6 -6
- rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -4
- rasa/nlu/featurizers/sparse_featurizer/regex_featurizer.py +4 -4
- rasa/nlu/featurizers/sparse_featurizer/sparse_featurizer.py +2 -0
- rasa/nlu/model.py +0 -1
- rasa/nlu/selectors/response_selector.py +67 -68
- rasa/nlu/test.py +38 -38
- rasa/nlu/tokenizers/jieba_tokenizer.py +1 -2
- rasa/nlu/tokenizers/mitie_tokenizer.py +2 -2
- rasa/nlu/tokenizers/spacy_tokenizer.py +3 -3
- rasa/nlu/tokenizers/tokenizer.py +6 -7
- rasa/nlu/tokenizers/whitespace_tokenizer.py +1 -1
- rasa/nlu/utils/bilou_utils.py +7 -7
- rasa/nlu/utils/hugging_face/registry.py +22 -22
- rasa/nlu/utils/hugging_face/transformers_pre_post_processors.py +2 -1
- rasa/nlu/utils/mitie_utils.py +2 -1
- rasa/nlu/utils/pattern_utils.py +1 -1
- rasa/nlu/utils/spacy_utils.py +3 -3
- rasa/plugin.py +12 -1
- rasa/server.py +37 -1
- rasa/shared/constants.py +22 -2
- rasa/shared/core/command_payload_reader.py +15 -7
- rasa/shared/core/constants.py +4 -1
- rasa/shared/core/conversation.py +1 -2
- rasa/shared/core/events.py +47 -37
- rasa/shared/core/flows/__init__.py +0 -1
- rasa/shared/core/flows/flow.py +11 -11
- rasa/shared/core/flows/flow_step.py +19 -13
- rasa/shared/core/flows/flow_step_links.py +21 -14
- rasa/shared/core/flows/flow_step_sequence.py +6 -4
- rasa/shared/core/flows/flows_list.py +3 -3
- rasa/shared/core/flows/nlu_trigger.py +1 -1
- rasa/shared/core/flows/steps/__init__.py +2 -2
- rasa/shared/core/flows/steps/action.py +4 -3
- rasa/shared/core/flows/steps/call.py +4 -4
- rasa/shared/core/flows/steps/collect.py +7 -4
- rasa/shared/core/flows/steps/continuation.py +3 -1
- rasa/shared/core/flows/steps/end.py +3 -1
- rasa/shared/core/flows/steps/internal.py +3 -2
- rasa/shared/core/flows/steps/link.py +6 -4
- rasa/shared/core/flows/steps/no_operation.py +7 -5
- rasa/shared/core/flows/steps/set_slots.py +4 -3
- rasa/shared/core/flows/steps/start.py +3 -1
- rasa/shared/core/flows/utils.py +1 -0
- rasa/shared/core/flows/validation.py +3 -5
- rasa/shared/core/generator.py +20 -21
- rasa/shared/core/slot_mappings.py +15 -15
- rasa/shared/core/slots.py +3 -3
- rasa/shared/core/trackers.py +31 -31
- rasa/shared/core/training_data/loading.py +1 -1
- rasa/shared/core/training_data/story_reader/story_reader.py +3 -3
- rasa/shared/core/training_data/story_reader/story_step_builder.py +4 -4
- rasa/shared/core/training_data/story_reader/yaml_story_reader.py +29 -31
- rasa/shared/core/training_data/story_writer/yaml_story_writer.py +22 -24
- rasa/shared/core/training_data/structures.py +11 -12
- rasa/shared/core/training_data/visualization.py +10 -10
- rasa/shared/data.py +6 -6
- rasa/shared/engine/caching.py +0 -1
- rasa/shared/exceptions.py +2 -2
- rasa/shared/importers/rasa.py +5 -6
- rasa/shared/importers/utils.py +1 -1
- rasa/shared/nlu/constants.py +3 -0
- rasa/shared/nlu/training_data/entities_parser.py +6 -6
- rasa/shared/nlu/training_data/features.py +3 -3
- rasa/shared/nlu/training_data/formats/__init__.py +1 -1
- rasa/shared/nlu/training_data/formats/dialogflow.py +4 -5
- rasa/shared/nlu/training_data/formats/luis.py +7 -8
- rasa/shared/nlu/training_data/formats/rasa.py +4 -5
- rasa/shared/nlu/training_data/formats/rasa_yaml.py +17 -16
- rasa/shared/nlu/training_data/formats/readerwriter.py +8 -11
- rasa/shared/nlu/training_data/formats/wit.py +3 -4
- rasa/shared/nlu/training_data/loading.py +4 -4
- rasa/shared/nlu/training_data/lookup_tables_parser.py +1 -1
- rasa/shared/nlu/training_data/message.py +13 -14
- rasa/shared/nlu/training_data/schemas/data_schema.py +1 -1
- rasa/shared/nlu/training_data/schemas/responses.yml +1 -0
- rasa/shared/nlu/training_data/synonyms_parser.py +3 -3
- rasa/shared/nlu/training_data/training_data.py +12 -13
- rasa/shared/nlu/training_data/util.py +11 -10
- rasa/shared/providers/_configs/azure_openai_client_config.py +3 -119
- rasa/shared/providers/_configs/client_config.py +1 -3
- rasa/shared/providers/_configs/default_litellm_client_config.py +1 -3
- rasa/shared/providers/_configs/huggingface_local_embedding_client_config.py +1 -3
- rasa/shared/providers/_configs/litellm_router_client_config.py +1 -3
- rasa/shared/providers/_configs/model_group_config.py +2 -7
- rasa/shared/providers/_configs/openai_client_config.py +1 -3
- rasa/shared/providers/_configs/rasa_llm_client_config.py +1 -3
- rasa/shared/providers/_configs/self_hosted_llm_client_config.py +1 -3
- rasa/shared/providers/_configs/utils.py +1 -0
- rasa/shared/providers/_ssl_verification_utils.py +5 -6
- rasa/shared/providers/_utils.py +5 -5
- rasa/shared/providers/embedding/_base_litellm_embedding_client.py +1 -1
- rasa/shared/providers/embedding/azure_openai_embedding_client.py +3 -26
- rasa/shared/providers/embedding/embedding_client.py +1 -1
- rasa/shared/providers/embedding/litellm_router_embedding_client.py +1 -3
- rasa/shared/providers/llm/_base_litellm_client.py +1 -3
- rasa/shared/providers/llm/azure_openai_llm_client.py +25 -79
- rasa/shared/providers/llm/default_litellm_llm_client.py +1 -3
- rasa/shared/providers/llm/litellm_router_llm_client.py +2 -21
- rasa/shared/providers/llm/llm_client.py +1 -3
- rasa/shared/providers/llm/llm_response.py +41 -2
- rasa/shared/providers/llm/openai_llm_client.py +3 -9
- rasa/shared/providers/llm/rasa_llm_client.py +6 -20
- rasa/shared/providers/llm/self_hosted_llm_client.py +3 -9
- rasa/shared/providers/mappings.py +18 -19
- rasa/shared/providers/router/_base_litellm_router_client.py +1 -3
- rasa/shared/providers/router/router_client.py +1 -3
- rasa/shared/utils/cli.py +1 -1
- rasa/shared/utils/common.py +1 -1
- rasa/shared/utils/health_check/embeddings_health_check_mixin.py +1 -1
- rasa/shared/utils/health_check/health_check.py +3 -3
- rasa/shared/utils/health_check/llm_health_check_mixin.py +1 -1
- rasa/shared/utils/io.py +1 -1
- rasa/shared/utils/llm.py +5 -9
- rasa/shared/utils/pykwalify_extensions.py +1 -1
- rasa/shared/utils/schemas/events.py +1 -1
- rasa/shared/utils/yaml.py +29 -26
- rasa/studio/auth.py +3 -3
- rasa/studio/config.py +1 -2
- rasa/studio/data_handler.py +3 -3
- rasa/studio/download.py +1 -1
- rasa/studio/results_logger.py +3 -3
- rasa/studio/upload.py +2 -0
- rasa/telemetry.py +31 -0
- rasa/tracing/config.py +3 -3
- rasa/tracing/instrumentation/attribute_extractors.py +2 -0
- rasa/tracing/instrumentation/instrumentation.py +4 -4
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +1 -1
- rasa/tracing/instrumentation/metrics.py +11 -11
- rasa/tracing/metric_instrument_provider.py +14 -14
- rasa/utils/common.py +12 -9
- rasa/utils/endpoints.py +1 -1
- rasa/utils/io.py +7 -7
- rasa/utils/licensing.py +3 -4
- rasa/utils/log_utils.py +7 -6
- rasa/utils/ml_utils.py +1 -0
- rasa/utils/plotting.py +3 -3
- rasa/utils/sanic_error_handler.py +1 -1
- rasa/utils/tensorflow/callback.py +2 -2
- rasa/utils/tensorflow/crf.py +2 -2
- rasa/utils/tensorflow/data_generator.py +5 -5
- rasa/utils/tensorflow/environment.py +3 -3
- rasa/utils/tensorflow/feature_array.py +2 -3
- rasa/utils/tensorflow/layers.py +18 -12
- rasa/utils/tensorflow/layers_utils.py +2 -1
- rasa/utils/tensorflow/metrics.py +2 -2
- rasa/utils/tensorflow/model_data.py +7 -7
- rasa/utils/tensorflow/model_data_utils.py +10 -9
- rasa/utils/tensorflow/models.py +31 -32
- rasa/utils/tensorflow/rasa_layers.py +20 -19
- rasa/utils/tensorflow/types.py +2 -1
- rasa/utils/train_utils.py +23 -21
- rasa/utils/url_tools.py +1 -1
- rasa/validator.py +17 -1
- rasa/version.py +1 -1
- {rasa_pro-3.12.0.dev2.dist-info → rasa_pro-3.12.0.dev3.dist-info}/METADATA +8 -9
- rasa_pro-3.12.0.dev3.dist-info/RECORD +800 -0
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-855bc5b3-b080d6f2.js +0 -1
- rasa/shared/providers/_configs/azure_entra_id_client_creds.py +0 -40
- rasa/shared/providers/_configs/azure_entra_id_config.py +0 -533
- rasa/shared/providers/_configs/oauth_config.py +0 -33
- rasa/shared/providers/constants.py +0 -6
- rasa_pro-3.12.0.dev2.dist-info/RECORD +0 -793
- {rasa_pro-3.12.0.dev2.dist-info → rasa_pro-3.12.0.dev3.dist-info}/NOTICE +0 -0
- {rasa_pro-3.12.0.dev2.dist-info → rasa_pro-3.12.0.dev3.dist-info}/WHEEL +0 -0
- {rasa_pro-3.12.0.dev2.dist-info → rasa_pro-3.12.0.dev3.dist-info}/entry_points.txt +0 -0
|
@@ -13,10 +13,10 @@ from typing import (
|
|
|
13
13
|
Dict,
|
|
14
14
|
List,
|
|
15
15
|
Optional,
|
|
16
|
+
Set,
|
|
16
17
|
Text,
|
|
17
18
|
Tuple,
|
|
18
19
|
Union,
|
|
19
|
-
Set,
|
|
20
20
|
cast,
|
|
21
21
|
)
|
|
22
22
|
|
|
@@ -50,28 +50,28 @@ from rasa.core import run, utils
|
|
|
50
50
|
from rasa.core.constants import DEFAULT_SERVER_FORMAT, DEFAULT_SERVER_PORT
|
|
51
51
|
from rasa.core.utils import AvailableEndpoints
|
|
52
52
|
from rasa.shared.constants import (
|
|
53
|
-
INTENT_MESSAGE_PREFIX,
|
|
54
53
|
DEFAULT_SENDER_ID,
|
|
55
|
-
UTTER_PREFIX,
|
|
56
54
|
DOCS_URL_NLU_BASED_POLICIES,
|
|
55
|
+
INTENT_MESSAGE_PREFIX,
|
|
56
|
+
UTTER_PREFIX,
|
|
57
57
|
)
|
|
58
58
|
from rasa.shared.core.constants import (
|
|
59
|
-
USER_INTENT_RESTART,
|
|
60
59
|
ACTION_LISTEN_NAME,
|
|
61
|
-
|
|
60
|
+
ACTION_UNLIKELY_INTENT_NAME,
|
|
62
61
|
ACTIVE_LOOP,
|
|
62
|
+
LOOP_INTERRUPTED,
|
|
63
|
+
LOOP_NAME,
|
|
63
64
|
LOOP_REJECTED,
|
|
64
65
|
REQUESTED_SLOT,
|
|
65
|
-
|
|
66
|
-
ACTION_UNLIKELY_INTENT_NAME,
|
|
66
|
+
USER_INTENT_RESTART,
|
|
67
67
|
)
|
|
68
68
|
from rasa.shared.core.domain import (
|
|
69
|
-
|
|
70
|
-
KEY_INTENTS,
|
|
69
|
+
KEY_ACTIONS,
|
|
71
70
|
KEY_ENTITIES,
|
|
71
|
+
KEY_INTENTS,
|
|
72
72
|
KEY_RESPONSES,
|
|
73
|
-
KEY_ACTIONS,
|
|
74
73
|
KEY_RESPONSES_TEXT,
|
|
74
|
+
Domain,
|
|
75
75
|
)
|
|
76
76
|
from rasa.shared.core.events import (
|
|
77
77
|
ActionExecuted,
|
|
@@ -79,11 +79,11 @@ from rasa.shared.core.events import (
|
|
|
79
79
|
BotUttered,
|
|
80
80
|
Event,
|
|
81
81
|
Restarted,
|
|
82
|
-
UserUttered,
|
|
83
82
|
UserUtteranceReverted,
|
|
83
|
+
UserUttered,
|
|
84
84
|
)
|
|
85
85
|
from rasa.shared.core.generator import TrackerWithCachedStates
|
|
86
|
-
from rasa.shared.core.trackers import
|
|
86
|
+
from rasa.shared.core.trackers import DialogueStateTracker, EventVerbosity
|
|
87
87
|
from rasa.shared.core.training_data import visualization
|
|
88
88
|
from rasa.shared.core.training_data.visualization import (
|
|
89
89
|
VISUALIZATION_TEMPLATE_PATH,
|
|
@@ -91,7 +91,7 @@ from rasa.shared.core.training_data.visualization import (
|
|
|
91
91
|
)
|
|
92
92
|
from rasa.shared.exceptions import InvalidConfigException
|
|
93
93
|
from rasa.shared.importers.rasa import TrainingDataImporter
|
|
94
|
-
from rasa.shared.nlu.constants import
|
|
94
|
+
from rasa.shared.nlu.constants import INTENT_NAME_KEY, TEXT
|
|
95
95
|
|
|
96
96
|
# noinspection PyProtectedMember
|
|
97
97
|
from rasa.shared.nlu.training_data import loading
|
|
@@ -1,20 +1,19 @@
|
|
|
1
|
-
from collections import defaultdict
|
|
2
|
-
import logging
|
|
3
1
|
import json
|
|
2
|
+
import logging
|
|
3
|
+
from collections import defaultdict
|
|
4
4
|
from typing import DefaultDict, Dict, Generator, List, NamedTuple, Optional, Text, Tuple
|
|
5
5
|
|
|
6
6
|
from rasa.core.featurizers.tracker_featurizers import MaxHistoryTrackerFeaturizer
|
|
7
|
+
from rasa.nlu.tokenizers.tokenizer import Tokenizer
|
|
7
8
|
from rasa.shared.core.constants import (
|
|
8
9
|
ACTION_LISTEN_NAME,
|
|
9
|
-
PREVIOUS_ACTION,
|
|
10
10
|
ACTION_UNLIKELY_INTENT_NAME,
|
|
11
|
+
PREVIOUS_ACTION,
|
|
11
12
|
USER,
|
|
12
13
|
)
|
|
13
14
|
from rasa.shared.core.domain import Domain, State
|
|
14
15
|
from rasa.shared.core.events import ActionExecuted, Event
|
|
15
16
|
from rasa.shared.core.generator import TrackerWithCachedStates
|
|
16
|
-
|
|
17
|
-
from rasa.nlu.tokenizers.tokenizer import Tokenizer
|
|
18
17
|
from rasa.shared.nlu.constants import TEXT
|
|
19
18
|
from rasa.shared.nlu.training_data.message import Message
|
|
20
19
|
|
rasa/core/training/training.py
CHANGED
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import dataclasses
|
|
2
|
-
|
|
3
|
-
from typing import DefaultDict, Dict, List, Optional, Set, Text, TYPE_CHECKING
|
|
4
2
|
from collections import defaultdict
|
|
3
|
+
from typing import TYPE_CHECKING, DefaultDict, Dict, List, Optional, Set, Text
|
|
5
4
|
|
|
6
|
-
from rasa.shared.core.events import ActionExecuted, UserUttered
|
|
7
|
-
from rasa.shared.core.events import SlotSet, ActiveLoop
|
|
5
|
+
from rasa.shared.core.events import ActionExecuted, ActiveLoop, SlotSet, UserUttered
|
|
8
6
|
|
|
9
7
|
if TYPE_CHECKING:
|
|
10
8
|
from rasa.shared.core.domain import Domain
|
|
11
|
-
from rasa.shared.core.trackers import DialogueStateTracker
|
|
12
9
|
from rasa.shared.core.events import Event
|
|
10
|
+
from rasa.shared.core.trackers import DialogueStateTracker
|
|
13
11
|
|
|
14
12
|
|
|
15
13
|
@dataclasses.dataclass
|
rasa/core/utils.py
CHANGED
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import structlog
|
|
2
1
|
import logging
|
|
3
2
|
import os
|
|
4
3
|
from pathlib import Path
|
|
5
4
|
from socket import SOCK_DGRAM, SOCK_STREAM
|
|
6
|
-
from typing import Any, Dict,
|
|
5
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Set, Text, Tuple, Union
|
|
7
6
|
|
|
8
7
|
import numpy as np
|
|
8
|
+
import structlog
|
|
9
9
|
from sanic import Sanic
|
|
10
10
|
|
|
11
11
|
import rasa.cli.utils as cli_utils
|
|
12
12
|
import rasa.shared.utils.io
|
|
13
13
|
from rasa.constants import DEFAULT_SANIC_WORKERS, ENV_SANIC_WORKERS
|
|
14
14
|
from rasa.core.constants import (
|
|
15
|
-
DOMAIN_GROUND_TRUTH_METADATA_KEY,
|
|
16
|
-
UTTER_SOURCE_METADATA_KEY,
|
|
17
15
|
ACTIVE_FLOW_METADATA_KEY,
|
|
16
|
+
DOMAIN_GROUND_TRUTH_METADATA_KEY,
|
|
18
17
|
STEP_ID_METADATA_KEY,
|
|
18
|
+
UTTER_SOURCE_METADATA_KEY,
|
|
19
19
|
)
|
|
20
|
-
from rasa.core.lock_store import LockStore, RedisLockStore
|
|
20
|
+
from rasa.core.lock_store import InMemoryLockStore, LockStore, RedisLockStore
|
|
21
21
|
from rasa.shared.constants import DEFAULT_ENDPOINTS_PATH, TCP_PROTOCOL
|
|
22
22
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
23
23
|
from rasa.utils.endpoints import (
|
rasa/core/visualize.py
CHANGED
|
@@ -3,9 +3,9 @@ import os
|
|
|
3
3
|
from typing import Text
|
|
4
4
|
|
|
5
5
|
from rasa import telemetry
|
|
6
|
+
from rasa.shared.core.domain import Domain, InvalidDomain
|
|
6
7
|
from rasa.shared.core.training_data import loading
|
|
7
8
|
from rasa.shared.utils.cli import print_error
|
|
8
|
-
from rasa.shared.core.domain import InvalidDomain, Domain
|
|
9
9
|
|
|
10
10
|
logger = logging.getLogger(__name__)
|
|
11
11
|
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from typing import Any, Dict, List, Optional
|
|
3
4
|
|
|
4
5
|
import structlog
|
|
@@ -6,8 +7,8 @@ import structlog
|
|
|
6
7
|
from rasa.dialogue_understanding.coexistence.constants import (
|
|
7
8
|
CALM_ENTRY,
|
|
8
9
|
NLU_ENTRY,
|
|
9
|
-
STICKY,
|
|
10
10
|
NON_STICKY,
|
|
11
|
+
STICKY,
|
|
11
12
|
)
|
|
12
13
|
from rasa.dialogue_understanding.commands import Command, SetSlotCommand
|
|
13
14
|
from rasa.dialogue_understanding.commands.noop_command import NoopCommand
|
|
@@ -27,7 +28,6 @@ from rasa.shared.nlu.constants import COMMANDS, INTENT, INTENT_NAME_KEY
|
|
|
27
28
|
from rasa.shared.nlu.training_data.message import Message
|
|
28
29
|
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
29
30
|
|
|
30
|
-
|
|
31
31
|
structlogger = structlog.get_logger()
|
|
32
32
|
|
|
33
33
|
|
|
@@ -10,8 +10,8 @@ import rasa.shared.utils.io
|
|
|
10
10
|
from rasa.dialogue_understanding.coexistence.constants import (
|
|
11
11
|
CALM_ENTRY,
|
|
12
12
|
NLU_ENTRY,
|
|
13
|
-
STICKY,
|
|
14
13
|
NON_STICKY,
|
|
14
|
+
STICKY,
|
|
15
15
|
)
|
|
16
16
|
from rasa.dialogue_understanding.commands import Command, SetSlotCommand
|
|
17
17
|
from rasa.dialogue_understanding.commands.noop_command import NoopCommand
|
|
@@ -23,15 +23,15 @@ from rasa.engine.recipes.default_recipe import DefaultV1Recipe
|
|
|
23
23
|
from rasa.engine.storage.resource import Resource
|
|
24
24
|
from rasa.engine.storage.storage import ModelStorage
|
|
25
25
|
from rasa.shared.constants import (
|
|
26
|
-
ROUTE_TO_CALM_SLOT,
|
|
27
|
-
PROMPT_CONFIG_KEY,
|
|
28
|
-
PROVIDER_CONFIG_KEY,
|
|
29
26
|
MODEL_CONFIG_KEY,
|
|
30
27
|
OPENAI_PROVIDER,
|
|
28
|
+
PROMPT_CONFIG_KEY,
|
|
29
|
+
PROVIDER_CONFIG_KEY,
|
|
30
|
+
ROUTE_TO_CALM_SLOT,
|
|
31
31
|
TIMEOUT_CONFIG_KEY,
|
|
32
32
|
)
|
|
33
33
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
34
|
-
from rasa.shared.exceptions import
|
|
34
|
+
from rasa.shared.exceptions import FileIOException, InvalidConfigException
|
|
35
35
|
from rasa.shared.nlu.constants import COMMANDS, TEXT
|
|
36
36
|
from rasa.shared.nlu.training_data.message import Message
|
|
37
37
|
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
from rasa.dialogue_understanding.commands.
|
|
2
|
-
|
|
3
|
-
FreeFormAnswerCommand,
|
|
1
|
+
from rasa.dialogue_understanding.commands.can_not_handle_command import (
|
|
2
|
+
CannotHandleCommand,
|
|
4
3
|
)
|
|
5
4
|
from rasa.dialogue_understanding.commands.cancel_flow_command import CancelFlowCommand
|
|
6
|
-
from rasa.dialogue_understanding.commands.
|
|
7
|
-
KnowledgeAnswerCommand,
|
|
8
|
-
)
|
|
5
|
+
from rasa.dialogue_understanding.commands.change_flow_command import ChangeFlowCommand
|
|
9
6
|
from rasa.dialogue_understanding.commands.chit_chat_answer_command import (
|
|
10
7
|
ChitChatAnswerCommand,
|
|
11
8
|
)
|
|
12
|
-
from rasa.dialogue_understanding.commands.restart_command import RestartCommand
|
|
13
|
-
from rasa.dialogue_understanding.commands.skip_question_command import (
|
|
14
|
-
SkipQuestionCommand,
|
|
15
|
-
)
|
|
16
|
-
from rasa.dialogue_understanding.commands.can_not_handle_command import (
|
|
17
|
-
CannotHandleCommand,
|
|
18
|
-
)
|
|
19
9
|
from rasa.dialogue_understanding.commands.clarify_command import ClarifyCommand
|
|
10
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
11
|
+
from rasa.dialogue_understanding.commands.correct_slots_command import (
|
|
12
|
+
CorrectedSlot,
|
|
13
|
+
CorrectSlotsCommand,
|
|
14
|
+
)
|
|
20
15
|
from rasa.dialogue_understanding.commands.error_command import ErrorCommand
|
|
21
|
-
from rasa.dialogue_understanding.commands.
|
|
22
|
-
|
|
16
|
+
from rasa.dialogue_understanding.commands.free_form_answer_command import (
|
|
17
|
+
FreeFormAnswerCommand,
|
|
18
|
+
)
|
|
23
19
|
from rasa.dialogue_understanding.commands.human_handoff_command import (
|
|
24
20
|
HumanHandoffCommand,
|
|
25
21
|
)
|
|
26
|
-
from rasa.dialogue_understanding.commands.
|
|
27
|
-
|
|
28
|
-
CorrectedSlot,
|
|
22
|
+
from rasa.dialogue_understanding.commands.knowledge_answer_command import (
|
|
23
|
+
KnowledgeAnswerCommand,
|
|
29
24
|
)
|
|
30
25
|
from rasa.dialogue_understanding.commands.noop_command import NoopCommand
|
|
31
|
-
from rasa.dialogue_understanding.commands.
|
|
26
|
+
from rasa.dialogue_understanding.commands.repeat_bot_messages_command import (
|
|
27
|
+
RepeatBotMessagesCommand,
|
|
28
|
+
)
|
|
29
|
+
from rasa.dialogue_understanding.commands.restart_command import RestartCommand
|
|
30
|
+
from rasa.dialogue_understanding.commands.session_end_command import SessionEndCommand
|
|
32
31
|
from rasa.dialogue_understanding.commands.session_start_command import (
|
|
33
32
|
SessionStartCommand,
|
|
34
33
|
)
|
|
35
|
-
from rasa.dialogue_understanding.commands.
|
|
36
|
-
from rasa.dialogue_understanding.commands.
|
|
37
|
-
|
|
34
|
+
from rasa.dialogue_understanding.commands.set_slot_command import SetSlotCommand
|
|
35
|
+
from rasa.dialogue_understanding.commands.skip_question_command import (
|
|
36
|
+
SkipQuestionCommand,
|
|
38
37
|
)
|
|
38
|
+
from rasa.dialogue_understanding.commands.start_flow_command import StartFlowCommand
|
|
39
39
|
|
|
40
40
|
__all__ = [
|
|
41
41
|
"Command",
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass
|
|
4
5
|
from typing import Any, Dict, List, Optional, Text
|
|
5
6
|
|
|
6
|
-
from rasa.dialogue_understanding.commands import Command
|
|
7
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
7
8
|
from rasa.dialogue_understanding.patterns.cannot_handle import (
|
|
8
9
|
CannotHandlePatternFlowStackFrame,
|
|
9
10
|
)
|
|
@@ -12,6 +13,8 @@ from rasa.shared.core.events import Event
|
|
|
12
13
|
from rasa.shared.core.flows import FlowsList
|
|
13
14
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
14
15
|
|
|
16
|
+
DATA_KEY_CANNOT_HANDLE_REASON = "cannot_handle_reason"
|
|
17
|
+
|
|
15
18
|
|
|
16
19
|
@dataclass
|
|
17
20
|
class CannotHandleCommand(Command):
|
|
@@ -68,3 +71,19 @@ class CannotHandleCommand(Command):
|
|
|
68
71
|
return False
|
|
69
72
|
|
|
70
73
|
return other.reason == self.reason
|
|
74
|
+
|
|
75
|
+
def to_dsl(self) -> str:
|
|
76
|
+
"""Converts the command to a DSL string."""
|
|
77
|
+
return "CannotHandle()"
|
|
78
|
+
|
|
79
|
+
@classmethod
|
|
80
|
+
def from_dsl(cls, match: re.Match, **kwargs: Any) -> CannotHandleCommand:
|
|
81
|
+
"""Converts a DSL string to a command."""
|
|
82
|
+
reason = kwargs.get("data", {}).get(
|
|
83
|
+
DATA_KEY_CANNOT_HANDLE_REASON, RASA_PATTERN_CANNOT_HANDLE_DEFAULT
|
|
84
|
+
)
|
|
85
|
+
return CannotHandleCommand(reason)
|
|
86
|
+
|
|
87
|
+
@staticmethod
|
|
88
|
+
def regex_pattern() -> str:
|
|
89
|
+
return r"CannotHandle\(\)"
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass
|
|
4
5
|
from typing import Any, Dict, List
|
|
5
6
|
|
|
6
7
|
import structlog
|
|
7
8
|
|
|
8
|
-
from rasa.dialogue_understanding.commands import Command
|
|
9
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
9
10
|
from rasa.dialogue_understanding.patterns.cancel import CancelPatternFlowStackFrame
|
|
10
11
|
from rasa.dialogue_understanding.stack.dialogue_stack import DialogueStack
|
|
11
12
|
from rasa.dialogue_understanding.stack.frames import UserFlowStackFrame
|
|
12
13
|
from rasa.dialogue_understanding.stack.frames.flow_stack_frame import FlowStackFrameType
|
|
14
|
+
from rasa.dialogue_understanding.stack.utils import top_user_flow_frame
|
|
13
15
|
from rasa.shared.core.events import Event, FlowCancelled
|
|
14
16
|
from rasa.shared.core.flows import FlowsList
|
|
15
17
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
16
|
-
from rasa.dialogue_understanding.stack.utils import top_user_flow_frame
|
|
17
18
|
|
|
18
19
|
structlogger = structlog.get_logger()
|
|
19
20
|
|
|
@@ -45,7 +46,8 @@ class CancelFlowCommand(Command):
|
|
|
45
46
|
current_flow: The current flow.
|
|
46
47
|
|
|
47
48
|
Returns:
|
|
48
|
-
|
|
49
|
+
The frames that were canceled.
|
|
50
|
+
"""
|
|
49
51
|
canceled_frames = []
|
|
50
52
|
# we need to go through the original stack dump in reverse order
|
|
51
53
|
# to find the frames that were canceled. we cancel everything from
|
|
@@ -83,7 +85,6 @@ class CancelFlowCommand(Command):
|
|
|
83
85
|
Returns:
|
|
84
86
|
The events to apply to the tracker.
|
|
85
87
|
"""
|
|
86
|
-
|
|
87
88
|
stack = tracker.stack
|
|
88
89
|
original_stack = original_tracker.stack
|
|
89
90
|
|
|
@@ -119,7 +120,17 @@ class CancelFlowCommand(Command):
|
|
|
119
120
|
return hash(self.command())
|
|
120
121
|
|
|
121
122
|
def __eq__(self, other: object) -> bool:
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
return isinstance(other, CancelFlowCommand)
|
|
124
|
+
|
|
125
|
+
def to_dsl(self) -> str:
|
|
126
|
+
"""Converts the command to a DSL string."""
|
|
127
|
+
return "CancelFlow()"
|
|
124
128
|
|
|
125
|
-
|
|
129
|
+
@classmethod
|
|
130
|
+
def from_dsl(cls, match: re.Match, **kwargs: Any) -> CancelFlowCommand:
|
|
131
|
+
"""Converts a DSL string to a command."""
|
|
132
|
+
return CancelFlowCommand()
|
|
133
|
+
|
|
134
|
+
@staticmethod
|
|
135
|
+
def regex_pattern() -> str:
|
|
136
|
+
return r"CancelFlow\(\)"
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass
|
|
4
5
|
from typing import Any, Dict, List
|
|
5
|
-
|
|
6
|
+
|
|
7
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
6
8
|
from rasa.shared.core.events import Event
|
|
7
9
|
from rasa.shared.core.flows import FlowsList
|
|
8
10
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
@@ -11,7 +13,8 @@ from rasa.shared.core.trackers import DialogueStateTracker
|
|
|
11
13
|
@dataclass
|
|
12
14
|
class ChangeFlowCommand(Command):
|
|
13
15
|
"""A command to indicate a change of flows was requested by the command
|
|
14
|
-
generator.
|
|
16
|
+
generator.
|
|
17
|
+
"""
|
|
15
18
|
|
|
16
19
|
@classmethod
|
|
17
20
|
def command(cls) -> str:
|
|
@@ -42,3 +45,16 @@ class ChangeFlowCommand(Command):
|
|
|
42
45
|
|
|
43
46
|
def __hash__(self) -> int:
|
|
44
47
|
return hash(self.command())
|
|
48
|
+
|
|
49
|
+
def to_dsl(self) -> str:
|
|
50
|
+
"""Converts the command to a DSL string."""
|
|
51
|
+
return "ChangeFlow()"
|
|
52
|
+
|
|
53
|
+
@staticmethod
|
|
54
|
+
def from_dsl(match: re.Match, **kwargs: Any) -> ChangeFlowCommand:
|
|
55
|
+
"""Converts the DSL string to a command."""
|
|
56
|
+
return ChangeFlowCommand()
|
|
57
|
+
|
|
58
|
+
@staticmethod
|
|
59
|
+
def regex_pattern() -> str:
|
|
60
|
+
return r"ChangeFlow\(\)"
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass
|
|
4
5
|
from typing import Any, Dict, List
|
|
5
|
-
|
|
6
|
+
|
|
7
|
+
from rasa.dialogue_understanding.commands.free_form_answer_command import (
|
|
8
|
+
FreeFormAnswerCommand,
|
|
9
|
+
)
|
|
6
10
|
from rasa.dialogue_understanding.patterns.chitchat import ChitchatPatternFlowStackFrame
|
|
7
11
|
from rasa.shared.core.events import Event
|
|
8
12
|
from rasa.shared.core.flows import FlowsList
|
|
@@ -51,7 +55,17 @@ class ChitChatAnswerCommand(FreeFormAnswerCommand):
|
|
|
51
55
|
return hash(self.command())
|
|
52
56
|
|
|
53
57
|
def __eq__(self, other: object) -> bool:
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
return isinstance(other, ChitChatAnswerCommand)
|
|
59
|
+
|
|
60
|
+
def to_dsl(self) -> str:
|
|
61
|
+
"""Converts the command to a DSL string."""
|
|
62
|
+
return "ChitChat()"
|
|
63
|
+
|
|
64
|
+
@classmethod
|
|
65
|
+
def from_dsl(cls, match: re.Match, **kwargs: Any) -> ChitChatAnswerCommand:
|
|
66
|
+
"""Converts the DSL string to a command."""
|
|
67
|
+
return ChitChatAnswerCommand()
|
|
56
68
|
|
|
57
|
-
|
|
69
|
+
@staticmethod
|
|
70
|
+
def regex_pattern() -> str:
|
|
71
|
+
return r"ChitChat\(\)"
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass
|
|
4
|
-
from typing import Any, Dict, List
|
|
5
|
+
from typing import Any, Dict, List, Optional
|
|
5
6
|
|
|
6
7
|
import structlog
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
10
|
+
from rasa.dialogue_understanding.commands.utils import extract_cleaned_options
|
|
8
11
|
from rasa.dialogue_understanding.patterns.clarify import ClarifyPatternFlowStackFrame
|
|
9
12
|
from rasa.shared.core.events import Event
|
|
10
13
|
from rasa.shared.core.flows import FlowsList
|
|
@@ -54,7 +57,6 @@ class ClarifyCommand(Command):
|
|
|
54
57
|
Returns:
|
|
55
58
|
The events to apply to the tracker.
|
|
56
59
|
"""
|
|
57
|
-
|
|
58
60
|
flows = [all_flows.flow_by_id(opt) for opt in self.options]
|
|
59
61
|
clean_options = [flow.id for flow in flows if flow is not None]
|
|
60
62
|
if len(clean_options) != len(self.options):
|
|
@@ -84,3 +86,17 @@ class ClarifyCommand(Command):
|
|
|
84
86
|
return False
|
|
85
87
|
|
|
86
88
|
return other.options == self.options
|
|
89
|
+
|
|
90
|
+
def to_dsl(self) -> str:
|
|
91
|
+
"""Converts the command to a DSL string."""
|
|
92
|
+
return f"Clarify({', '.join(self.options)})"
|
|
93
|
+
|
|
94
|
+
@classmethod
|
|
95
|
+
def from_dsl(cls, match: re.Match, **kwargs: Any) -> Optional[ClarifyCommand]:
|
|
96
|
+
"""Converts the DSL string to a command."""
|
|
97
|
+
cleaned_options = extract_cleaned_options(match.group(1))
|
|
98
|
+
return ClarifyCommand(cleaned_options)
|
|
99
|
+
|
|
100
|
+
@staticmethod
|
|
101
|
+
def regex_pattern() -> str:
|
|
102
|
+
return r"Clarify\(([\"\'a-zA-Z0-9_, ]*)\)"
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from dataclasses import dataclass
|
|
4
3
|
import dataclasses
|
|
5
|
-
|
|
4
|
+
import re
|
|
5
|
+
from dataclasses import dataclass
|
|
6
|
+
from typing import Any, Dict, List, Optional
|
|
7
|
+
|
|
8
|
+
import rasa.shared.utils.common
|
|
6
9
|
from rasa.shared.core.events import Event
|
|
7
10
|
from rasa.shared.core.flows import FlowsList
|
|
8
11
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
9
|
-
import rasa.shared.utils.common
|
|
10
12
|
|
|
11
13
|
|
|
12
14
|
@dataclass
|
|
@@ -83,3 +85,17 @@ class Command:
|
|
|
83
85
|
The events to apply to the tracker.
|
|
84
86
|
"""
|
|
85
87
|
raise NotImplementedError()
|
|
88
|
+
|
|
89
|
+
def to_dsl(self) -> str:
|
|
90
|
+
"""Converts the command to a DSL string."""
|
|
91
|
+
raise NotImplementedError()
|
|
92
|
+
|
|
93
|
+
@classmethod
|
|
94
|
+
def from_dsl(cls, match: re.Match, **kwargs: Any) -> Optional[Command]:
|
|
95
|
+
"""Converts the DSL string to a command."""
|
|
96
|
+
raise NotImplementedError()
|
|
97
|
+
|
|
98
|
+
@staticmethod
|
|
99
|
+
def regex_pattern() -> str:
|
|
100
|
+
"""Returns the regex pattern for the command."""
|
|
101
|
+
raise NotImplementedError()
|
|
@@ -5,7 +5,8 @@ from typing import Any, Dict, List, Optional
|
|
|
5
5
|
|
|
6
6
|
import structlog
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
import rasa.dialogue_understanding.stack.utils as utils
|
|
9
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
9
10
|
from rasa.dialogue_understanding.patterns.correction import (
|
|
10
11
|
FLOW_PATTERN_CORRECTION_ID,
|
|
11
12
|
CorrectionPatternFlowStackFrame,
|
|
@@ -15,12 +16,11 @@ from rasa.dialogue_understanding.stack.frames.flow_stack_frame import (
|
|
|
15
16
|
BaseFlowStackFrame,
|
|
16
17
|
)
|
|
17
18
|
from rasa.shared.core.events import Event
|
|
19
|
+
from rasa.shared.core.flows import FlowsList
|
|
18
20
|
from rasa.shared.core.flows.flow_step import FlowStepWithFlowReference
|
|
19
21
|
from rasa.shared.core.flows.steps.constants import END_STEP
|
|
20
22
|
from rasa.shared.core.flows.steps.continuation import ContinueFlowStep
|
|
21
|
-
from rasa.shared.core.flows import FlowsList
|
|
22
23
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
23
|
-
import rasa.dialogue_understanding.stack.utils as utils
|
|
24
24
|
|
|
25
25
|
structlogger = structlog.get_logger()
|
|
26
26
|
|
|
@@ -5,7 +5,7 @@ from typing import Any, Dict, List, Text
|
|
|
5
5
|
|
|
6
6
|
import structlog
|
|
7
7
|
|
|
8
|
-
from rasa.dialogue_understanding.commands import Command
|
|
8
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
9
9
|
from rasa.dialogue_understanding.patterns.internal_error import (
|
|
10
10
|
InternalErrorPatternFlowStackFrame,
|
|
11
11
|
)
|
|
@@ -5,12 +5,12 @@ from typing import Any, Dict, List
|
|
|
5
5
|
|
|
6
6
|
import structlog
|
|
7
7
|
|
|
8
|
-
from rasa.dialogue_understanding.commands import Command
|
|
8
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
9
9
|
from rasa.dialogue_understanding.patterns.code_change import CodeChangeFlowStackFrame
|
|
10
|
+
from rasa.dialogue_understanding.stack.utils import top_user_flow_frame
|
|
10
11
|
from rasa.shared.core.events import Event
|
|
11
12
|
from rasa.shared.core.flows import FlowsList
|
|
12
13
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
13
|
-
from rasa.dialogue_understanding.stack.utils import top_user_flow_frame
|
|
14
14
|
|
|
15
15
|
structlogger = structlog.get_logger()
|
|
16
16
|
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass
|
|
4
5
|
from typing import Any, Dict, List
|
|
5
6
|
|
|
6
7
|
import structlog
|
|
7
|
-
|
|
8
|
+
|
|
9
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
8
10
|
from rasa.dialogue_understanding.patterns.human_handoff import (
|
|
9
11
|
HumanHandoffPatternFlowStackFrame,
|
|
10
12
|
)
|
|
@@ -60,7 +62,17 @@ class HumanHandoffCommand(Command):
|
|
|
60
62
|
return hash(self.command())
|
|
61
63
|
|
|
62
64
|
def __eq__(self, other: object) -> bool:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
return isinstance(other, HumanHandoffCommand)
|
|
66
|
+
|
|
67
|
+
def to_dsl(self) -> str:
|
|
68
|
+
"""Converts the command to a DSL string."""
|
|
69
|
+
return "HumanHandoff()"
|
|
70
|
+
|
|
71
|
+
@classmethod
|
|
72
|
+
def from_dsl(cls, match: re.Match, **kwargs: Any) -> HumanHandoffCommand:
|
|
73
|
+
"""Converts the DSL string to a command."""
|
|
74
|
+
return HumanHandoffCommand()
|
|
65
75
|
|
|
66
|
-
|
|
76
|
+
@staticmethod
|
|
77
|
+
def regex_pattern() -> str:
|
|
78
|
+
return r"HumanHandoff\(\)"
|
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import re
|
|
3
4
|
from dataclasses import dataclass
|
|
4
5
|
from typing import Any, Dict, List
|
|
5
|
-
|
|
6
|
+
|
|
7
|
+
from rasa.dialogue_understanding.commands.free_form_answer_command import (
|
|
8
|
+
FreeFormAnswerCommand,
|
|
9
|
+
)
|
|
6
10
|
from rasa.dialogue_understanding.patterns.search import SearchPatternFlowStackFrame
|
|
7
11
|
from rasa.shared.core.events import Event
|
|
8
12
|
from rasa.shared.core.flows import FlowsList
|
|
@@ -51,7 +55,17 @@ class KnowledgeAnswerCommand(FreeFormAnswerCommand):
|
|
|
51
55
|
return hash(self.command())
|
|
52
56
|
|
|
53
57
|
def __eq__(self, other: object) -> bool:
|
|
54
|
-
|
|
55
|
-
|
|
58
|
+
return isinstance(other, KnowledgeAnswerCommand)
|
|
59
|
+
|
|
60
|
+
def to_dsl(self) -> str:
|
|
61
|
+
"""Converts the command to a DSL string."""
|
|
62
|
+
return "SearchAndReply()"
|
|
63
|
+
|
|
64
|
+
@classmethod
|
|
65
|
+
def from_dsl(cls, match: re.Match, **kwargs: Any) -> KnowledgeAnswerCommand:
|
|
66
|
+
"""Converts the DSL string to a command."""
|
|
67
|
+
return KnowledgeAnswerCommand()
|
|
56
68
|
|
|
57
|
-
|
|
69
|
+
@staticmethod
|
|
70
|
+
def regex_pattern() -> str:
|
|
71
|
+
return r"SearchAndReply\(\)"
|
|
@@ -2,7 +2,8 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from dataclasses import dataclass
|
|
4
4
|
from typing import Any, Dict, List
|
|
5
|
-
|
|
5
|
+
|
|
6
|
+
from rasa.dialogue_understanding.commands.command import Command
|
|
6
7
|
from rasa.shared.core.events import Event
|
|
7
8
|
from rasa.shared.core.flows import FlowsList
|
|
8
9
|
from rasa.shared.core.trackers import DialogueStateTracker
|