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,32 +1,25 @@
|
|
|
1
1
|
import asyncio
|
|
2
|
-
import structlog
|
|
3
2
|
import copy
|
|
4
3
|
from dataclasses import asdict, dataclass
|
|
5
4
|
from typing import Any, AsyncIterator, Awaitable, Callable, Dict, List, Optional, Tuple
|
|
6
5
|
|
|
7
|
-
|
|
8
|
-
from
|
|
9
|
-
from rasa.shared.utils.common import (
|
|
10
|
-
class_from_module_path,
|
|
11
|
-
mark_as_beta_feature,
|
|
12
|
-
)
|
|
13
|
-
from rasa.shared.utils.cli import print_error_and_exit
|
|
14
|
-
|
|
6
|
+
import structlog
|
|
7
|
+
from sanic import Websocket # type: ignore
|
|
15
8
|
from sanic.exceptions import ServerError, WebsocketClosed
|
|
16
9
|
|
|
17
10
|
from rasa.core.channels import InputChannel, OutputChannel, UserMessage
|
|
18
|
-
from rasa.core.channels.voice_ready.utils import
|
|
19
|
-
|
|
11
|
+
from rasa.core.channels.voice_ready.utils import (
|
|
12
|
+
CallParameters,
|
|
13
|
+
validate_voice_license_scope,
|
|
14
|
+
)
|
|
20
15
|
from rasa.core.channels.voice_stream.asr.asr_engine import ASREngine
|
|
21
16
|
from rasa.core.channels.voice_stream.asr.asr_event import (
|
|
22
17
|
ASREvent,
|
|
23
18
|
NewTranscript,
|
|
24
19
|
UserIsSpeaking,
|
|
25
20
|
)
|
|
26
|
-
from sanic import Websocket # type: ignore
|
|
27
|
-
|
|
28
|
-
from rasa.core.channels.voice_stream.asr.deepgram import DeepgramASR
|
|
29
21
|
from rasa.core.channels.voice_stream.asr.azure import AzureASR
|
|
22
|
+
from rasa.core.channels.voice_stream.asr.deepgram import DeepgramASR
|
|
30
23
|
from rasa.core.channels.voice_stream.audio_bytes import HERTZ, RasaAudioBytes
|
|
31
24
|
from rasa.core.channels.voice_stream.call_state import (
|
|
32
25
|
CallState,
|
|
@@ -34,9 +27,16 @@ from rasa.core.channels.voice_stream.call_state import (
|
|
|
34
27
|
call_state,
|
|
35
28
|
)
|
|
36
29
|
from rasa.core.channels.voice_stream.tts.azure import AzureTTS
|
|
37
|
-
from rasa.core.channels.voice_stream.tts.tts_engine import TTSEngine, TTSError
|
|
38
30
|
from rasa.core.channels.voice_stream.tts.cartesia import CartesiaTTS
|
|
39
31
|
from rasa.core.channels.voice_stream.tts.tts_cache import TTSCache
|
|
32
|
+
from rasa.core.channels.voice_stream.tts.tts_engine import TTSEngine, TTSError
|
|
33
|
+
from rasa.core.channels.voice_stream.util import generate_silence
|
|
34
|
+
from rasa.shared.core.constants import SLOT_SILENCE_TIMEOUT
|
|
35
|
+
from rasa.shared.utils.cli import print_error_and_exit
|
|
36
|
+
from rasa.shared.utils.common import (
|
|
37
|
+
class_from_module_path,
|
|
38
|
+
mark_as_beta_feature,
|
|
39
|
+
)
|
|
40
40
|
from rasa.utils.io import remove_emojis
|
|
41
41
|
|
|
42
42
|
logger = structlog.get_logger(__name__)
|
rasa/core/channels/webexteams.py
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import logging
|
|
2
|
+
from typing import Any, Awaitable, Callable, Dict, Optional, Text
|
|
3
|
+
|
|
2
4
|
from sanic import Blueprint, response
|
|
3
5
|
from sanic.request import Request
|
|
4
|
-
from typing import Text, Optional, Dict, Any, Callable, Awaitable
|
|
5
|
-
|
|
6
6
|
from sanic.response import HTTPResponse
|
|
7
7
|
from webexteamssdk import WebexTeamsAPI, Webhook
|
|
8
8
|
|
|
9
|
-
from rasa.core.channels.channel import InputChannel
|
|
10
|
-
from rasa.core.channels.channel import UserMessage, OutputChannel
|
|
9
|
+
from rasa.core.channels.channel import InputChannel, OutputChannel, UserMessage
|
|
11
10
|
|
|
12
11
|
logger = logging.getLogger(__name__)
|
|
13
12
|
|
rasa/core/evaluation/marker.py
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
from typing import Optional, Text
|
|
1
|
+
import logging
|
|
2
|
+
from typing import List, Optional, Text
|
|
3
|
+
|
|
3
4
|
from rasa.core.evaluation.marker_base import (
|
|
4
|
-
OperatorMarker,
|
|
5
5
|
ConditionMarker,
|
|
6
|
-
MarkerRegistry,
|
|
7
6
|
Marker,
|
|
7
|
+
MarkerRegistry,
|
|
8
|
+
OperatorMarker,
|
|
8
9
|
)
|
|
9
|
-
from rasa.shared.core.
|
|
10
|
-
import
|
|
10
|
+
from rasa.shared.core.domain import Domain
|
|
11
|
+
from rasa.shared.core.events import ActionExecuted, Event, SlotSet, UserUttered
|
|
11
12
|
|
|
12
13
|
logger = logging.getLogger(__name__)
|
|
13
14
|
|
|
@@ -1,42 +1,41 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import csv
|
|
4
|
+
import logging
|
|
2
5
|
import os
|
|
6
|
+
import os.path
|
|
3
7
|
from abc import ABC, abstractmethod
|
|
8
|
+
from dataclasses import dataclass
|
|
9
|
+
from pathlib import Path
|
|
4
10
|
from typing import (
|
|
11
|
+
TYPE_CHECKING,
|
|
12
|
+
Any,
|
|
13
|
+
AsyncIterator,
|
|
5
14
|
Dict,
|
|
6
15
|
Iterator,
|
|
16
|
+
List,
|
|
7
17
|
Optional,
|
|
8
18
|
Set,
|
|
9
19
|
Text,
|
|
10
|
-
List,
|
|
11
20
|
Tuple,
|
|
12
21
|
Type,
|
|
13
22
|
TypeVar,
|
|
14
|
-
TYPE_CHECKING,
|
|
15
23
|
Union,
|
|
16
|
-
Any,
|
|
17
|
-
AsyncIterator,
|
|
18
24
|
)
|
|
19
25
|
|
|
20
|
-
from pathlib import Path
|
|
21
|
-
from dataclasses import dataclass
|
|
22
|
-
|
|
23
26
|
import rasa.shared.core.constants
|
|
24
27
|
import rasa.shared.nlu.constants
|
|
25
|
-
import rasa.shared.utils.io
|
|
26
28
|
import rasa.shared.utils.common
|
|
27
|
-
|
|
28
|
-
from rasa.shared.exceptions import InvalidConfigException, RasaException
|
|
29
|
-
from rasa.shared.core.events import ActionExecuted, UserUttered, Event
|
|
29
|
+
import rasa.shared.utils.io
|
|
30
30
|
from rasa import telemetry
|
|
31
|
+
from rasa.shared.constants import DOCS_URL_MARKERS
|
|
31
32
|
from rasa.shared.core.domain import Domain
|
|
33
|
+
from rasa.shared.core.events import ActionExecuted, Event, UserUttered
|
|
32
34
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
35
|
+
from rasa.shared.data import is_likely_yaml_file
|
|
36
|
+
from rasa.shared.exceptions import InvalidConfigException, RasaException
|
|
33
37
|
from rasa.shared.utils.yaml import read_yaml_file
|
|
34
38
|
from rasa.utils.io import WriteRow
|
|
35
|
-
from rasa.shared.constants import DOCS_URL_MARKERS
|
|
36
|
-
|
|
37
|
-
import logging
|
|
38
|
-
import csv
|
|
39
|
-
import os.path
|
|
40
39
|
|
|
41
40
|
if TYPE_CHECKING:
|
|
42
41
|
from rasa.core.evaluation.marker import OrMarker
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
from typing import Dict, Text, Union, List, Tuple
|
|
3
2
|
|
|
4
|
-
from rasa.utils.io import WriteRow
|
|
5
|
-
from pathlib import Path
|
|
6
3
|
import csv
|
|
4
|
+
from pathlib import Path
|
|
5
|
+
from typing import Dict, List, Text, Tuple, Union
|
|
7
6
|
|
|
8
7
|
import numpy as np
|
|
9
8
|
|
|
10
|
-
|
|
11
9
|
from rasa.core.evaluation.marker_base import EventMetaData
|
|
10
|
+
from rasa.utils.io import WriteRow
|
|
12
11
|
|
|
13
12
|
|
|
14
13
|
def compute_statistics(
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import random
|
|
2
|
-
from
|
|
3
|
-
|
|
4
|
-
from typing import Any, Iterable, List, Text, Optional, AsyncIterator
|
|
5
|
-
from rasa.core.tracker_store import TrackerStore
|
|
2
|
+
from typing import Any, AsyncIterator, Iterable, List, Optional, Text
|
|
3
|
+
|
|
6
4
|
import rasa.shared.utils.io
|
|
5
|
+
from rasa.core.tracker_store import TrackerStore
|
|
6
|
+
from rasa.shared.core.trackers import DialogueStateTracker
|
|
7
|
+
from rasa.shared.exceptions import RasaException
|
|
7
8
|
|
|
8
9
|
STRATEGY_ALL = "all"
|
|
9
10
|
STRATEGY_FIRST_N = "first_n"
|
rasa/core/exporter.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import datetime
|
|
1
2
|
import logging
|
|
2
3
|
import uuid
|
|
3
|
-
import
|
|
4
|
-
from typing import AsyncIterator, Text, Optional, List, Set, Dict, Any
|
|
4
|
+
from typing import Any, AsyncIterator, Dict, List, Optional, Set, Text
|
|
5
5
|
|
|
6
6
|
from tqdm import tqdm
|
|
7
7
|
|
|
@@ -11,12 +11,12 @@ from rasa.core.brokers.broker import EventBroker
|
|
|
11
11
|
from rasa.core.brokers.pika import PikaEventBroker
|
|
12
12
|
from rasa.core.constants import RASA_EXPORT_PROCESS_ID_HEADER_NAME
|
|
13
13
|
from rasa.core.tracker_store import TrackerStore
|
|
14
|
-
from rasa.shared.core.trackers import EventVerbosity
|
|
15
14
|
from rasa.exceptions import (
|
|
16
|
-
NoEventsToMigrateError,
|
|
17
15
|
NoConversationsInTrackerStoreError,
|
|
16
|
+
NoEventsToMigrateError,
|
|
18
17
|
PublishingError,
|
|
19
18
|
)
|
|
19
|
+
from rasa.shared.core.trackers import EventVerbosity
|
|
20
20
|
|
|
21
21
|
logger = logging.getLogger(__name__)
|
|
22
22
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
from typing import Optional, Text, Dict, List, Union, Iterable, Any
|
|
3
|
-
from collections.abc import ValuesView, KeysView
|
|
4
2
|
|
|
5
|
-
from
|
|
6
|
-
from
|
|
3
|
+
from collections.abc import KeysView, ValuesView
|
|
4
|
+
from typing import Any, Dict, Iterable, List, Optional, Text, Union
|
|
5
|
+
|
|
6
|
+
import rasa.shared.utils.io
|
|
7
|
+
from rasa.engine.graph import ExecutionContext, GraphComponent
|
|
7
8
|
from rasa.engine.storage.resource import Resource
|
|
8
|
-
from rasa.engine.
|
|
9
|
+
from rasa.engine.storage.storage import ModelStorage
|
|
9
10
|
from rasa.shared.core.domain import Domain, SubState
|
|
10
|
-
from rasa.shared.core.events import ActionExecuted,
|
|
11
|
+
from rasa.shared.core.events import ActionExecuted, Event, UserUttered
|
|
11
12
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
12
13
|
from rasa.shared.core.training_data.structures import StoryGraph
|
|
13
14
|
from rasa.shared.nlu.constants import ACTION_NAME, ACTION_TEXT, INTENT, TEXT
|
|
15
|
+
from rasa.shared.nlu.training_data.features import Features
|
|
14
16
|
from rasa.shared.nlu.training_data.message import Message
|
|
15
17
|
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
16
|
-
from rasa.shared.nlu.training_data.features import Features
|
|
17
|
-
import rasa.shared.utils.io
|
|
18
18
|
|
|
19
19
|
# TODO: make precomputations (MessageContainerForCoreFeaturization) cacheable
|
|
20
20
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Any, Dict, List, Optional, Set, Text
|
|
3
3
|
|
|
4
4
|
import numpy as np
|
|
5
5
|
import scipy.sparse
|
|
@@ -8,18 +8,18 @@ from rasa.core.featurizers.precomputation import MessageContainerForCoreFeaturiz
|
|
|
8
8
|
from rasa.nlu.extractors.extractor import EntityTagSpec
|
|
9
9
|
from rasa.nlu.utils import bilou_utils
|
|
10
10
|
from rasa.nlu.utils.bilou_utils import BILOU_PREFIXES
|
|
11
|
-
from rasa.shared.core.
|
|
12
|
-
from rasa.shared.core.
|
|
11
|
+
from rasa.shared.core.constants import ACTIVE_LOOP, PREVIOUS_ACTION, SLOTS, USER
|
|
12
|
+
from rasa.shared.core.domain import Domain, State, SubState
|
|
13
13
|
from rasa.shared.core.trackers import is_prev_action_listen_in_state
|
|
14
14
|
from rasa.shared.nlu.constants import (
|
|
15
|
+
ACTION_NAME,
|
|
16
|
+
ACTION_TEXT,
|
|
15
17
|
ENTITIES,
|
|
18
|
+
ENTITY_ATTRIBUTE_TYPE,
|
|
19
|
+
ENTITY_TAGS,
|
|
16
20
|
FEATURE_TYPE_SENTENCE,
|
|
17
|
-
ACTION_TEXT,
|
|
18
|
-
ACTION_NAME,
|
|
19
21
|
INTENT,
|
|
20
22
|
NO_ENTITY_TAG,
|
|
21
|
-
ENTITY_ATTRIBUTE_TYPE,
|
|
22
|
-
ENTITY_TAGS,
|
|
23
23
|
TEXT,
|
|
24
24
|
)
|
|
25
25
|
from rasa.shared.nlu.training_data.features import Features
|
|
@@ -5,20 +5,20 @@ from abc import abstractmethod
|
|
|
5
5
|
from collections import defaultdict
|
|
6
6
|
from pathlib import Path
|
|
7
7
|
from typing import (
|
|
8
|
-
|
|
8
|
+
Any,
|
|
9
|
+
Callable,
|
|
10
|
+
ClassVar,
|
|
11
|
+
DefaultDict,
|
|
12
|
+
Dict,
|
|
13
|
+
Iterator,
|
|
9
14
|
List,
|
|
10
15
|
Optional,
|
|
11
|
-
|
|
16
|
+
Set,
|
|
12
17
|
Text,
|
|
18
|
+
Tuple,
|
|
19
|
+
Type,
|
|
13
20
|
Union,
|
|
14
|
-
Any,
|
|
15
|
-
Iterator,
|
|
16
|
-
Set,
|
|
17
|
-
DefaultDict,
|
|
18
21
|
cast,
|
|
19
|
-
Type,
|
|
20
|
-
Callable,
|
|
21
|
-
ClassVar,
|
|
22
22
|
)
|
|
23
23
|
|
|
24
24
|
import numpy as np
|
|
@@ -30,15 +30,15 @@ from rasa.core.exceptions import InvalidTrackerFeaturizerUsageError
|
|
|
30
30
|
from rasa.core.featurizers.precomputation import MessageContainerForCoreFeaturization
|
|
31
31
|
from rasa.core.featurizers.single_state_featurizer import SingleStateFeaturizer
|
|
32
32
|
from rasa.shared.core.constants import (
|
|
33
|
-
USER,
|
|
34
33
|
ACTION_UNLIKELY_INTENT_NAME,
|
|
35
34
|
PREVIOUS_ACTION,
|
|
35
|
+
USER,
|
|
36
36
|
)
|
|
37
|
-
from rasa.shared.core.domain import
|
|
38
|
-
from rasa.shared.core.events import
|
|
37
|
+
from rasa.shared.core.domain import Domain, State
|
|
38
|
+
from rasa.shared.core.events import ActionExecuted, Event, UserUttered
|
|
39
39
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
40
40
|
from rasa.shared.exceptions import RasaException
|
|
41
|
-
from rasa.shared.nlu.constants import
|
|
41
|
+
from rasa.shared.nlu.constants import ACTION_NAME, ENTITIES, INTENT, TEXT
|
|
42
42
|
from rasa.shared.nlu.training_data.features import Features
|
|
43
43
|
from rasa.utils.tensorflow.constants import LABEL_PAD_ID
|
|
44
44
|
from rasa.utils.tensorflow.model_data import ragged_array_to_ndarray
|
rasa/core/http_interpreter.py
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import aiohttp
|
|
2
|
-
|
|
3
1
|
import copy
|
|
4
2
|
import logging
|
|
5
|
-
import
|
|
3
|
+
from typing import Any, Dict, Optional, Text
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
import aiohttp
|
|
6
|
+
import structlog
|
|
8
7
|
|
|
9
8
|
from rasa.core import constants
|
|
10
9
|
from rasa.core.channels import UserMessage
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
from pathlib import Path
|
|
2
|
-
from typing import TYPE_CHECKING,
|
|
2
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Text
|
|
3
3
|
|
|
4
4
|
import structlog
|
|
5
5
|
from langchain.text_splitter import RecursiveCharacterTextSplitter
|
|
6
|
-
from langchain_community.document_loaders.text import TextLoader
|
|
7
6
|
from langchain_community.document_loaders.directory import DirectoryLoader
|
|
7
|
+
from langchain_community.document_loaders.text import TextLoader
|
|
8
8
|
from langchain_community.vectorstores.faiss import FAISS
|
|
9
|
-
from rasa.utils.endpoints import EndpointConfig
|
|
10
9
|
|
|
11
10
|
from rasa.core.information_retrieval import (
|
|
12
|
-
SearchResultList,
|
|
13
11
|
InformationRetrieval,
|
|
14
12
|
InformationRetrievalException,
|
|
13
|
+
SearchResultList,
|
|
15
14
|
)
|
|
15
|
+
from rasa.utils.endpoints import EndpointConfig
|
|
16
16
|
from rasa.utils.ml_utils import persist_faiss_vector_store
|
|
17
17
|
|
|
18
18
|
if TYPE_CHECKING:
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
+
import importlib
|
|
3
4
|
from dataclasses import dataclass
|
|
4
|
-
from typing import TYPE_CHECKING,
|
|
5
|
+
from typing import TYPE_CHECKING, Any, List, Optional, Text
|
|
5
6
|
|
|
6
7
|
import structlog
|
|
7
8
|
|
|
8
9
|
from rasa.shared.exceptions import RasaException
|
|
9
10
|
from rasa.utils.endpoints import EndpointConfig
|
|
10
|
-
import importlib
|
|
11
11
|
|
|
12
12
|
if TYPE_CHECKING:
|
|
13
13
|
from langchain.schema import Document
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import Any, Dict, Text
|
|
2
2
|
|
|
3
3
|
import structlog
|
|
4
4
|
from langchain_community.vectorstores.milvus import Milvus
|
|
5
|
-
from rasa.utils.endpoints import EndpointConfig
|
|
6
5
|
|
|
7
6
|
from rasa.core.information_retrieval import (
|
|
8
|
-
SearchResultList,
|
|
9
7
|
InformationRetrieval,
|
|
10
8
|
InformationRetrievalException,
|
|
9
|
+
SearchResultList,
|
|
11
10
|
)
|
|
11
|
+
from rasa.utils.endpoints import EndpointConfig
|
|
12
12
|
|
|
13
13
|
logger = structlog.get_logger()
|
|
14
14
|
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
from typing import
|
|
1
|
+
from typing import Any, Dict, Text
|
|
2
2
|
|
|
3
3
|
import structlog
|
|
4
4
|
from langchain_community.vectorstores.qdrant import Qdrant
|
|
5
5
|
from pydantic import ValidationError
|
|
6
6
|
from qdrant_client import QdrantClient
|
|
7
|
-
from rasa.utils.endpoints import EndpointConfig
|
|
8
7
|
|
|
9
8
|
from rasa.core.information_retrieval import (
|
|
10
|
-
SearchResultList,
|
|
11
9
|
InformationRetrieval,
|
|
12
10
|
InformationRetrievalException,
|
|
11
|
+
SearchResultList,
|
|
13
12
|
)
|
|
13
|
+
from rasa.utils.endpoints import EndpointConfig
|
|
14
14
|
|
|
15
15
|
logger = structlog.get_logger()
|
|
16
16
|
|
rasa/core/jobs.py
CHANGED
rasa/core/lock.py
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import logging
|
|
3
|
-
from collections import deque
|
|
4
|
-
|
|
5
3
|
import time
|
|
6
|
-
from
|
|
4
|
+
from collections import deque
|
|
5
|
+
from typing import Any, Deque, Dict, Optional, Text, Union
|
|
7
6
|
|
|
8
7
|
logger = logging.getLogger(__name__)
|
|
9
8
|
|
rasa/core/lock_store.py
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import asyncio
|
|
3
|
-
from contextlib import asynccontextmanager
|
|
4
4
|
import json
|
|
5
5
|
import logging
|
|
6
6
|
import os
|
|
7
|
-
|
|
7
|
+
from contextlib import asynccontextmanager
|
|
8
8
|
from typing import AsyncGenerator, Dict, Optional, Text, Union
|
|
9
9
|
|
|
10
|
-
from rasa.shared.exceptions import RasaException, ConnectionException
|
|
11
10
|
import rasa.shared.utils.common
|
|
12
11
|
from rasa.core.constants import DEFAULT_LOCK_LIFETIME
|
|
13
12
|
from rasa.core.lock import TicketLock
|
|
13
|
+
from rasa.shared.exceptions import ConnectionException, RasaException
|
|
14
14
|
from rasa.utils.endpoints import EndpointConfig
|
|
15
15
|
|
|
16
16
|
logger = logging.getLogger(__name__)
|
rasa/core/migrate.py
CHANGED
|
@@ -1,28 +1,31 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import shutil
|
|
3
3
|
from pathlib import Path
|
|
4
|
-
from typing import
|
|
4
|
+
from typing import Any, Dict, List, Optional, Text, Tuple, Union
|
|
5
5
|
|
|
6
6
|
from ruamel.yaml.scalarstring import DoubleQuotedScalarString
|
|
7
7
|
|
|
8
|
-
import rasa.shared.utils.io
|
|
9
8
|
import rasa.shared.utils.cli
|
|
10
|
-
|
|
9
|
+
import rasa.shared.utils.io
|
|
10
|
+
from rasa.shared.constants import (
|
|
11
|
+
IGNORED_INTENTS,
|
|
12
|
+
LATEST_TRAINING_DATA_FORMAT_VERSION,
|
|
13
|
+
REQUIRED_SLOTS_KEY,
|
|
14
|
+
)
|
|
11
15
|
from rasa.shared.core.constants import (
|
|
12
16
|
ACTIVE_LOOP,
|
|
13
|
-
REQUESTED_SLOT,
|
|
14
|
-
SlotMappingType,
|
|
15
17
|
MAPPING_TYPE,
|
|
18
|
+
REQUESTED_SLOT,
|
|
16
19
|
SLOT_MAPPINGS,
|
|
20
|
+
SlotMappingType,
|
|
17
21
|
)
|
|
18
|
-
from rasa.shared.
|
|
19
|
-
from rasa.shared.core.domain import KEY_ENTITIES, KEY_SLOTS, KEY_FORMS, Domain
|
|
22
|
+
from rasa.shared.core.domain import KEY_ENTITIES, KEY_FORMS, KEY_SLOTS, Domain
|
|
20
23
|
from rasa.shared.exceptions import RasaException
|
|
21
24
|
from rasa.shared.utils.yaml import (
|
|
22
25
|
KEY_TRAINING_DATA_FORMAT_VERSION,
|
|
23
26
|
read_yaml,
|
|
24
|
-
write_yaml,
|
|
25
27
|
read_yaml_file,
|
|
28
|
+
write_yaml,
|
|
26
29
|
)
|
|
27
30
|
|
|
28
31
|
ORIGINAL_DOMAIN = "original_domain" # not a default, fixed
|
rasa/core/nlg/__init__.py
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
+
from rasa.core.nlg.callback import CallbackNaturalLanguageGenerator # noqa: F401
|
|
1
2
|
from rasa.core.nlg.generator import NaturalLanguageGenerator # noqa: F401
|
|
2
3
|
from rasa.core.nlg.response import TemplatedNaturalLanguageGenerator # noqa: F401
|
|
3
|
-
from rasa.core.nlg.callback import CallbackNaturalLanguageGenerator # noqa: F401
|
rasa/core/nlg/callback.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import json
|
|
2
2
|
import logging
|
|
3
|
-
from typing import
|
|
3
|
+
from typing import Any, Dict, List, Optional, Text
|
|
4
4
|
|
|
5
5
|
from rasa.core.constants import DEFAULT_REQUEST_TIMEOUT
|
|
6
6
|
from rasa.core.nlg.generator import NaturalLanguageGenerator, ResponseVariationFilter
|
|
@@ -100,8 +100,7 @@ class CallbackNaturalLanguageGenerator(NaturalLanguageGenerator):
|
|
|
100
100
|
@staticmethod
|
|
101
101
|
def validate_response(content: Optional[Dict[Text, Any]]) -> bool:
|
|
102
102
|
"""Validate the NLG response. Raises exception on failure."""
|
|
103
|
-
from jsonschema import validate
|
|
104
|
-
from jsonschema import ValidationError
|
|
103
|
+
from jsonschema import ValidationError, validate
|
|
105
104
|
|
|
106
105
|
try:
|
|
107
106
|
if content is None or content == "":
|
|
@@ -2,22 +2,31 @@ from typing import Any, Dict, Optional, Text
|
|
|
2
2
|
|
|
3
3
|
import structlog
|
|
4
4
|
from jinja2 import Template
|
|
5
|
+
|
|
5
6
|
from rasa import telemetry
|
|
6
7
|
from rasa.core.nlg.response import TemplatedNaturalLanguageGenerator
|
|
7
8
|
from rasa.core.nlg.summarize import summarize_conversation
|
|
8
9
|
from rasa.shared.constants import (
|
|
9
10
|
LLM_CONFIG_KEY,
|
|
10
11
|
MODEL_CONFIG_KEY,
|
|
12
|
+
MODEL_GROUP_ID_CONFIG_KEY,
|
|
11
13
|
MODEL_NAME_CONFIG_KEY,
|
|
14
|
+
OPENAI_PROVIDER,
|
|
12
15
|
PROMPT_CONFIG_KEY,
|
|
13
16
|
PROVIDER_CONFIG_KEY,
|
|
14
|
-
OPENAI_PROVIDER,
|
|
15
17
|
TIMEOUT_CONFIG_KEY,
|
|
16
|
-
MODEL_GROUP_ID_CONFIG_KEY,
|
|
17
18
|
)
|
|
18
19
|
from rasa.shared.core.domain import KEY_RESPONSES_TEXT, Domain
|
|
19
20
|
from rasa.shared.core.events import BotUttered, UserUttered
|
|
20
21
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
22
|
+
from rasa.shared.nlu.constants import (
|
|
23
|
+
KEY_COMPONENT_NAME,
|
|
24
|
+
KEY_LLM_RESPONSE_METADATA,
|
|
25
|
+
KEY_PROMPT_NAME,
|
|
26
|
+
KEY_USER_PROMPT,
|
|
27
|
+
PROMPTS,
|
|
28
|
+
)
|
|
29
|
+
from rasa.shared.providers.llm.llm_response import LLMResponse
|
|
21
30
|
from rasa.shared.utils.health_check.llm_health_check_mixin import LLMHealthCheckMixin
|
|
22
31
|
from rasa.shared.utils.llm import (
|
|
23
32
|
DEFAULT_OPENAI_GENERATE_MODEL_NAME,
|
|
@@ -27,8 +36,6 @@ from rasa.shared.utils.llm import (
|
|
|
27
36
|
get_prompt_template,
|
|
28
37
|
llm_factory,
|
|
29
38
|
resolve_model_client_config,
|
|
30
|
-
)
|
|
31
|
-
from rasa.shared.utils.llm import (
|
|
32
39
|
tracker_as_readable_transcript,
|
|
33
40
|
)
|
|
34
41
|
from rasa.utils.endpoints import EndpointConfig
|
|
@@ -124,6 +131,39 @@ class ContextualResponseRephraser(
|
|
|
124
131
|
ContextualResponseRephraser.__name__,
|
|
125
132
|
)
|
|
126
133
|
|
|
134
|
+
@classmethod
|
|
135
|
+
def _add_prompt_and_llm_metadata_to_response(
|
|
136
|
+
cls,
|
|
137
|
+
response: Dict[str, Any],
|
|
138
|
+
prompt_name: str,
|
|
139
|
+
user_prompt: str,
|
|
140
|
+
llm_response: Optional["LLMResponse"] = None,
|
|
141
|
+
) -> Dict[str, Any]:
|
|
142
|
+
"""Stores the prompt and LLMResponse metadata to response.
|
|
143
|
+
|
|
144
|
+
Args:
|
|
145
|
+
response: The response to add the prompt and LLMResponse metadata to.
|
|
146
|
+
prompt_name: A name identifying prompt usage.
|
|
147
|
+
user_prompt: The user prompt that was sent to the LLM.
|
|
148
|
+
llm_response: The response object from the LLM (None if no response).
|
|
149
|
+
"""
|
|
150
|
+
from rasa.dialogue_understanding.utils import record_commands_and_prompts
|
|
151
|
+
|
|
152
|
+
if not record_commands_and_prompts:
|
|
153
|
+
return response
|
|
154
|
+
|
|
155
|
+
prompt_data: Dict[Text, Any] = {
|
|
156
|
+
KEY_COMPONENT_NAME: cls.__name__,
|
|
157
|
+
KEY_PROMPT_NAME: prompt_name,
|
|
158
|
+
KEY_USER_PROMPT: user_prompt,
|
|
159
|
+
KEY_LLM_RESPONSE_METADATA: llm_response.to_dict() if llm_response else None,
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
prompts = response.get(PROMPTS, [])
|
|
163
|
+
prompts.append(prompt_data)
|
|
164
|
+
response[PROMPTS] = prompts
|
|
165
|
+
return response
|
|
166
|
+
|
|
127
167
|
def _last_message_if_human(self, tracker: DialogueStateTracker) -> Optional[str]:
|
|
128
168
|
"""Returns the latest message from the tracker.
|
|
129
169
|
|
|
@@ -142,20 +182,20 @@ class ContextualResponseRephraser(
|
|
|
142
182
|
return None
|
|
143
183
|
return None
|
|
144
184
|
|
|
145
|
-
async def _generate_llm_response(self, prompt: str) -> Optional[
|
|
146
|
-
"""Use LLM to generate a response
|
|
185
|
+
async def _generate_llm_response(self, prompt: str) -> Optional[LLMResponse]:
|
|
186
|
+
"""Use LLM to generate a response, returning an LLMResponse object
|
|
187
|
+
containing both the generated text (choices) and metadata.
|
|
147
188
|
|
|
148
189
|
Args:
|
|
149
|
-
prompt:
|
|
190
|
+
prompt: The prompt to send to the LLM.
|
|
150
191
|
|
|
151
192
|
Returns:
|
|
152
|
-
|
|
193
|
+
An LLMResponse object if successful, otherwise None.
|
|
153
194
|
"""
|
|
154
195
|
llm = llm_factory(self.llm_config, DEFAULT_LLM_CONFIG)
|
|
155
196
|
|
|
156
197
|
try:
|
|
157
|
-
|
|
158
|
-
return llm_response.choices[0]
|
|
198
|
+
return await llm.acompletion(prompt)
|
|
159
199
|
except Exception as e:
|
|
160
200
|
# unfortunately, langchain does not wrap LLM exceptions which means
|
|
161
201
|
# we have to catch all exceptions here
|
|
@@ -255,11 +295,21 @@ class ContextualResponseRephraser(
|
|
|
255
295
|
or self.llm_property(MODEL_NAME_CONFIG_KEY),
|
|
256
296
|
llm_model_group_id=self.llm_property(MODEL_GROUP_ID_CONFIG_KEY),
|
|
257
297
|
)
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
298
|
+
llm_response = await self._generate_llm_response(prompt)
|
|
299
|
+
llm_response = LLMResponse.ensure_llm_response(llm_response)
|
|
300
|
+
|
|
301
|
+
response = self._add_prompt_and_llm_metadata_to_response(
|
|
302
|
+
response=response,
|
|
303
|
+
prompt_name="rephrase_prompt",
|
|
304
|
+
user_prompt=prompt,
|
|
305
|
+
llm_response=llm_response,
|
|
306
|
+
)
|
|
307
|
+
|
|
308
|
+
if not (llm_response and llm_response.choices and llm_response.choices[0]):
|
|
309
|
+
# If the LLM fails to generate a response, return the original response.
|
|
261
310
|
return response
|
|
262
311
|
|
|
312
|
+
updated_text = llm_response.choices[0]
|
|
263
313
|
structlogger.debug(
|
|
264
314
|
"nlg.rewrite.complete",
|
|
265
315
|
response_text=response_text,
|