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
|
@@ -2,15 +2,15 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import itertools
|
|
4
4
|
from dataclasses import dataclass
|
|
5
|
-
from typing import
|
|
5
|
+
from typing import Any, Dict, Iterable, List, Optional, Set, Text, Tuple, Union
|
|
6
6
|
|
|
7
7
|
import numpy as np
|
|
8
8
|
import scipy.sparse
|
|
9
|
-
from safetensors.numpy import
|
|
9
|
+
from safetensors.numpy import load_file, save_file
|
|
10
10
|
|
|
11
11
|
import rasa.shared.nlu.training_data.util
|
|
12
12
|
import rasa.shared.utils.io
|
|
13
|
-
from rasa.shared.nlu.constants import
|
|
13
|
+
from rasa.shared.nlu.constants import FEATURE_TYPE_SENTENCE, FEATURE_TYPE_SEQUENCE
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
@dataclass
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
from rasa.shared.nlu.training_data.formats.rasa_yaml import RasaYAMLReader # noqa: F401
|
|
2
1
|
from rasa.shared.nlu.training_data.formats.dialogflow import ( # noqa: F401
|
|
3
2
|
DialogflowReader,
|
|
4
3
|
)
|
|
@@ -7,4 +6,5 @@ from rasa.shared.nlu.training_data.formats.rasa import ( # noqa: F401
|
|
|
7
6
|
RasaReader,
|
|
8
7
|
RasaWriter,
|
|
9
8
|
)
|
|
9
|
+
from rasa.shared.nlu.training_data.formats.rasa_yaml import RasaYAMLReader # noqa: F401
|
|
10
10
|
from rasa.shared.nlu.training_data.formats.wit import WitReader # noqa: F401
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import os
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import Any, Dict, Optional, Text,
|
|
4
|
+
from typing import Any, Dict, List, Optional, Text, Tuple, Union
|
|
5
5
|
|
|
6
6
|
import rasa.shared.nlu.training_data.util
|
|
7
|
+
import rasa.shared.utils.io
|
|
7
8
|
from rasa.shared.constants import DOCS_BASE_URL
|
|
8
9
|
from rasa.shared.nlu.training_data.formats.readerwriter import TrainingDataReader
|
|
9
|
-
from rasa.shared.nlu.training_data.util import transform_entity_synonyms
|
|
10
|
-
import rasa.shared.utils.io
|
|
11
|
-
|
|
12
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
13
10
|
from rasa.shared.nlu.training_data.message import Message
|
|
11
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
12
|
+
from rasa.shared.nlu.training_data.util import transform_entity_synonyms
|
|
14
13
|
|
|
15
14
|
logger = logging.getLogger(__name__)
|
|
16
15
|
|
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
from typing import Any, Dict, List, Text
|
|
3
3
|
|
|
4
|
+
import rasa.shared.utils.io
|
|
4
5
|
from rasa.shared.nlu.constants import (
|
|
5
|
-
TEXT,
|
|
6
|
-
INTENT,
|
|
7
6
|
ENTITIES,
|
|
8
|
-
|
|
7
|
+
ENTITY_ATTRIBUTE_END,
|
|
9
8
|
ENTITY_ATTRIBUTE_ROLE,
|
|
10
|
-
ENTITY_ATTRIBUTE_VALUE,
|
|
11
9
|
ENTITY_ATTRIBUTE_START,
|
|
12
|
-
|
|
10
|
+
ENTITY_ATTRIBUTE_TYPE,
|
|
11
|
+
ENTITY_ATTRIBUTE_VALUE,
|
|
12
|
+
INTENT,
|
|
13
13
|
NO_ENTITY_TAG,
|
|
14
|
+
TEXT,
|
|
14
15
|
)
|
|
15
16
|
from rasa.shared.nlu.training_data.formats.readerwriter import JsonTrainingDataReader
|
|
16
|
-
import rasa.shared.utils.io
|
|
17
|
-
|
|
18
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
19
17
|
from rasa.shared.nlu.training_data.message import Message
|
|
18
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
20
19
|
|
|
21
20
|
logger = logging.getLogger(__name__)
|
|
22
21
|
|
|
@@ -2,18 +2,17 @@ import logging
|
|
|
2
2
|
from collections import defaultdict
|
|
3
3
|
from typing import Any, Dict, Text
|
|
4
4
|
|
|
5
|
+
import rasa.shared.utils.io
|
|
5
6
|
from rasa.shared.constants import DOCS_URL_MIGRATION_GUIDE
|
|
6
|
-
from rasa.shared.nlu.constants import
|
|
7
|
+
from rasa.shared.nlu.constants import ENTITIES, INTENT, TEXT
|
|
7
8
|
from rasa.shared.nlu.training_data.formats.readerwriter import (
|
|
8
9
|
JsonTrainingDataReader,
|
|
9
10
|
TrainingDataWriter,
|
|
10
11
|
)
|
|
12
|
+
from rasa.shared.nlu.training_data.message import Message
|
|
13
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
11
14
|
from rasa.shared.nlu.training_data.util import transform_entity_synonyms
|
|
12
15
|
from rasa.shared.utils.io import json_to_string
|
|
13
|
-
|
|
14
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
15
|
-
from rasa.shared.nlu.training_data.message import Message
|
|
16
|
-
import rasa.shared.utils.io
|
|
17
16
|
from rasa.shared.utils.yaml import validate_training_data
|
|
18
17
|
|
|
19
18
|
logger = logging.getLogger(__name__)
|
|
@@ -2,42 +2,42 @@ import logging
|
|
|
2
2
|
from collections import OrderedDict
|
|
3
3
|
from pathlib import Path
|
|
4
4
|
from typing import (
|
|
5
|
-
ClassVar,
|
|
6
|
-
Text,
|
|
7
5
|
Any,
|
|
8
|
-
|
|
6
|
+
Callable,
|
|
7
|
+
ClassVar,
|
|
9
8
|
Dict,
|
|
10
|
-
Tuple,
|
|
11
|
-
Union,
|
|
12
9
|
Iterator,
|
|
10
|
+
List,
|
|
13
11
|
Optional,
|
|
14
|
-
|
|
12
|
+
Text,
|
|
13
|
+
Tuple,
|
|
14
|
+
Union,
|
|
15
15
|
)
|
|
16
16
|
|
|
17
|
-
import rasa.shared.data
|
|
18
|
-
from rasa.shared.core.domain import Domain
|
|
19
|
-
from rasa.shared.exceptions import YamlException
|
|
20
17
|
from ruamel.yaml import StringIO
|
|
21
18
|
from ruamel.yaml.scalarstring import LiteralScalarString
|
|
22
19
|
|
|
20
|
+
import rasa.shared.data
|
|
21
|
+
import rasa.shared.nlu.training_data.util
|
|
22
|
+
import rasa.shared.utils.io
|
|
23
23
|
from rasa.shared.constants import (
|
|
24
24
|
DOCS_URL_TRAINING_DATA,
|
|
25
25
|
LATEST_TRAINING_DATA_FORMAT_VERSION,
|
|
26
26
|
)
|
|
27
|
-
from rasa.shared.
|
|
27
|
+
from rasa.shared.core.domain import Domain
|
|
28
|
+
from rasa.shared.exceptions import YamlException
|
|
29
|
+
from rasa.shared.nlu.constants import METADATA_EXAMPLE, METADATA_INTENT
|
|
28
30
|
from rasa.shared.nlu.training_data.formats.readerwriter import (
|
|
29
31
|
TrainingDataReader,
|
|
30
32
|
TrainingDataWriter,
|
|
31
33
|
)
|
|
32
|
-
import rasa.shared.utils.io
|
|
33
|
-
import rasa.shared.nlu.training_data.util
|
|
34
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
35
34
|
from rasa.shared.nlu.training_data.message import Message
|
|
35
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
36
36
|
from rasa.shared.utils.yaml import (
|
|
37
|
+
is_key_in_yaml,
|
|
38
|
+
read_yaml,
|
|
37
39
|
validate_raw_yaml_using_schema_file_with_responses,
|
|
38
40
|
validate_training_data_format_version,
|
|
39
|
-
read_yaml,
|
|
40
|
-
is_key_in_yaml,
|
|
41
41
|
write_yaml,
|
|
42
42
|
)
|
|
43
43
|
|
|
@@ -409,9 +409,10 @@ class RasaYAMLWriter(TrainingDataWriter):
|
|
|
409
409
|
Returns:
|
|
410
410
|
`OrderedDict` containing all training data.
|
|
411
411
|
"""
|
|
412
|
-
from rasa.shared.utils.yaml import KEY_TRAINING_DATA_FORMAT_VERSION
|
|
413
412
|
from ruamel.yaml.scalarstring import DoubleQuotedScalarString
|
|
414
413
|
|
|
414
|
+
from rasa.shared.utils.yaml import KEY_TRAINING_DATA_FORMAT_VERSION
|
|
415
|
+
|
|
415
416
|
nlu_items = []
|
|
416
417
|
nlu_items.extend(cls.process_intents(training_data))
|
|
417
418
|
nlu_items.extend(cls.process_synonyms(training_data))
|
|
@@ -1,26 +1,23 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
import json
|
|
3
|
-
|
|
3
|
+
import typing
|
|
4
|
+
from collections import OrderedDict, defaultdict
|
|
4
5
|
from pathlib import Path
|
|
6
|
+
from typing import Any, Dict, List, Text, Union
|
|
5
7
|
|
|
6
8
|
import rasa.shared.nlu.training_data.util
|
|
9
|
+
import rasa.shared.utils.io
|
|
7
10
|
from rasa.shared.constants import INTENT_MESSAGE_PREFIX
|
|
8
|
-
|
|
9
11
|
from rasa.shared.nlu.constants import (
|
|
10
|
-
INTENT,
|
|
11
|
-
ENTITY_ATTRIBUTE_VALUE,
|
|
12
|
-
ENTITY_ATTRIBUTE_START,
|
|
13
12
|
ENTITY_ATTRIBUTE_END,
|
|
14
|
-
ENTITY_ATTRIBUTE_TYPE,
|
|
15
13
|
ENTITY_ATTRIBUTE_GROUP,
|
|
16
14
|
ENTITY_ATTRIBUTE_ROLE,
|
|
15
|
+
ENTITY_ATTRIBUTE_START,
|
|
16
|
+
ENTITY_ATTRIBUTE_TYPE,
|
|
17
|
+
ENTITY_ATTRIBUTE_VALUE,
|
|
18
|
+
INTENT,
|
|
17
19
|
)
|
|
18
20
|
|
|
19
|
-
import rasa.shared.utils.io
|
|
20
|
-
import typing
|
|
21
|
-
from typing import Text, Dict, Any, Union, List
|
|
22
|
-
from collections import defaultdict
|
|
23
|
-
|
|
24
21
|
if typing.TYPE_CHECKING:
|
|
25
22
|
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
26
23
|
|
|
@@ -3,17 +3,16 @@ from typing import Any, Dict, Text
|
|
|
3
3
|
|
|
4
4
|
from rasa.shared.core.constants import USER_INTENT_OUT_OF_SCOPE
|
|
5
5
|
from rasa.shared.nlu.constants import (
|
|
6
|
-
INTENT,
|
|
7
6
|
ENTITIES,
|
|
8
|
-
TEXT,
|
|
9
7
|
ENTITY_ATTRIBUTE_ROLE,
|
|
10
8
|
ENTITY_ATTRIBUTE_TYPE,
|
|
11
9
|
ENTITY_ATTRIBUTE_VALUE,
|
|
10
|
+
INTENT,
|
|
11
|
+
TEXT,
|
|
12
12
|
)
|
|
13
13
|
from rasa.shared.nlu.training_data.formats.readerwriter import JsonTrainingDataReader
|
|
14
|
-
|
|
15
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
16
14
|
from rasa.shared.nlu.training_data.message import Message
|
|
15
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
17
16
|
|
|
18
17
|
logger = logging.getLogger(__name__)
|
|
19
18
|
|
|
@@ -2,7 +2,7 @@ import json
|
|
|
2
2
|
import logging
|
|
3
3
|
import os
|
|
4
4
|
import typing
|
|
5
|
-
from typing import
|
|
5
|
+
from typing import Any, Callable, Dict, List, Optional, Text
|
|
6
6
|
|
|
7
7
|
import rasa.shared.utils.io
|
|
8
8
|
from rasa.shared.nlu.training_data.formats.dialogflow import (
|
|
@@ -69,11 +69,11 @@ def load_data(resource_name: Text, language: Optional[Text] = "en") -> "Training
|
|
|
69
69
|
def _reader_factory(fformat: Text) -> Optional["TrainingDataReader"]:
|
|
70
70
|
"""Generates the appropriate reader class based on the file format."""
|
|
71
71
|
from rasa.shared.nlu.training_data.formats import (
|
|
72
|
-
|
|
73
|
-
WitReader,
|
|
72
|
+
DialogflowReader,
|
|
74
73
|
LuisReader,
|
|
75
74
|
RasaReader,
|
|
76
|
-
|
|
75
|
+
RasaYAMLReader,
|
|
76
|
+
WitReader,
|
|
77
77
|
)
|
|
78
78
|
|
|
79
79
|
reader: Optional["TrainingDataReader"] = None
|
|
@@ -1,30 +1,29 @@
|
|
|
1
|
-
from typing import Any, Optional, Tuple, Text, Dict, Set, List
|
|
2
|
-
|
|
3
|
-
import typing
|
|
4
1
|
import copy
|
|
2
|
+
import typing
|
|
3
|
+
from typing import Any, Dict, List, Optional, Set, Text, Tuple
|
|
5
4
|
|
|
6
5
|
import rasa.shared.utils.io
|
|
6
|
+
from rasa.shared.constants import DIAGNOSTIC_DATA
|
|
7
7
|
from rasa.shared.exceptions import RasaException
|
|
8
8
|
from rasa.shared.nlu.constants import (
|
|
9
|
+
ACTION_NAME,
|
|
10
|
+
ACTION_TEXT,
|
|
9
11
|
COMMANDS,
|
|
10
|
-
|
|
12
|
+
ENTITIES,
|
|
13
|
+
ENTITY_ATTRIBUTE_END,
|
|
14
|
+
ENTITY_ATTRIBUTE_START,
|
|
15
|
+
FEATURE_TYPE_SENTENCE,
|
|
16
|
+
FEATURE_TYPE_SEQUENCE,
|
|
11
17
|
INTENT,
|
|
12
|
-
RESPONSE,
|
|
13
18
|
INTENT_RESPONSE_KEY,
|
|
14
19
|
METADATA,
|
|
15
|
-
METADATA_INTENT,
|
|
16
20
|
METADATA_EXAMPLE,
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
ENTITY_ATTRIBUTE_END,
|
|
21
|
+
METADATA_INTENT,
|
|
22
|
+
RESPONSE,
|
|
20
23
|
RESPONSE_IDENTIFIER_DELIMITER,
|
|
21
|
-
|
|
22
|
-
FEATURE_TYPE_SEQUENCE,
|
|
23
|
-
ACTION_TEXT,
|
|
24
|
-
ACTION_NAME,
|
|
24
|
+
TEXT,
|
|
25
25
|
TEXT_TOKENS,
|
|
26
26
|
)
|
|
27
|
-
from rasa.shared.constants import DIAGNOSTIC_DATA
|
|
28
27
|
|
|
29
28
|
if typing.TYPE_CHECKING:
|
|
30
29
|
from rasa.shared.nlu.training_data.features import Features
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
from typing import Any,
|
|
1
|
+
from typing import Any, Dict, List, Text
|
|
2
2
|
|
|
3
3
|
from rasa.shared.nlu.constants import (
|
|
4
|
-
ENTITY_ATTRIBUTE_VALUE,
|
|
5
|
-
ENTITY_ATTRIBUTE_START,
|
|
6
4
|
ENTITY_ATTRIBUTE_END,
|
|
5
|
+
ENTITY_ATTRIBUTE_START,
|
|
6
|
+
ENTITY_ATTRIBUTE_VALUE,
|
|
7
7
|
)
|
|
8
8
|
|
|
9
9
|
|
|
@@ -1,31 +1,30 @@
|
|
|
1
|
+
import copy
|
|
1
2
|
import logging
|
|
3
|
+
import operator
|
|
2
4
|
import os
|
|
3
|
-
from functools import cached_property
|
|
4
|
-
from pathlib import Path
|
|
5
5
|
import random
|
|
6
6
|
from collections import Counter, OrderedDict
|
|
7
|
-
import
|
|
7
|
+
from functools import cached_property
|
|
8
8
|
from os.path import relpath
|
|
9
|
-
from
|
|
10
|
-
import
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
from typing import Any, Callable, Dict, List, Optional, Set, Text, Tuple
|
|
11
11
|
|
|
12
12
|
import rasa.shared.data
|
|
13
13
|
import rasa.shared.utils.io
|
|
14
14
|
from rasa.shared.nlu.constants import (
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
ENTITY_ATTRIBUTE_TYPE,
|
|
15
|
+
ACTION_NAME,
|
|
16
|
+
ENTITIES,
|
|
18
17
|
ENTITY_ATTRIBUTE_GROUP,
|
|
19
18
|
ENTITY_ATTRIBUTE_ROLE,
|
|
20
|
-
|
|
19
|
+
ENTITY_ATTRIBUTE_TYPE,
|
|
21
20
|
INTENT,
|
|
22
|
-
|
|
21
|
+
INTENT_RESPONSE_KEY,
|
|
22
|
+
NO_ENTITY_TAG,
|
|
23
|
+
RESPONSE,
|
|
23
24
|
TEXT,
|
|
24
|
-
ACTION_NAME,
|
|
25
25
|
)
|
|
26
|
-
from rasa.shared.nlu.training_data.message import Message
|
|
27
26
|
from rasa.shared.nlu.training_data import util
|
|
28
|
-
|
|
27
|
+
from rasa.shared.nlu.training_data.message import Message
|
|
29
28
|
|
|
30
29
|
DEFAULT_TRAINING_DATA_OUTPUT_PATH = "training_data.yml"
|
|
31
30
|
|
|
@@ -2,23 +2,24 @@ import json
|
|
|
2
2
|
import logging
|
|
3
3
|
import os
|
|
4
4
|
import re
|
|
5
|
-
from typing import Any, Dict,
|
|
5
|
+
from typing import Any, Dict, List, Match, Optional, Text
|
|
6
6
|
|
|
7
7
|
import scipy.sparse
|
|
8
|
+
|
|
9
|
+
import rasa.shared.data
|
|
10
|
+
import rasa.shared.utils.io
|
|
11
|
+
from rasa.shared.constants import UTTER_PREFIX
|
|
8
12
|
from rasa.shared.nlu.constants import (
|
|
9
13
|
ENTITIES,
|
|
10
|
-
EXTRACTOR,
|
|
11
|
-
PRETRAINED_EXTRACTORS,
|
|
12
|
-
ENTITY_ATTRIBUTE_START,
|
|
13
14
|
ENTITY_ATTRIBUTE_END,
|
|
14
|
-
ENTITY_ATTRIBUTE_VALUE,
|
|
15
|
-
ENTITY_ATTRIBUTE_TYPE,
|
|
16
|
-
ENTITY_ATTRIBUTE_ROLE,
|
|
17
15
|
ENTITY_ATTRIBUTE_GROUP,
|
|
16
|
+
ENTITY_ATTRIBUTE_ROLE,
|
|
17
|
+
ENTITY_ATTRIBUTE_START,
|
|
18
|
+
ENTITY_ATTRIBUTE_TYPE,
|
|
19
|
+
ENTITY_ATTRIBUTE_VALUE,
|
|
20
|
+
EXTRACTOR,
|
|
21
|
+
PRETRAINED_EXTRACTORS,
|
|
18
22
|
)
|
|
19
|
-
from rasa.shared.constants import UTTER_PREFIX
|
|
20
|
-
import rasa.shared.utils.io
|
|
21
|
-
import rasa.shared.data
|
|
22
23
|
|
|
23
24
|
logger = logging.getLogger(__name__)
|
|
24
25
|
|
|
@@ -1,19 +1,10 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
from copy import deepcopy
|
|
4
1
|
from dataclasses import asdict, dataclass, field
|
|
5
|
-
from typing import
|
|
6
|
-
Any,
|
|
7
|
-
Dict,
|
|
8
|
-
Optional,
|
|
9
|
-
Set,
|
|
10
|
-
)
|
|
2
|
+
from typing import Any, Dict, Optional
|
|
11
3
|
|
|
12
4
|
import structlog
|
|
13
5
|
|
|
14
6
|
from rasa.shared.constants import (
|
|
15
7
|
API_BASE_CONFIG_KEY,
|
|
16
|
-
API_KEY,
|
|
17
8
|
API_TYPE_CONFIG_KEY,
|
|
18
9
|
API_VERSION_CONFIG_KEY,
|
|
19
10
|
AZURE_API_TYPE,
|
|
@@ -34,22 +25,12 @@ from rasa.shared.constants import (
|
|
|
34
25
|
STREAM_CONFIG_KEY,
|
|
35
26
|
TIMEOUT_CONFIG_KEY,
|
|
36
27
|
)
|
|
37
|
-
from rasa.shared.providers._configs.azure_entra_id_config import (
|
|
38
|
-
AzureEntraIDOAuthConfig,
|
|
39
|
-
AzureEntraIDOAuthType,
|
|
40
|
-
)
|
|
41
|
-
from rasa.shared.providers._configs.oauth_config import (
|
|
42
|
-
OAUTH_KEY,
|
|
43
|
-
OAUTH_TYPE_FIELD,
|
|
44
|
-
OAuth,
|
|
45
|
-
)
|
|
46
28
|
from rasa.shared.providers._configs.utils import (
|
|
47
29
|
raise_deprecation_warnings,
|
|
48
30
|
resolve_aliases,
|
|
49
31
|
validate_forbidden_keys,
|
|
50
32
|
validate_required_keys,
|
|
51
33
|
)
|
|
52
|
-
from rasa.shared.utils.common import class_from_module_path
|
|
53
34
|
|
|
54
35
|
structlogger = structlog.get_logger()
|
|
55
36
|
|
|
@@ -80,76 +61,6 @@ FORBIDDEN_KEYS = [
|
|
|
80
61
|
]
|
|
81
62
|
|
|
82
63
|
|
|
83
|
-
@dataclass
|
|
84
|
-
class OAuthConfigWrapper(OAuth):
|
|
85
|
-
"""Wrapper for OAuth configuration.
|
|
86
|
-
|
|
87
|
-
It's main purpose is to provide to_dict method which is used to serialize
|
|
88
|
-
the oauth configuration to the original format.
|
|
89
|
-
|
|
90
|
-
"""
|
|
91
|
-
|
|
92
|
-
oauth: OAuth
|
|
93
|
-
original_config: Dict[str, Any]
|
|
94
|
-
|
|
95
|
-
def get_bearer_token(self) -> str:
|
|
96
|
-
"""Returns a bearer token."""
|
|
97
|
-
return self.oauth.get_bearer_token()
|
|
98
|
-
|
|
99
|
-
def to_dict(self) -> Dict[str, Any]:
|
|
100
|
-
"""Converts the OAuth configuration to the original format."""
|
|
101
|
-
return self.original_config
|
|
102
|
-
|
|
103
|
-
@staticmethod
|
|
104
|
-
def _valid_type_values() -> Set[str]:
|
|
105
|
-
"""Returns the valid built-in values for the `type` field in the `oauth`."""
|
|
106
|
-
return AzureEntraIDOAuthType.valid_string_values()
|
|
107
|
-
|
|
108
|
-
@classmethod
|
|
109
|
-
def from_config(cls, oauth_config: Dict[str, Any]) -> OAuth:
|
|
110
|
-
"""Initializes a dataclass from the passed config.
|
|
111
|
-
|
|
112
|
-
Args:
|
|
113
|
-
oauth_config: (dict) The config from which to initialize.
|
|
114
|
-
|
|
115
|
-
Returns:
|
|
116
|
-
AzureOAuthConfig
|
|
117
|
-
"""
|
|
118
|
-
original_config = deepcopy(oauth_config)
|
|
119
|
-
|
|
120
|
-
oauth_type: Optional[str] = oauth_config.get(OAUTH_TYPE_FIELD, None)
|
|
121
|
-
|
|
122
|
-
if oauth_type is None:
|
|
123
|
-
message = (
|
|
124
|
-
"Oauth configuration must contain "
|
|
125
|
-
f"'{OAUTH_TYPE_FIELD}' field and it must be set to one of the "
|
|
126
|
-
f"following values: {OAuthConfigWrapper._valid_type_values()}, "
|
|
127
|
-
f"or to the path of module which is implementing {OAuth.__name__} protocol."
|
|
128
|
-
)
|
|
129
|
-
structlogger.error(
|
|
130
|
-
"azure_oauth_config.missing_oauth_type",
|
|
131
|
-
message=message,
|
|
132
|
-
)
|
|
133
|
-
raise ValueError(message)
|
|
134
|
-
|
|
135
|
-
if oauth_type in AzureEntraIDOAuthType.valid_string_values():
|
|
136
|
-
oauth = AzureEntraIDOAuthConfig.from_config(oauth_config)
|
|
137
|
-
else:
|
|
138
|
-
module = class_from_module_path(oauth_type)
|
|
139
|
-
|
|
140
|
-
if not issubclass(module, OAuth):
|
|
141
|
-
message = f"Module {oauth_type} does not implement {OAuth.__name__} interface."
|
|
142
|
-
structlogger.error(
|
|
143
|
-
"azure_oauth_config.invalid_oauth_module",
|
|
144
|
-
message=message,
|
|
145
|
-
)
|
|
146
|
-
raise ValueError(message)
|
|
147
|
-
|
|
148
|
-
oauth = module.from_config(oauth_config)
|
|
149
|
-
|
|
150
|
-
return cls(oauth=oauth, original_config=original_config)
|
|
151
|
-
|
|
152
|
-
|
|
153
64
|
@dataclass
|
|
154
65
|
class AzureOpenAIClientConfig:
|
|
155
66
|
"""Parses configuration for Azure OpenAI client, resolves aliases and
|
|
@@ -169,13 +80,11 @@ class AzureOpenAIClientConfig:
|
|
|
169
80
|
# API Type is not used by LiteLLM backend, but we define
|
|
170
81
|
# it here for backward compatibility.
|
|
171
82
|
api_type: Optional[str] = AZURE_API_TYPE
|
|
83
|
+
|
|
172
84
|
# Provider is not used by LiteLLM backend, but we define it here since it's
|
|
173
85
|
# used as switch between different clients.
|
|
174
86
|
provider: str = AZURE_OPENAI_PROVIDER
|
|
175
87
|
|
|
176
|
-
# OAuth related parameters
|
|
177
|
-
oauth: Optional[OAuthConfigWrapper] = None
|
|
178
|
-
|
|
179
88
|
extra_parameters: dict = field(default_factory=dict)
|
|
180
89
|
|
|
181
90
|
def __post_init__(self) -> None:
|
|
@@ -197,7 +106,7 @@ class AzureOpenAIClientConfig:
|
|
|
197
106
|
raise ValueError(message)
|
|
198
107
|
|
|
199
108
|
@classmethod
|
|
200
|
-
def from_dict(cls, config: dict) -> AzureOpenAIClientConfig:
|
|
109
|
+
def from_dict(cls, config: dict) -> "AzureOpenAIClientConfig":
|
|
201
110
|
"""Initializes a dataclass from the passed config.
|
|
202
111
|
|
|
203
112
|
Args:
|
|
@@ -220,26 +129,6 @@ class AzureOpenAIClientConfig:
|
|
|
220
129
|
# Validate that the forbidden keys are not present
|
|
221
130
|
validate_forbidden_keys(config, FORBIDDEN_KEYS)
|
|
222
131
|
# Init client config
|
|
223
|
-
|
|
224
|
-
has_api_key = config.get(API_KEY, None) is not None
|
|
225
|
-
has_oauth_key = config.get(OAUTH_KEY, None) is not None
|
|
226
|
-
|
|
227
|
-
if has_api_key and has_oauth_key:
|
|
228
|
-
message = (
|
|
229
|
-
"Azure OpenAI client configuration cannot contain "
|
|
230
|
-
f"both '{API_KEY}' and '{OAUTH_KEY}' fields. Please provide either "
|
|
231
|
-
f"'{API_KEY}' or '{OAUTH_KEY}' fields."
|
|
232
|
-
)
|
|
233
|
-
structlogger.error(
|
|
234
|
-
"azure_openai_client_config.multiple_auth_types_specified",
|
|
235
|
-
message=message,
|
|
236
|
-
)
|
|
237
|
-
raise ValueError(message)
|
|
238
|
-
|
|
239
|
-
oauth = None
|
|
240
|
-
if has_oauth_key:
|
|
241
|
-
oauth = OAuthConfigWrapper.from_config(config.pop(OAUTH_KEY))
|
|
242
|
-
|
|
243
132
|
this = AzureOpenAIClientConfig(
|
|
244
133
|
# Required parameters
|
|
245
134
|
deployment=config.pop(DEPLOYMENT_CONFIG_KEY),
|
|
@@ -253,8 +142,6 @@ class AzureOpenAIClientConfig:
|
|
|
253
142
|
# in clients.
|
|
254
143
|
api_base=config.pop(API_BASE_CONFIG_KEY, None),
|
|
255
144
|
api_version=config.pop(API_VERSION_CONFIG_KEY, None),
|
|
256
|
-
# OAuth related parameters, set only if auth_type is set to 'entra_id'
|
|
257
|
-
oauth=oauth,
|
|
258
145
|
# The rest of parameters (e.g. model parameters) are considered
|
|
259
146
|
# as extra parameters (this also includes timeout).
|
|
260
147
|
extra_parameters=config,
|
|
@@ -267,9 +154,6 @@ class AzureOpenAIClientConfig:
|
|
|
267
154
|
# Extra parameters should also be on the top level
|
|
268
155
|
d.pop("extra_parameters", None)
|
|
269
156
|
d.update(self.extra_parameters)
|
|
270
|
-
|
|
271
|
-
d.pop("oauth", None)
|
|
272
|
-
d.update({"oauth": self.oauth.to_dict()} if self.oauth else {})
|
|
273
157
|
return d
|
|
274
158
|
|
|
275
159
|
@staticmethod
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
1
|
from typing import Protocol, runtime_checkable
|
|
4
2
|
|
|
5
3
|
|
|
@@ -11,7 +9,7 @@ class ClientConfig(Protocol):
|
|
|
11
9
|
"""
|
|
12
10
|
|
|
13
11
|
@classmethod
|
|
14
|
-
def from_dict(cls, config: dict) -> ClientConfig:
|
|
12
|
+
def from_dict(cls, config: dict) -> "ClientConfig":
|
|
15
13
|
"""
|
|
16
14
|
Initializes the client config with the given configuration.
|
|
17
15
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
1
|
from dataclasses import asdict, dataclass, field
|
|
4
2
|
from typing import Any, Dict
|
|
5
3
|
|
|
@@ -71,7 +69,7 @@ class DefaultLiteLLMClientConfig:
|
|
|
71
69
|
raise ValueError(message)
|
|
72
70
|
|
|
73
71
|
@classmethod
|
|
74
|
-
def from_dict(cls, config: dict) -> DefaultLiteLLMClientConfig:
|
|
72
|
+
def from_dict(cls, config: dict) -> "DefaultLiteLLMClientConfig":
|
|
75
73
|
"""
|
|
76
74
|
Initializes a dataclass from the passed config.
|
|
77
75
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
1
|
from dataclasses import asdict, dataclass, field
|
|
4
2
|
from typing import Any, Dict, Optional
|
|
5
3
|
|
|
@@ -92,7 +90,7 @@ class HuggingFaceLocalEmbeddingClientConfig:
|
|
|
92
90
|
raise ValueError(message)
|
|
93
91
|
|
|
94
92
|
@classmethod
|
|
95
|
-
def from_dict(cls, config: dict) -> HuggingFaceLocalEmbeddingClientConfig:
|
|
93
|
+
def from_dict(cls, config: dict) -> "HuggingFaceLocalEmbeddingClientConfig":
|
|
96
94
|
"""
|
|
97
95
|
Initializes a dataclass from the passed config.
|
|
98
96
|
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
1
|
import copy
|
|
4
2
|
from dataclasses import dataclass, field
|
|
5
3
|
from typing import Any, Dict, List
|
|
@@ -122,7 +120,7 @@ class LiteLLMRouterClientConfig:
|
|
|
122
120
|
raise ValueError(message)
|
|
123
121
|
|
|
124
122
|
@classmethod
|
|
125
|
-
def from_dict(cls, config: dict) -> LiteLLMRouterClientConfig:
|
|
123
|
+
def from_dict(cls, config: dict) -> "LiteLLMRouterClientConfig":
|
|
126
124
|
"""Initializes a dataclass from the passed config.
|
|
127
125
|
|
|
128
126
|
Args:
|