rasa-pro 3.12.0.dev2__py3-none-any.whl → 3.12.0.dev4__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 +121 -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 +291 -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 -11
- 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 +54 -0
- rasa/tracing/instrumentation/instrumentation.py +25 -5
- 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.dev4.dist-info}/METADATA +9 -10
- rasa_pro-3.12.0.dev4.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.dev4.dist-info}/NOTICE +0 -0
- {rasa_pro-3.12.0.dev2.dist-info → rasa_pro-3.12.0.dev4.dist-info}/WHEEL +0 -0
- {rasa_pro-3.12.0.dev2.dist-info → rasa_pro-3.12.0.dev4.dist-info}/entry_points.txt +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import asyncio
|
|
2
2
|
from contextlib import contextmanager
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Generator, List, Optional, Tuple, Union
|
|
4
4
|
|
|
5
5
|
import structlog
|
|
6
6
|
|
|
7
7
|
from rasa.dialogue_understanding.commands import Command
|
|
8
|
-
from rasa.e2e_test.e2e_test_case import
|
|
9
|
-
from rasa.e2e_test.e2e_test_runner import
|
|
8
|
+
from rasa.e2e_test.e2e_test_case import ActualStepOutput, TestCase, TestStep, TestSuite
|
|
9
|
+
from rasa.e2e_test.e2e_test_runner import TEST_TURNS_TYPE, E2ETestRunner
|
|
10
10
|
from rasa.llm_fine_tuning.conversations import Conversation, ConversationStep
|
|
11
11
|
from rasa.llm_fine_tuning.storage import StorageContext
|
|
12
12
|
from rasa.shared.core.constants import USER
|
|
13
13
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
14
|
-
from rasa.shared.nlu.constants import
|
|
14
|
+
from rasa.shared.nlu.constants import LLM_COMMANDS, LLM_PROMPT
|
|
15
15
|
from rasa.shared.utils.llm import tracker_as_readable_transcript
|
|
16
16
|
|
|
17
17
|
ANNOTATION_MODULE_STORAGE_LOCATION = "1_command_annotations"
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
from dataclasses import dataclass, field
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Any, Dict, Iterator, List, Optional, Union
|
|
3
3
|
|
|
4
4
|
from rasa.dialogue_understanding.commands import (
|
|
5
|
-
Command,
|
|
6
|
-
StartFlowCommand,
|
|
7
|
-
SetSlotCommand,
|
|
8
5
|
CancelFlowCommand,
|
|
9
6
|
ChitChatAnswerCommand,
|
|
10
|
-
|
|
7
|
+
ClarifyCommand,
|
|
8
|
+
Command,
|
|
11
9
|
HumanHandoffCommand,
|
|
12
10
|
KnowledgeAnswerCommand,
|
|
13
|
-
|
|
11
|
+
SetSlotCommand,
|
|
12
|
+
SkipQuestionCommand,
|
|
13
|
+
StartFlowCommand,
|
|
14
14
|
)
|
|
15
15
|
from rasa.e2e_test.e2e_test_case import TestCase, TestStep
|
|
16
16
|
from rasa.shared.core.constants import USER
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import importlib.resources
|
|
2
2
|
import re
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Any, Dict, List, Optional, Tuple
|
|
4
4
|
|
|
5
5
|
import structlog
|
|
6
6
|
from jinja2 import Template
|
|
@@ -10,9 +10,9 @@ from rasa.llm_fine_tuning.paraphrasing.rephrased_user_message import (
|
|
|
10
10
|
RephrasedUserMessage,
|
|
11
11
|
)
|
|
12
12
|
from rasa.shared.constants import (
|
|
13
|
-
MODEL_NAME_CONFIG_KEY,
|
|
14
|
-
MODEL_CONFIG_KEY,
|
|
15
13
|
LLM_CONFIG_KEY,
|
|
14
|
+
MODEL_CONFIG_KEY,
|
|
15
|
+
MODEL_NAME_CONFIG_KEY,
|
|
16
16
|
PROMPT_TEMPLATE_CONFIG_KEY,
|
|
17
17
|
PROVIDER_CONFIG_KEY,
|
|
18
18
|
TIMEOUT_CONFIG_KEY,
|
|
@@ -20,9 +20,9 @@ from rasa.shared.constants import (
|
|
|
20
20
|
from rasa.shared.exceptions import ProviderClientAPIException
|
|
21
21
|
from rasa.shared.providers.mappings import OPENAI_PROVIDER
|
|
22
22
|
from rasa.shared.utils.llm import (
|
|
23
|
+
USER,
|
|
23
24
|
get_prompt_template,
|
|
24
25
|
llm_factory,
|
|
25
|
-
USER,
|
|
26
26
|
)
|
|
27
27
|
|
|
28
28
|
SEPARATOR = "\n\n"
|
rasa/llm_fine_tuning/storage.py
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import os
|
|
3
|
-
from abc import
|
|
3
|
+
from abc import ABC, abstractmethod
|
|
4
4
|
from enum import Enum
|
|
5
5
|
from pathlib import Path
|
|
6
|
-
from typing import List, Optional
|
|
6
|
+
from typing import TYPE_CHECKING, List, Optional
|
|
7
7
|
|
|
8
8
|
import rasa.shared.utils.io
|
|
9
9
|
import rasa.utils.io
|
|
@@ -11,9 +11,9 @@ from rasa.llm_fine_tuning.conversations import Conversation
|
|
|
11
11
|
from rasa.shared.utils.yaml import write_yaml
|
|
12
12
|
|
|
13
13
|
if TYPE_CHECKING:
|
|
14
|
+
from rasa.e2e_test.e2e_test_case import TestSuite
|
|
14
15
|
from rasa.llm_fine_tuning.llm_data_preparation_module import LLMDataExample
|
|
15
16
|
from rasa.llm_fine_tuning.train_test_split_module import DataExampleFormat
|
|
16
|
-
from rasa.e2e_test.e2e_test_case import TestSuite
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
class StorageType(Enum):
|
rasa/markers/marker.py
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from typing import List, Optional, Text
|
|
3
3
|
|
|
4
|
-
from rasa.shared.core.domain import Domain
|
|
5
|
-
from rasa.shared.core.events import ActionExecuted, Event, SlotSet, UserUttered
|
|
6
|
-
|
|
7
4
|
from rasa.markers.marker_base import (
|
|
8
5
|
ConditionMarker,
|
|
9
6
|
Marker,
|
|
10
7
|
MarkerRegistry,
|
|
11
8
|
OperatorMarker,
|
|
12
9
|
)
|
|
10
|
+
from rasa.shared.core.domain import Domain
|
|
11
|
+
from rasa.shared.core.events import ActionExecuted, Event, SlotSet, UserUttered
|
|
13
12
|
|
|
14
13
|
logger = logging.getLogger(__name__)
|
|
15
14
|
|
rasa/markers/marker_base.py
CHANGED
|
@@ -6,9 +6,9 @@ from abc import ABC, abstractmethod
|
|
|
6
6
|
from dataclasses import dataclass
|
|
7
7
|
from pathlib import Path
|
|
8
8
|
from typing import (
|
|
9
|
-
ClassVar,
|
|
10
9
|
TYPE_CHECKING,
|
|
11
10
|
Any,
|
|
11
|
+
ClassVar,
|
|
12
12
|
Dict,
|
|
13
13
|
Iterator,
|
|
14
14
|
List,
|
|
@@ -30,7 +30,6 @@ from rasa.shared.core.domain import Domain
|
|
|
30
30
|
from rasa.shared.core.events import ActionExecuted, Event, UserUttered
|
|
31
31
|
from rasa.shared.exceptions import InvalidConfigException, RasaException
|
|
32
32
|
from rasa.utils.io import WriteRow
|
|
33
|
-
|
|
34
33
|
from rasa.utils.yaml import (
|
|
35
34
|
collect_configs_from_yaml_files,
|
|
36
35
|
collect_yaml_files_from_path,
|
rasa/markers/upload.py
CHANGED
|
@@ -3,10 +3,10 @@ from pathlib import Path
|
|
|
3
3
|
from typing import Any, Dict, List, Text
|
|
4
4
|
|
|
5
5
|
import requests
|
|
6
|
-
from rasa.shared.core.domain import Domain
|
|
7
|
-
from rasa.shared.utils.cli import print_error_and_exit
|
|
8
6
|
|
|
9
7
|
from rasa.markers.validate import validate_marker_file
|
|
8
|
+
from rasa.shared.core.domain import Domain
|
|
9
|
+
from rasa.shared.utils.cli import print_error_and_exit
|
|
10
10
|
from rasa.utils.yaml import (
|
|
11
11
|
YAML_CONFIGS,
|
|
12
12
|
collect_configs_from_yaml_files,
|
rasa/markers/validate.py
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
2
|
|
|
3
|
-
from rasa.shared.core.domain import Domain
|
|
4
|
-
from rasa.shared.utils.cli import print_error_and_exit
|
|
5
|
-
|
|
6
3
|
from rasa.markers.marker import OrMarker
|
|
7
4
|
from rasa.markers.marker_base import Marker
|
|
5
|
+
from rasa.shared.core.domain import Domain
|
|
6
|
+
from rasa.shared.utils.cli import print_error_and_exit
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
def validate_marker_file(domain: Domain, markers_path: Path) -> None:
|
rasa/model.py
CHANGED
|
@@ -3,13 +3,11 @@ import hashlib
|
|
|
3
3
|
import logging
|
|
4
4
|
import os
|
|
5
5
|
from pathlib import Path
|
|
6
|
-
from subprocess import
|
|
7
|
-
from typing import
|
|
8
|
-
|
|
9
|
-
from rasa.shared.constants import DEFAULT_MODELS_PATH
|
|
6
|
+
from subprocess import DEVNULL, CalledProcessError, check_output
|
|
7
|
+
from typing import Optional, Text, Union
|
|
10
8
|
|
|
11
9
|
from rasa.exceptions import ModelNotFound
|
|
12
|
-
|
|
10
|
+
from rasa.shared.constants import DEFAULT_MODELS_PATH
|
|
13
11
|
|
|
14
12
|
logger = logging.getLogger(__name__)
|
|
15
13
|
|
rasa/model_manager/config.py
CHANGED
rasa/model_manager/model_api.py
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
-
from functools import wraps
|
|
3
2
|
import os
|
|
3
|
+
from functools import wraps
|
|
4
4
|
from http import HTTPStatus
|
|
5
5
|
from typing import Any, Callable, Dict, Optional, Union
|
|
6
|
+
|
|
6
7
|
import dotenv
|
|
7
8
|
import psutil
|
|
9
|
+
import structlog
|
|
8
10
|
from sanic import Blueprint, Sanic, response
|
|
9
|
-
from sanic.response import json
|
|
10
11
|
from sanic.exceptions import NotFound
|
|
11
12
|
from sanic.request import Request
|
|
12
|
-
import
|
|
13
|
+
from sanic.response import json
|
|
13
14
|
from socketio import AsyncServer
|
|
14
15
|
|
|
16
|
+
from rasa.constants import MODEL_ARCHIVE_EXTENSION
|
|
15
17
|
from rasa.exceptions import ModelNotFound
|
|
16
18
|
from rasa.model_manager import config
|
|
17
19
|
from rasa.model_manager.config import SERVER_BASE_URL
|
|
18
|
-
from rasa.constants import MODEL_ARCHIVE_EXTENSION
|
|
19
20
|
from rasa.model_manager.runner_service import (
|
|
20
21
|
BotSession,
|
|
21
22
|
BotSessionStatus,
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import os
|
|
2
2
|
import shutil
|
|
3
|
+
import subprocess
|
|
4
|
+
from enum import Enum
|
|
3
5
|
from typing import Dict, Optional
|
|
6
|
+
|
|
4
7
|
import aiohttp
|
|
5
8
|
import structlog
|
|
6
|
-
import subprocess
|
|
7
9
|
from pydantic import BaseModel, ConfigDict
|
|
8
|
-
from enum import Enum
|
|
9
10
|
|
|
11
|
+
from rasa.constants import MODEL_ARCHIVE_EXTENSION
|
|
10
12
|
from rasa.exceptions import ModelNotFound
|
|
13
|
+
from rasa.model_manager import config
|
|
11
14
|
from rasa.model_manager.utils import (
|
|
15
|
+
logs_path,
|
|
12
16
|
models_base_path,
|
|
13
17
|
subpath,
|
|
14
18
|
write_encoded_data_to_file,
|
|
15
19
|
)
|
|
16
|
-
from rasa.constants import MODEL_ARCHIVE_EXTENSION
|
|
17
|
-
|
|
18
|
-
from rasa.model_manager import config
|
|
19
|
-
from rasa.model_manager.utils import logs_path
|
|
20
20
|
from rasa.model_manager.warm_rasa_process import start_rasa_process
|
|
21
21
|
|
|
22
22
|
structlogger = structlog.get_logger()
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import json
|
|
1
2
|
from typing import Any, Dict, Optional
|
|
2
3
|
|
|
3
|
-
from socketio import AsyncServer
|
|
4
4
|
import structlog
|
|
5
|
+
from socketio import AsyncServer
|
|
5
6
|
from socketio.asyncio_client import AsyncClient
|
|
6
7
|
|
|
7
8
|
from rasa.model_manager.runner_service import BotSession
|
|
@@ -92,7 +93,7 @@ def create_bridge_server(sio: AsyncServer, running_bots: Dict[str, BotSession])
|
|
|
92
93
|
|
|
93
94
|
@sio.on("*")
|
|
94
95
|
async def handle_message(event: str, sid: str, data: Dict[str, Any]) -> None:
|
|
95
|
-
"""
|
|
96
|
+
"""Bridge messages between user and bot.
|
|
96
97
|
|
|
97
98
|
Both incoming user messages to the bot_url and
|
|
98
99
|
bot responses sent back to the client need to
|
|
@@ -111,7 +112,7 @@ async def create_bridge_client(
|
|
|
111
112
|
) -> AsyncClient:
|
|
112
113
|
"""Create a new socket bridge client.
|
|
113
114
|
|
|
114
|
-
Forwards messages
|
|
115
|
+
Forwards messages coming from the bot to the user.
|
|
115
116
|
"""
|
|
116
117
|
client = AsyncClient()
|
|
117
118
|
|
|
@@ -129,6 +130,10 @@ async def create_bridge_client(
|
|
|
129
130
|
structlogger.debug("model_runner.bot_message", deployment_id=deployment_id)
|
|
130
131
|
await sio.emit("bot_message", data, room=sid)
|
|
131
132
|
|
|
133
|
+
@client.event # type: ignore[misc]
|
|
134
|
+
async def tracker(data: Dict[str, Any]) -> None:
|
|
135
|
+
await sio.emit("tracker", json.loads(data), room=sid)
|
|
136
|
+
|
|
132
137
|
@client.event # type: ignore[misc]
|
|
133
138
|
async def disconnect() -> None:
|
|
134
139
|
structlogger.debug(
|
|
@@ -1,23 +1,25 @@
|
|
|
1
1
|
import os
|
|
2
|
-
from typing import Any, Dict, Optional
|
|
3
2
|
import shutil
|
|
4
|
-
import structlog
|
|
5
3
|
import subprocess
|
|
4
|
+
from enum import Enum
|
|
5
|
+
from typing import Any, Dict, Optional
|
|
6
|
+
|
|
7
|
+
import structlog
|
|
8
|
+
from pydantic import BaseModel, ConfigDict
|
|
9
|
+
|
|
6
10
|
from rasa.constants import MODEL_ARCHIVE_EXTENSION
|
|
11
|
+
from rasa.model_manager import config
|
|
7
12
|
from rasa.model_manager.utils import (
|
|
13
|
+
ensure_base_directory_exists,
|
|
14
|
+
logs_path,
|
|
8
15
|
models_base_path,
|
|
9
16
|
subpath,
|
|
10
17
|
write_encoded_data_to_file,
|
|
11
18
|
)
|
|
12
|
-
from pydantic import BaseModel, ConfigDict
|
|
13
|
-
from enum import Enum
|
|
14
|
-
|
|
15
|
-
from rasa.model_manager import config
|
|
16
19
|
from rasa.model_manager.warm_rasa_process import (
|
|
17
20
|
start_rasa_process,
|
|
18
21
|
)
|
|
19
22
|
from rasa.model_training import generate_random_model_name
|
|
20
|
-
from rasa.model_manager.utils import ensure_base_directory_exists, logs_path
|
|
21
23
|
|
|
22
24
|
structlogger = structlog.get_logger()
|
|
23
25
|
|
rasa/model_manager/utils.py
CHANGED
|
@@ -1,12 +1,16 @@
|
|
|
1
|
+
import os
|
|
1
2
|
import shlex
|
|
2
3
|
import subprocess
|
|
3
|
-
|
|
4
|
-
import
|
|
4
|
+
import uuid
|
|
5
|
+
from dataclasses import dataclass
|
|
5
6
|
from typing import List
|
|
7
|
+
|
|
6
8
|
import structlog
|
|
7
|
-
from dataclasses import dataclass
|
|
8
|
-
import uuid
|
|
9
9
|
|
|
10
|
+
from rasa.__main__ import main
|
|
11
|
+
from rasa.dialogue_understanding.constants import (
|
|
12
|
+
RASA_RECORD_COMMANDS_AND_PROMPTS_ENV_VAR_NAME,
|
|
13
|
+
)
|
|
10
14
|
from rasa.model_manager import config
|
|
11
15
|
from rasa.model_manager.utils import ensure_base_directory_exists, logs_path
|
|
12
16
|
|
|
@@ -43,6 +47,7 @@ def _create_warm_rasa_process() -> WarmRasaProcess:
|
|
|
43
47
|
|
|
44
48
|
envs = os.environ.copy()
|
|
45
49
|
envs["RASA_TELEMETRY_ENABLED"] = "false"
|
|
50
|
+
envs[RASA_RECORD_COMMANDS_AND_PROMPTS_ENV_VAR_NAME] = "true"
|
|
46
51
|
|
|
47
52
|
log_id = uuid.uuid4().hex
|
|
48
53
|
log_path = logs_path(log_id)
|
|
@@ -146,14 +151,15 @@ def warmup() -> None:
|
|
|
146
151
|
directly start.
|
|
147
152
|
"""
|
|
148
153
|
try:
|
|
149
|
-
import presidio_analyzer # noqa: F401
|
|
150
|
-
import litellm # noqa: F401
|
|
151
154
|
import langchain # noqa: F401
|
|
152
|
-
import
|
|
155
|
+
import litellm # noqa: F401
|
|
153
156
|
import matplotlib # noqa: F401
|
|
154
|
-
import pandas # noqa: F401
|
|
155
157
|
import numpy # noqa: F401
|
|
158
|
+
import pandas # noqa: F401
|
|
159
|
+
import presidio_analyzer # noqa: F401
|
|
156
160
|
import spacy # noqa: F401
|
|
161
|
+
import tensorflow # noqa: F401
|
|
162
|
+
|
|
157
163
|
import rasa.validator # noqa: F401
|
|
158
164
|
except ImportError:
|
|
159
165
|
pass
|
rasa/model_service.py
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
from urllib.parse import urlparse
|
|
2
3
|
|
|
3
|
-
from sanic import Sanic
|
|
4
4
|
import structlog
|
|
5
|
+
from sanic import Sanic
|
|
5
6
|
|
|
6
7
|
from rasa.cli.scaffold import print_error_and_exit
|
|
7
8
|
from rasa.core.persistor import RemoteStorageType, get_persistor
|
|
8
9
|
from rasa.core.utils import list_routes
|
|
9
|
-
from rasa.model_manager import model_api
|
|
10
|
-
from rasa.model_manager import config
|
|
10
|
+
from rasa.model_manager import config, model_api
|
|
11
11
|
from rasa.model_manager.config import SERVER_BASE_URL, SERVER_PORT
|
|
12
12
|
from rasa.utils.common import configure_logging_and_warnings
|
|
13
|
-
import rasa.utils.licensing
|
|
14
|
-
from urllib.parse import urlparse
|
|
15
|
-
|
|
16
13
|
from rasa.utils.log_utils import configure_structlog
|
|
17
14
|
from rasa.utils.sanic_error_handler import register_custom_sanic_error_handler
|
|
18
15
|
|
|
@@ -64,6 +61,8 @@ def main() -> None:
|
|
|
64
61
|
The API server can receive requests to train models, run bots, and manage
|
|
65
62
|
the lifecycle of models and bots.
|
|
66
63
|
"""
|
|
64
|
+
import rasa.utils.licensing
|
|
65
|
+
|
|
67
66
|
log_level = logging.DEBUG
|
|
68
67
|
configure_logging_and_warnings(
|
|
69
68
|
log_level=log_level,
|
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
|
-
|
|
17
|
-
|
|
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
|
|
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
|
-
|
|
315
|
+
drop_intents_below_freq,
|
|
319
316
|
log_entity_results,
|
|
317
|
+
log_results,
|
|
320
318
|
)
|
|
321
319
|
|
|
322
320
|
additional_arguments = additional_arguments or {}
|