rasa-pro 3.11.4__py3-none-any.whl → 3.12.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rasa-pro might be problematic. Click here for more details.
- README.md +10 -13
- 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 +17 -11
- rasa/anonymization/anonymization_rule_orchestrator.py +2 -3
- rasa/cli/arguments/data.py +2 -2
- rasa/cli/arguments/default_arguments.py +1 -1
- 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 +20 -3
- rasa/cli/dialogue_understanding_test.py +386 -0
- rasa/cli/evaluate.py +1 -1
- rasa/cli/export.py +6 -6
- rasa/cli/inspect.py +20 -1
- rasa/cli/interactive.py +4 -5
- rasa/cli/llm_fine_tuning.py +51 -16
- rasa/cli/markers.py +1 -2
- rasa/cli/project_templates/calm/actions/add_contact.py +1 -1
- rasa/cli/project_templates/calm/config.yml +2 -2
- rasa/cli/project_templates/calm/domain/list_contacts.yml +1 -2
- rasa/cli/project_templates/calm/domain/remove_contact.yml +1 -2
- rasa/cli/project_templates/calm/domain/shared.yml +1 -4
- rasa/cli/project_templates/calm/endpoints.yml +2 -2
- rasa/cli/project_templates/tutorial/actions/actions.py +3 -2
- rasa/cli/shell.py +5 -6
- 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/train.py +3 -0
- rasa/cli/utils.py +25 -5
- rasa/constants.py +0 -1
- rasa/core/__init__.py +0 -1
- rasa/core/actions/action.py +137 -208
- rasa/core/actions/action_handle_digressions.py +164 -0
- 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 +18 -6
- 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/custom_action_executor.py +1 -1
- rasa/core/actions/direct_custom_actions_executor.py +1 -0
- rasa/core/actions/forms.py +22 -15
- 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 +7 -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 +80 -24
- rasa/core/channels/facebook.py +5 -5
- rasa/core/channels/hangouts.py +7 -8
- rasa/core/channels/inspector/dist/assets/Tableau10-1b767f5e.js +1 -0
- rasa/core/channels/inspector/dist/assets/arc-9f1365dc.js +1 -0
- rasa/core/channels/inspector/dist/assets/blockDiagram-38ab4fdb-e0f81b12.js +118 -0
- rasa/core/channels/inspector/dist/assets/c4Diagram-3d4e48cf-9deaee1c.js +10 -0
- rasa/core/channels/inspector/dist/assets/channel-44956714.js +1 -0
- rasa/core/channels/inspector/dist/assets/classDiagram-70f12bd4-20450a96.js +2 -0
- rasa/core/channels/inspector/dist/assets/classDiagram-v2-f2320105-749d2abf.js +2 -0
- rasa/core/channels/inspector/dist/assets/clone-a9475142.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-62fc7601-89c73b31.js → createText-2e5e7dd3-bef0b38c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/edges-e0da2a9e-943801a7.js +4 -0
- rasa/core/channels/inspector/dist/assets/{erDiagram-9d236eb7-907e0440.js → erDiagram-9861fffd-d523a948.js} +4 -4
- rasa/core/channels/inspector/dist/assets/flowDb-956e92f1-54e4cf19.js +10 -0
- rasa/core/channels/inspector/dist/assets/flowDiagram-66a62f08-48bfbbe8.js +4 -0
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-43fa749a.js +1 -0
- rasa/core/channels/inspector/dist/assets/flowchart-elk-definition-4a651766-17c30827.js +139 -0
- rasa/core/channels/inspector/dist/assets/ganttDiagram-c361ad54-43086f2d.js +257 -0
- rasa/core/channels/inspector/dist/assets/gitGraphDiagram-72cf32ee-5c8b693e.js +70 -0
- rasa/core/channels/inspector/dist/assets/graph-41a90d26.js +1 -0
- rasa/core/channels/inspector/dist/assets/index-3862675e-b43eeae9.js +1 -0
- rasa/core/channels/inspector/dist/assets/{index-e793d777.js → index-e8affe45.js} +201 -196
- rasa/core/channels/inspector/dist/assets/{infoDiagram-736b4530-8ceba4db.js → infoDiagram-f8f76790-0b20676b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-df861f2b-960d3809.js → journeyDiagram-49397b02-39bce7b5.js} +4 -4
- rasa/core/channels/inspector/dist/assets/katex-498eb57e.js +261 -0
- rasa/core/channels/inspector/dist/assets/layout-dc8eeea4.js +1 -0
- rasa/core/channels/inspector/dist/assets/{line-eeccc4e2.js → line-c4d2e756.js} +1 -1
- rasa/core/channels/inspector/dist/assets/linear-86f6f2d9.js +1 -0
- rasa/core/channels/inspector/dist/assets/mindmap-definition-fc14e90a-4216f771.js +312 -0
- rasa/core/channels/inspector/dist/assets/{pieDiagram-dbbf0591-dc9b5e1b.js → pieDiagram-8a3498a8-1a0cfa96.js} +7 -7
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-4d7f4fd6-a08cba6d.js → quadrantDiagram-120e2f19-f91e67cf.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-6fc4c22a-87242b9e.js → requirementDiagram-deff3bca-d4046bed.js} +2 -2
- rasa/core/channels/inspector/dist/assets/sankeyDiagram-04a897e0-2cf6d1d7.js +8 -0
- rasa/core/channels/inspector/dist/assets/sequenceDiagram-704730f1-751ac4f5.js +122 -0
- rasa/core/channels/inspector/dist/assets/stateDiagram-587899a1-f734f4d4.js +1 -0
- rasa/core/channels/inspector/dist/assets/stateDiagram-v2-d93cdb3a-91c65710.js +1 -0
- rasa/core/channels/inspector/dist/assets/{styles-9c745c82-cef936a6.js → styles-6aaf32cf-e0cff7be.js} +1 -1
- rasa/core/channels/inspector/dist/assets/styles-9a916d00-c8029e5d.js +160 -0
- rasa/core/channels/inspector/dist/assets/styles-c10674c1-114f312a.js +116 -0
- rasa/core/channels/inspector/dist/assets/svgDrawCommon-08f97a94-b7b9dc00.js +1 -0
- rasa/core/channels/inspector/dist/assets/{timeline-definition-5b62e21b-0d39bdb2.js → timeline-definition-85554ec2-9536d189.js} +3 -3
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-2b33534f-a03fa445.js → xychartDiagram-e933f94c-bf3b0f36.js} +3 -3
- rasa/core/channels/inspector/dist/index.html +1 -1
- rasa/core/channels/inspector/package.json +11 -3
- rasa/core/channels/inspector/src/App.tsx +15 -2
- rasa/core/channels/inspector/src/components/RasaLogo.tsx +31 -0
- rasa/core/channels/inspector/src/components/RecruitmentPanel.tsx +68 -0
- rasa/core/channels/inspector/src/components/Welcome.tsx +19 -13
- rasa/core/channels/inspector/yarn.lock +94 -99
- 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 +8 -28
- rasa/core/channels/studio_chat.py +212 -0
- rasa/core/channels/telegram.py +105 -55
- rasa/core/channels/twilio.py +3 -3
- rasa/core/channels/vier_cvg.py +2 -2
- rasa/core/channels/voice_ready/audiocodes.py +51 -32
- 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 +2 -2
- rasa/core/channels/voice_stream/asr/asr_engine.py +12 -6
- rasa/core/channels/voice_stream/asr/asr_event.py +5 -0
- rasa/core/channels/voice_stream/asr/azure.py +16 -3
- rasa/core/channels/voice_stream/asr/deepgram.py +76 -19
- rasa/core/channels/voice_stream/audiocodes.py +292 -0
- rasa/core/channels/voice_stream/browser_audio.py +14 -7
- rasa/core/channels/voice_stream/call_state.py +6 -2
- rasa/core/channels/voice_stream/genesys.py +320 -0
- rasa/core/channels/voice_stream/tts/azure.py +13 -5
- rasa/core/channels/voice_stream/tts/cartesia.py +34 -14
- 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 +12 -8
- rasa/core/channels/voice_stream/util.py +1 -1
- rasa/core/channels/voice_stream/voice_channel.py +100 -56
- rasa/core/channels/webexteams.py +3 -4
- rasa/core/constants.py +2 -0
- 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 +12 -9
- rasa/core/nlg/__init__.py +1 -1
- rasa/core/nlg/callback.py +2 -3
- rasa/core/nlg/contextual_response_rephraser.py +82 -14
- rasa/core/nlg/generator.py +85 -17
- rasa/core/nlg/interpolator.py +4 -3
- rasa/core/nlg/response.py +9 -7
- rasa/core/nlg/summarize.py +1 -0
- rasa/core/nlg/translate.py +55 -0
- rasa/core/persistor.py +3 -3
- rasa/core/policies/ensemble.py +10 -9
- rasa/core/policies/enterprise_search_policy.py +87 -21
- rasa/core/policies/enterprise_search_prompt_with_citation_template.jinja2 +1 -1
- rasa/core/policies/flow_policy.py +13 -14
- rasa/core/policies/flows/flow_executor.py +85 -55
- 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 +167 -74
- rasa/core/run.py +5 -4
- 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 +138 -49
- 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 +38 -1
- rasa/dialogue_understanding/commands/cancel_flow_command.py +96 -9
- rasa/dialogue_understanding/commands/change_flow_command.py +36 -2
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +36 -4
- rasa/dialogue_understanding/commands/clarify_command.py +46 -4
- rasa/dialogue_understanding/commands/command.py +3 -2
- rasa/dialogue_understanding/commands/command_syntax_manager.py +55 -0
- rasa/dialogue_understanding/commands/correct_slots_command.py +14 -5
- 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/handle_digressions_command.py +144 -0
- rasa/dialogue_understanding/commands/human_handoff_command.py +34 -4
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +36 -4
- rasa/dialogue_understanding/commands/noop_command.py +2 -1
- rasa/dialogue_understanding/commands/prompt_command.py +94 -0
- rasa/dialogue_understanding/commands/repeat_bot_messages_command.py +34 -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 +55 -16
- rasa/dialogue_understanding/commands/skip_question_command.py +34 -4
- rasa/dialogue_understanding/commands/start_flow_command.py +78 -2
- rasa/dialogue_understanding/commands/user_silence_command.py +3 -5
- rasa/dialogue_understanding/commands/utils.py +126 -43
- rasa/dialogue_understanding/constants.py +2 -0
- rasa/dialogue_understanding/generator/__init__.py +2 -0
- rasa/dialogue_understanding/generator/command_generator.py +120 -79
- rasa/dialogue_understanding/generator/command_parser.py +245 -0
- rasa/dialogue_understanding/generator/constants.py +12 -4
- rasa/dialogue_understanding/generator/flow_retrieval.py +7 -7
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +187 -59
- rasa/dialogue_understanding/generator/llm_command_generator.py +6 -3
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +106 -110
- rasa/dialogue_understanding/generator/nlu_command_adapter.py +53 -11
- rasa/dialogue_understanding/generator/prompt_templates/__init__.py +0 -0
- rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +58 -0
- rasa/dialogue_understanding/generator/prompt_templates/command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +57 -0
- rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +574 -0
- rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py +41 -386
- rasa/dialogue_understanding/generator/utils.py +76 -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 +7 -4
- rasa/dialogue_understanding/patterns/completed.py +1 -1
- rasa/dialogue_understanding/patterns/continue_interrupted.py +1 -1
- rasa/dialogue_understanding/patterns/correction.py +17 -3
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +78 -2
- rasa/dialogue_understanding/patterns/handle_digressions.py +81 -0
- 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/patterns/validate_slot.py +65 -0
- rasa/dialogue_understanding/processor/command_processor.py +193 -43
- 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 +56 -10
- rasa/dialogue_understanding/utils.py +164 -0
- rasa/dialogue_understanding_test/README.md +429 -0
- rasa/dialogue_understanding_test/__init__.py +0 -0
- rasa/dialogue_understanding_test/command_comparison.py +60 -0
- rasa/dialogue_understanding_test/command_metric_calculation.py +122 -0
- rasa/dialogue_understanding_test/constants.py +22 -0
- rasa/dialogue_understanding_test/du_test_case.py +448 -0
- rasa/dialogue_understanding_test/du_test_result.py +390 -0
- rasa/dialogue_understanding_test/du_test_runner.py +322 -0
- rasa/dialogue_understanding_test/du_test_schema.yml +161 -0
- rasa/dialogue_understanding_test/io.py +443 -0
- 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 +77 -0
- rasa/e2e_test/aggregate_test_stats_calculator.py +1 -1
- rasa/e2e_test/assertions.py +202 -175
- rasa/e2e_test/assertions_schema.yml +6 -0
- rasa/e2e_test/constants.py +16 -1
- rasa/e2e_test/e2e_config.py +102 -41
- rasa/e2e_test/e2e_config_schema.yml +28 -10
- rasa/e2e_test/e2e_test_case.py +5 -5
- 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 +143 -38
- rasa/e2e_test/llm_judge_prompts/answer_relevance_prompt_template.jinja2 +93 -0
- rasa/e2e_test/llm_judge_prompts/groundedness_prompt_template.jinja2 +169 -0
- rasa/e2e_test/stub_custom_action.py +1 -1
- rasa/e2e_test/utils/generative_assertions.py +243 -0
- rasa/e2e_test/utils/io.py +123 -93
- rasa/e2e_test/utils/validation.py +101 -3
- rasa/engine/caching.py +5 -7
- rasa/engine/constants.py +1 -1
- rasa/engine/graph.py +3 -2
- rasa/engine/language.py +182 -0
- rasa/engine/recipes/config_files/default_config.yml +4 -0
- rasa/engine/recipes/default_components.py +13 -15
- rasa/engine/recipes/default_recipe.py +65 -49
- rasa/engine/recipes/graph_recipe.py +10 -7
- 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 +6 -4
- rasa/engine/storage/resource.py +2 -1
- rasa/engine/storage/storage.py +8 -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 +36 -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 +19 -14
- rasa/jupyter.py +2 -2
- rasa/llm_fine_tuning/annotation_module.py +4 -4
- rasa/llm_fine_tuning/conversations.py +5 -33
- rasa/llm_fine_tuning/llm_data_preparation_module.py +6 -4
- rasa/llm_fine_tuning/paraphrasing/conversation_rephraser.py +4 -4
- rasa/llm_fine_tuning/paraphrasing/rephrase_validator.py +18 -13
- rasa/llm_fine_tuning/paraphrasing_module.py +6 -2
- rasa/llm_fine_tuning/storage.py +3 -3
- rasa/llm_fine_tuning/train_test_split_module.py +27 -27
- rasa/llm_fine_tuning/utils.py +7 -0
- 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 +13 -10
- rasa/model_manager/socket_bridge.py +15 -9
- 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 -9
- rasa/model_service.py +5 -6
- rasa/model_testing.py +13 -15
- rasa/model_training.py +29 -29
- rasa/nlu/classifiers/diet_classifier.py +72 -73
- rasa/nlu/classifiers/fallback_classifier.py +9 -8
- rasa/nlu/classifiers/keyword_intent_classifier.py +7 -6
- rasa/nlu/classifiers/logistic_regression_classifier.py +3 -3
- rasa/nlu/classifiers/mitie_intent_classifier.py +5 -4
- rasa/nlu/classifiers/regex_message_handler.py +3 -2
- rasa/nlu/classifiers/sklearn_intent_classifier.py +2 -2
- rasa/nlu/convert.py +2 -2
- rasa/nlu/emulators/dialogflow.py +3 -3
- rasa/nlu/emulators/luis.py +5 -5
- rasa/nlu/emulators/no_emulator.py +1 -0
- rasa/nlu/emulators/wit.py +4 -4
- rasa/nlu/extractors/crf_entity_extractor.py +11 -11
- rasa/nlu/extractors/duckling_entity_extractor.py +7 -6
- rasa/nlu/extractors/entity_synonyms.py +10 -9
- rasa/nlu/extractors/extractor.py +16 -16
- rasa/nlu/extractors/mitie_entity_extractor.py +10 -9
- rasa/nlu/extractors/regex_entity_extractor.py +11 -10
- rasa/nlu/extractors/spacy_entity_extractor.py +2 -2
- rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +15 -14
- rasa/nlu/featurizers/dense_featurizer/dense_featurizer.py +2 -1
- rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +10 -9
- rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +9 -7
- rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +13 -12
- rasa/nlu/featurizers/featurizer.py +5 -4
- rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +6 -6
- rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -4
- rasa/nlu/featurizers/sparse_featurizer/regex_featurizer.py +4 -4
- rasa/nlu/featurizers/sparse_featurizer/sparse_featurizer.py +2 -0
- rasa/nlu/model.py +0 -1
- rasa/nlu/selectors/response_selector.py +67 -68
- rasa/nlu/test.py +38 -38
- rasa/nlu/tokenizers/jieba_tokenizer.py +1 -2
- rasa/nlu/tokenizers/mitie_tokenizer.py +2 -2
- rasa/nlu/tokenizers/spacy_tokenizer.py +3 -3
- rasa/nlu/tokenizers/tokenizer.py +6 -7
- rasa/nlu/tokenizers/whitespace_tokenizer.py +1 -1
- rasa/nlu/utils/bilou_utils.py +7 -7
- rasa/nlu/utils/hugging_face/registry.py +22 -22
- rasa/nlu/utils/hugging_face/transformers_pre_post_processors.py +2 -1
- rasa/nlu/utils/mitie_utils.py +2 -1
- rasa/nlu/utils/pattern_utils.py +1 -1
- rasa/nlu/utils/spacy_utils.py +3 -3
- rasa/plugin.py +12 -1
- rasa/server.py +6 -3
- rasa/shared/constants.py +45 -18
- rasa/shared/core/command_payload_reader.py +15 -7
- rasa/shared/core/constants.py +34 -4
- rasa/shared/core/conversation.py +1 -2
- rasa/shared/core/domain.py +19 -20
- rasa/shared/core/events.py +60 -39
- rasa/shared/core/flows/__init__.py +0 -1
- rasa/shared/core/flows/constants.py +11 -0
- rasa/shared/core/flows/flow.py +107 -26
- rasa/shared/core/flows/flow_step.py +4 -3
- rasa/shared/core/flows/flow_step_links.py +1 -2
- rasa/shared/core/flows/flow_step_sequence.py +1 -1
- rasa/shared/core/flows/flows_list.py +3 -3
- rasa/shared/core/flows/flows_yaml_schema.json +69 -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 +1 -1
- rasa/shared/core/flows/steps/call.py +1 -1
- rasa/shared/core/flows/steps/collect.py +22 -40
- rasa/shared/core/flows/steps/internal.py +1 -1
- rasa/shared/core/flows/steps/link.py +1 -1
- rasa/shared/core/flows/steps/no_operation.py +2 -2
- rasa/shared/core/flows/steps/set_slots.py +1 -1
- rasa/shared/core/flows/utils.py +44 -4
- rasa/shared/core/flows/validation.py +4 -6
- rasa/shared/core/generator.py +20 -21
- rasa/shared/core/slot_mappings.py +360 -121
- rasa/shared/core/slots.py +163 -6
- rasa/shared/core/trackers.py +108 -33
- 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/importer.py +58 -2
- rasa/shared/importers/rasa.py +5 -6
- rasa/shared/importers/utils.py +1 -1
- rasa/shared/nlu/constants.py +9 -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 +19 -11
- 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_entra_id_config.py +541 -0
- rasa/shared/providers/_configs/azure_openai_client_config.py +150 -15
- rasa/shared/providers/_configs/client_config.py +3 -1
- rasa/shared/providers/_configs/default_litellm_client_config.py +9 -7
- rasa/shared/providers/_configs/huggingface_local_embedding_client_config.py +13 -11
- rasa/shared/providers/_configs/litellm_router_client_config.py +12 -10
- rasa/shared/providers/_configs/model_group_config.py +8 -5
- rasa/shared/providers/_configs/oauth_config.py +33 -0
- rasa/shared/providers/_configs/openai_client_config.py +14 -12
- rasa/shared/providers/_configs/rasa_llm_client_config.py +5 -3
- rasa/shared/providers/_configs/self_hosted_llm_client_config.py +12 -11
- 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/constants.py +6 -0
- rasa/shared/providers/embedding/_base_litellm_embedding_client.py +1 -1
- rasa/shared/providers/embedding/azure_openai_embedding_client.py +32 -7
- rasa/shared/providers/embedding/embedding_client.py +1 -1
- rasa/shared/providers/embedding/litellm_router_embedding_client.py +5 -2
- rasa/shared/providers/llm/_base_litellm_client.py +43 -18
- rasa/shared/providers/llm/azure_openai_llm_client.py +90 -34
- rasa/shared/providers/llm/default_litellm_llm_client.py +4 -2
- rasa/shared/providers/llm/litellm_router_llm_client.py +32 -9
- rasa/shared/providers/llm/llm_client.py +24 -8
- rasa/shared/providers/llm/llm_response.py +61 -2
- rasa/shared/providers/llm/openai_llm_client.py +11 -5
- rasa/shared/providers/llm/rasa_llm_client.py +17 -14
- rasa/shared/providers/llm/self_hosted_llm_client.py +35 -15
- rasa/shared/providers/mappings.py +18 -19
- rasa/shared/providers/router/_base_litellm_router_client.py +48 -15
- rasa/shared/providers/router/router_client.py +3 -1
- rasa/shared/utils/cli.py +1 -1
- rasa/shared/utils/common.py +15 -1
- rasa/shared/utils/constants.py +3 -0
- 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 +100 -18
- rasa/shared/utils/pykwalify_extensions.py +25 -1
- rasa/shared/utils/schemas/domain.yml +26 -1
- rasa/shared/utils/schemas/events.py +1 -1
- rasa/shared/utils/yaml.py +24 -20
- 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 +21 -5
- rasa/telemetry.py +127 -48
- rasa/tracing/config.py +5 -3
- rasa/tracing/constants.py +12 -0
- rasa/tracing/instrumentation/attribute_extractors.py +92 -14
- rasa/tracing/instrumentation/instrumentation.py +61 -5
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +1 -1
- rasa/tracing/instrumentation/metrics.py +52 -11
- rasa/tracing/metric_instrument_provider.py +54 -14
- rasa/utils/common.py +12 -24
- 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 +594 -115
- rasa/version.py +1 -1
- {rasa_pro-3.11.4.dist-info → rasa_pro-3.12.0.dist-info}/METADATA +23 -26
- rasa_pro-3.12.0.dist-info/RECORD +829 -0
- rasa/core/channels/inspector/dist/assets/arc-632a63ec.js +0 -1
- rasa/core/channels/inspector/dist/assets/c4Diagram-d0fbc5ce-081e0df4.js +0 -10
- rasa/core/channels/inspector/dist/assets/classDiagram-936ed81e-3df0afc2.js +0 -2
- rasa/core/channels/inspector/dist/assets/classDiagram-v2-c3cb15f1-8c5ed31e.js +0 -2
- rasa/core/channels/inspector/dist/assets/edges-f2ad444c-4fc48c3e.js +0 -4
- rasa/core/channels/inspector/dist/assets/flowDb-1972c806-9ec53a3c.js +0 -6
- rasa/core/channels/inspector/dist/assets/flowDiagram-7ea5b25a-41da787a.js +0 -4
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-855bc5b3-8bea338b.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowchart-elk-definition-abe16c3d-ce370633.js +0 -139
- rasa/core/channels/inspector/dist/assets/ganttDiagram-9b5ea136-90a36523.js +0 -266
- rasa/core/channels/inspector/dist/assets/gitGraphDiagram-99d0ae7c-41e1aa3f.js +0 -70
- rasa/core/channels/inspector/dist/assets/index-2c4b9a3b-e6f2af62.js +0 -1
- rasa/core/channels/inspector/dist/assets/layout-498807d8.js +0 -1
- rasa/core/channels/inspector/dist/assets/linear-8a078617.js +0 -1
- rasa/core/channels/inspector/dist/assets/mindmap-definition-beec6740-396d17dd.js +0 -109
- rasa/core/channels/inspector/dist/assets/sankeyDiagram-8f13d901-53f6f391.js +0 -8
- rasa/core/channels/inspector/dist/assets/sequenceDiagram-b655622a-715c9c20.js +0 -122
- rasa/core/channels/inspector/dist/assets/stateDiagram-59f0c015-2e8fb31f.js +0 -1
- rasa/core/channels/inspector/dist/assets/stateDiagram-v2-2b26beab-7e2d2aa0.js +0 -1
- rasa/core/channels/inspector/dist/assets/styles-080da4f6-4420cea6.js +0 -110
- rasa/core/channels/inspector/dist/assets/styles-3dcbcfbf-28676cf4.js +0 -159
- rasa/core/channels/inspector/dist/assets/svgDrawCommon-4835440b-151251e9.js +0 -1
- rasa_pro-3.11.4.dist-info/RECORD +0 -779
- /rasa/dialogue_understanding/generator/{single_step → prompt_templates}/command_prompt_template.jinja2 +0 -0
- {rasa_pro-3.11.4.dist-info → rasa_pro-3.12.0.dist-info}/NOTICE +0 -0
- {rasa_pro-3.11.4.dist-info → rasa_pro-3.12.0.dist-info}/WHEEL +0 -0
- {rasa_pro-3.11.4.dist-info → rasa_pro-3.12.0.dist-info}/entry_points.txt +0 -0
rasa/nlu/test.py
CHANGED
|
@@ -1,69 +1,68 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import itertools
|
|
3
|
-
import os
|
|
4
3
|
import logging
|
|
5
|
-
import
|
|
6
|
-
from pathlib import Path
|
|
7
|
-
|
|
8
|
-
import numpy as np
|
|
4
|
+
import os
|
|
9
5
|
from collections import defaultdict, namedtuple
|
|
10
|
-
from
|
|
6
|
+
from pathlib import Path
|
|
11
7
|
from typing import (
|
|
8
|
+
TYPE_CHECKING,
|
|
9
|
+
Any,
|
|
10
|
+
Dict,
|
|
12
11
|
Iterable,
|
|
13
12
|
Iterator,
|
|
14
|
-
Tuple,
|
|
15
13
|
List,
|
|
16
|
-
|
|
14
|
+
NamedTuple,
|
|
17
15
|
Optional,
|
|
16
|
+
Set,
|
|
18
17
|
Text,
|
|
18
|
+
Tuple,
|
|
19
19
|
Union,
|
|
20
|
-
Dict,
|
|
21
|
-
Any,
|
|
22
|
-
NamedTuple,
|
|
23
|
-
TYPE_CHECKING,
|
|
24
20
|
)
|
|
25
21
|
|
|
22
|
+
import numpy as np
|
|
23
|
+
import structlog
|
|
24
|
+
from tqdm import tqdm
|
|
25
|
+
|
|
26
|
+
import rasa.nlu.classifiers.fallback_classifier
|
|
27
|
+
import rasa.shared.utils.io
|
|
28
|
+
import rasa.utils.io as io_utils
|
|
29
|
+
import rasa.utils.plotting as plot_utils
|
|
26
30
|
from rasa import telemetry
|
|
31
|
+
from rasa.constants import NLG_DATA_FILE, TEST_DATA_FILE, TRAIN_DATA_FILE
|
|
27
32
|
from rasa.core.agent import Agent
|
|
28
33
|
from rasa.core.channels import UserMessage
|
|
29
34
|
from rasa.core.processor import MessageProcessor
|
|
30
|
-
from rasa.
|
|
31
|
-
from rasa.shared.utils.yaml import write_yaml
|
|
32
|
-
from rasa.utils.common import TempDirectoryPath, get_temp_dir_name
|
|
33
|
-
import rasa.shared.utils.io
|
|
34
|
-
import rasa.utils.plotting as plot_utils
|
|
35
|
-
import rasa.utils.io as io_utils
|
|
36
|
-
|
|
37
|
-
from rasa.constants import TEST_DATA_FILE, TRAIN_DATA_FILE, NLG_DATA_FILE
|
|
38
|
-
import rasa.nlu.classifiers.fallback_classifier
|
|
35
|
+
from rasa.nlu.classifiers import fallback_classifier
|
|
39
36
|
from rasa.nlu.constants import (
|
|
37
|
+
ENTITY_ATTRIBUTE_CONFIDENCE_GROUP,
|
|
38
|
+
ENTITY_ATTRIBUTE_CONFIDENCE_ROLE,
|
|
39
|
+
ENTITY_ATTRIBUTE_CONFIDENCE_TYPE,
|
|
40
40
|
RESPONSE_SELECTOR_DEFAULT_INTENT,
|
|
41
|
-
RESPONSE_SELECTOR_PROPERTY_NAME,
|
|
42
41
|
RESPONSE_SELECTOR_PREDICTION_KEY,
|
|
43
|
-
|
|
44
|
-
ENTITY_ATTRIBUTE_CONFIDENCE_TYPE,
|
|
45
|
-
ENTITY_ATTRIBUTE_CONFIDENCE_ROLE,
|
|
46
|
-
ENTITY_ATTRIBUTE_CONFIDENCE_GROUP,
|
|
42
|
+
RESPONSE_SELECTOR_PROPERTY_NAME,
|
|
47
43
|
RESPONSE_SELECTOR_RETRIEVAL_INTENTS,
|
|
44
|
+
TOKENS_NAMES,
|
|
48
45
|
)
|
|
46
|
+
from rasa.nlu.tokenizers.tokenizer import Token
|
|
47
|
+
from rasa.shared.importers.importer import TrainingDataImporter
|
|
49
48
|
from rasa.shared.nlu.constants import (
|
|
50
|
-
TEXT,
|
|
51
|
-
INTENT,
|
|
52
|
-
INTENT_RESPONSE_KEY,
|
|
53
49
|
ENTITIES,
|
|
54
|
-
EXTRACTOR,
|
|
55
|
-
PRETRAINED_EXTRACTORS,
|
|
56
|
-
ENTITY_ATTRIBUTE_TYPE,
|
|
57
50
|
ENTITY_ATTRIBUTE_GROUP,
|
|
58
51
|
ENTITY_ATTRIBUTE_ROLE,
|
|
59
|
-
|
|
52
|
+
ENTITY_ATTRIBUTE_TYPE,
|
|
53
|
+
EXTRACTOR,
|
|
54
|
+
INTENT,
|
|
60
55
|
INTENT_NAME_KEY,
|
|
56
|
+
INTENT_RESPONSE_KEY,
|
|
57
|
+
NO_ENTITY_TAG,
|
|
61
58
|
PREDICTED_CONFIDENCE_KEY,
|
|
59
|
+
PRETRAINED_EXTRACTORS,
|
|
60
|
+
TEXT,
|
|
62
61
|
)
|
|
63
|
-
from rasa.nlu.classifiers import fallback_classifier
|
|
64
|
-
from rasa.nlu.tokenizers.tokenizer import Token
|
|
65
|
-
from rasa.shared.importers.importer import TrainingDataImporter
|
|
66
62
|
from rasa.shared.nlu.training_data.formats.rasa_yaml import RasaYAMLWriter
|
|
63
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
64
|
+
from rasa.shared.utils.yaml import write_yaml
|
|
65
|
+
from rasa.utils.common import TempDirectoryPath, get_temp_dir_name
|
|
67
66
|
|
|
68
67
|
if TYPE_CHECKING:
|
|
69
68
|
from typing_extensions import TypedDict
|
|
@@ -660,10 +659,11 @@ def _calculate_report(
|
|
|
660
659
|
report_as_dict: Optional[bool] = None,
|
|
661
660
|
exclude_label: Optional[Text] = None,
|
|
662
661
|
) -> Tuple[Union[Text, Dict], float, float, float, np.ndarray, List[Text]]:
|
|
663
|
-
from rasa.model_testing import get_evaluation_metrics
|
|
664
662
|
import sklearn.metrics
|
|
665
663
|
import sklearn.utils.multiclass
|
|
666
664
|
|
|
665
|
+
from rasa.model_testing import get_evaluation_metrics
|
|
666
|
+
|
|
667
667
|
confusion_matrix = sklearn.metrics.confusion_matrix(targets, predictions)
|
|
668
668
|
labels = sklearn.utils.multiclass.unique_labels(targets, predictions)
|
|
669
669
|
|
|
@@ -1104,8 +1104,8 @@ def do_any_extractors_not_support_overlap(extractors: Optional[Set[Text]]) -> bo
|
|
|
1104
1104
|
if extractors is None:
|
|
1105
1105
|
return False
|
|
1106
1106
|
|
|
1107
|
-
from rasa.nlu.extractors.crf_entity_extractor import CRFEntityExtractor
|
|
1108
1107
|
from rasa.nlu.classifiers.diet_classifier import DIETClassifier
|
|
1108
|
+
from rasa.nlu.extractors.crf_entity_extractor import CRFEntityExtractor
|
|
1109
1109
|
|
|
1110
1110
|
return not extractors.isdisjoint(
|
|
1111
1111
|
{CRFEntityExtractor.__name__, DIETClassifier.__name__}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import glob
|
|
3
4
|
import logging
|
|
4
5
|
import os
|
|
@@ -9,10 +10,8 @@ from rasa.engine.graph import ExecutionContext
|
|
|
9
10
|
from rasa.engine.recipes.default_recipe import DefaultV1Recipe
|
|
10
11
|
from rasa.engine.storage.resource import Resource
|
|
11
12
|
from rasa.engine.storage.storage import ModelStorage
|
|
12
|
-
|
|
13
13
|
from rasa.nlu.tokenizers.tokenizer import Token, Tokenizer
|
|
14
14
|
from rasa.shared.nlu.training_data.message import Message
|
|
15
|
-
|
|
16
15
|
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
17
16
|
|
|
18
17
|
logger = logging.getLogger(__name__)
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
from typing import Any, Dict, List, Text
|
|
3
4
|
|
|
4
5
|
from rasa.engine.graph import ExecutionContext
|
|
5
6
|
from rasa.engine.recipes.default_recipe import DefaultV1Recipe
|
|
@@ -7,7 +8,6 @@ from rasa.engine.storage.resource import Resource
|
|
|
7
8
|
from rasa.engine.storage.storage import ModelStorage
|
|
8
9
|
from rasa.nlu.tokenizers.tokenizer import Token, Tokenizer
|
|
9
10
|
from rasa.shared.nlu.training_data.message import Message
|
|
10
|
-
|
|
11
11
|
from rasa.shared.utils.io import DEFAULT_ENCODING
|
|
12
12
|
|
|
13
13
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import typing
|
|
2
|
-
from typing import
|
|
2
|
+
from typing import Any, Dict, List, Optional, Text, Type
|
|
3
3
|
|
|
4
4
|
from rasa.engine.recipes.default_recipe import DefaultV1Recipe
|
|
5
|
-
from rasa.nlu.utils.spacy_utils import SpacyNLP
|
|
6
|
-
from rasa.nlu.tokenizers.tokenizer import Token, Tokenizer
|
|
7
5
|
from rasa.nlu.constants import SPACY_DOCS
|
|
6
|
+
from rasa.nlu.tokenizers.tokenizer import Token, Tokenizer
|
|
7
|
+
from rasa.nlu.utils.spacy_utils import SpacyNLP
|
|
8
8
|
from rasa.shared.nlu.training_data.message import Message
|
|
9
9
|
|
|
10
10
|
if typing.TYPE_CHECKING:
|
rasa/nlu/tokenizers/tokenizer.py
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
import abc
|
|
2
2
|
import logging
|
|
3
3
|
import re
|
|
4
|
+
from typing import Any, Dict, List, Optional, Text
|
|
4
5
|
|
|
5
|
-
|
|
6
|
-
|
|
6
|
+
import rasa.shared.utils.io
|
|
7
7
|
from rasa.engine.graph import ExecutionContext, GraphComponent
|
|
8
8
|
from rasa.engine.storage.resource import Resource
|
|
9
9
|
from rasa.engine.storage.storage import ModelStorage
|
|
10
|
-
from rasa.
|
|
11
|
-
from rasa.shared.nlu.training_data.message import Message
|
|
12
|
-
from rasa.nlu.constants import TOKENS_NAMES, MESSAGE_ATTRIBUTES
|
|
10
|
+
from rasa.nlu.constants import MESSAGE_ATTRIBUTES, TOKENS_NAMES
|
|
13
11
|
from rasa.shared.nlu.constants import (
|
|
12
|
+
ACTION_NAME,
|
|
14
13
|
INTENT,
|
|
15
14
|
INTENT_RESPONSE_KEY,
|
|
16
15
|
RESPONSE_IDENTIFIER_DELIMITER,
|
|
17
|
-
ACTION_NAME,
|
|
18
16
|
)
|
|
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
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
from typing import Any, Dict, List, Optional, Text
|
|
3
4
|
|
|
4
5
|
import regex
|
|
5
6
|
|
|
6
7
|
import rasa.shared.utils.io
|
|
7
8
|
import rasa.utils.io
|
|
8
|
-
|
|
9
9
|
from rasa.engine.graph import ExecutionContext
|
|
10
10
|
from rasa.engine.recipes.default_recipe import DefaultV1Recipe
|
|
11
11
|
from rasa.engine.storage.resource import Resource
|
rasa/nlu/utils/bilou_utils.py
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import operator
|
|
3
|
-
from collections import
|
|
4
|
-
from typing import
|
|
3
|
+
from collections import Counter, defaultdict
|
|
4
|
+
from typing import TYPE_CHECKING, Any, Dict, List, Optional, Text, Tuple
|
|
5
5
|
|
|
6
6
|
from rasa.nlu.constants import (
|
|
7
|
-
TOKENS_NAMES,
|
|
8
7
|
BILOU_ENTITIES,
|
|
9
8
|
BILOU_ENTITIES_GROUP,
|
|
10
9
|
BILOU_ENTITIES_ROLE,
|
|
10
|
+
TOKENS_NAMES,
|
|
11
11
|
)
|
|
12
12
|
from rasa.shared.nlu.constants import (
|
|
13
|
-
TEXT,
|
|
14
13
|
ENTITIES,
|
|
15
|
-
ENTITY_ATTRIBUTE_START,
|
|
16
14
|
ENTITY_ATTRIBUTE_END,
|
|
17
|
-
ENTITY_ATTRIBUTE_TYPE,
|
|
18
15
|
ENTITY_ATTRIBUTE_GROUP,
|
|
19
16
|
ENTITY_ATTRIBUTE_ROLE,
|
|
17
|
+
ENTITY_ATTRIBUTE_START,
|
|
18
|
+
ENTITY_ATTRIBUTE_TYPE,
|
|
20
19
|
NO_ENTITY_TAG,
|
|
20
|
+
TEXT,
|
|
21
21
|
)
|
|
22
22
|
|
|
23
23
|
if TYPE_CHECKING:
|
|
24
24
|
from rasa.nlu.tokenizers.tokenizer import Token
|
|
25
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
26
25
|
from rasa.shared.nlu.training_data.message import Message
|
|
26
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
27
27
|
|
|
28
28
|
logger = logging.getLogger(__name__)
|
|
29
29
|
|
|
@@ -6,42 +6,42 @@ from typing import Dict, Text, Type
|
|
|
6
6
|
logging.getLogger("transformers.file_utils").setLevel(logging.WARNING)
|
|
7
7
|
|
|
8
8
|
from transformers import ( # noqa: E402
|
|
9
|
-
|
|
9
|
+
BertTokenizer,
|
|
10
|
+
CamembertTokenizer,
|
|
11
|
+
# XLMTokenizer,
|
|
12
|
+
DistilBertTokenizer,
|
|
13
|
+
GPT2Tokenizer,
|
|
14
|
+
OpenAIGPTTokenizer,
|
|
15
|
+
PreTrainedTokenizer,
|
|
16
|
+
RobertaTokenizer,
|
|
10
17
|
TFBertModel,
|
|
11
|
-
|
|
12
|
-
TFGPT2Model,
|
|
13
|
-
TFXLNetModel,
|
|
18
|
+
TFCamembertModel,
|
|
14
19
|
# TFXLMModel,
|
|
15
20
|
TFDistilBertModel,
|
|
21
|
+
TFGPT2Model,
|
|
22
|
+
TFOpenAIGPTModel,
|
|
23
|
+
TFPreTrainedModel,
|
|
16
24
|
TFRobertaModel,
|
|
17
|
-
|
|
18
|
-
PreTrainedTokenizer,
|
|
19
|
-
BertTokenizer,
|
|
20
|
-
OpenAIGPTTokenizer,
|
|
21
|
-
GPT2Tokenizer,
|
|
25
|
+
TFXLNetModel,
|
|
22
26
|
XLNetTokenizer,
|
|
23
|
-
# XLMTokenizer,
|
|
24
|
-
DistilBertTokenizer,
|
|
25
|
-
RobertaTokenizer,
|
|
26
|
-
CamembertTokenizer,
|
|
27
27
|
)
|
|
28
|
+
|
|
28
29
|
from rasa.nlu.utils.hugging_face.transformers_pre_post_processors import ( # noqa: E402
|
|
30
|
+
bert_embeddings_post_processor,
|
|
31
|
+
bert_tokens_cleaner,
|
|
29
32
|
bert_tokens_pre_processor,
|
|
33
|
+
camembert_tokens_pre_processor,
|
|
34
|
+
gpt2_tokens_cleaner,
|
|
35
|
+
gpt_embeddings_post_processor,
|
|
30
36
|
gpt_tokens_pre_processor,
|
|
31
|
-
|
|
37
|
+
openaigpt_tokens_cleaner,
|
|
38
|
+
roberta_embeddings_post_processor,
|
|
32
39
|
roberta_tokens_pre_processor,
|
|
33
|
-
bert_embeddings_post_processor,
|
|
34
|
-
gpt_embeddings_post_processor,
|
|
35
40
|
xlnet_embeddings_post_processor,
|
|
36
|
-
roberta_embeddings_post_processor,
|
|
37
|
-
bert_tokens_cleaner,
|
|
38
|
-
openaigpt_tokens_cleaner,
|
|
39
|
-
gpt2_tokens_cleaner,
|
|
40
41
|
xlnet_tokens_cleaner,
|
|
41
|
-
|
|
42
|
+
xlnet_tokens_pre_processor,
|
|
42
43
|
)
|
|
43
44
|
|
|
44
|
-
|
|
45
45
|
model_class_dict: Dict[Text, Type[TFPreTrainedModel]] = {
|
|
46
46
|
"bert": TFBertModel,
|
|
47
47
|
"gpt": TFOpenAIGPTModel,
|
rasa/nlu/utils/mitie_utils.py
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
|
+
|
|
2
3
|
import typing
|
|
3
4
|
from pathlib import Path
|
|
4
5
|
from typing import Any, Dict, List, Optional, Text
|
|
5
6
|
|
|
6
|
-
from rasa.engine.graph import
|
|
7
|
+
from rasa.engine.graph import ExecutionContext, GraphComponent
|
|
7
8
|
from rasa.engine.recipes.default_recipe import DefaultV1Recipe
|
|
8
9
|
from rasa.engine.storage.resource import Resource
|
|
9
10
|
from rasa.engine.storage.storage import ModelStorage
|
rasa/nlu/utils/pattern_utils.py
CHANGED
|
@@ -2,8 +2,8 @@ import re
|
|
|
2
2
|
from typing import Dict, List, Text, Union
|
|
3
3
|
|
|
4
4
|
import rasa.shared.utils.io
|
|
5
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
6
5
|
from rasa.shared.exceptions import InvalidConfigException
|
|
6
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
def _convert_lookup_tables_to_regex(
|
rasa/nlu/utils/spacy_utils.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import dataclasses
|
|
4
|
-
import typing
|
|
5
4
|
import logging
|
|
5
|
+
import typing
|
|
6
6
|
from typing import Any, Dict, List, Optional, Text, Tuple
|
|
7
7
|
|
|
8
8
|
from rasa.engine.graph import ExecutionContext, GraphComponent
|
|
@@ -10,10 +10,10 @@ from rasa.engine.recipes.default_recipe import DefaultV1Recipe
|
|
|
10
10
|
from rasa.engine.storage.resource import Resource
|
|
11
11
|
from rasa.engine.storage.storage import ModelStorage
|
|
12
12
|
from rasa.nlu.constants import DENSE_FEATURIZABLE_ATTRIBUTES, SPACY_DOCS
|
|
13
|
-
from rasa.shared.nlu.training_data.message import Message
|
|
14
|
-
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
15
13
|
from rasa.nlu.model import InvalidModelError
|
|
16
14
|
from rasa.shared.constants import DOCS_URL_COMPONENTS
|
|
15
|
+
from rasa.shared.nlu.training_data.message import Message
|
|
16
|
+
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
17
17
|
|
|
18
18
|
logger = logging.getLogger(__name__)
|
|
19
19
|
|
rasa/plugin.py
CHANGED
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import argparse
|
|
4
4
|
import functools
|
|
5
5
|
import sys
|
|
6
|
-
from typing import Any, List, Optional,
|
|
6
|
+
from typing import TYPE_CHECKING, Any, List, Optional, Text, Union
|
|
7
7
|
|
|
8
8
|
import pluggy
|
|
9
9
|
|
|
@@ -13,6 +13,7 @@ if TYPE_CHECKING:
|
|
|
13
13
|
from rasa.core.brokers.broker import EventBroker
|
|
14
14
|
from rasa.core.tracker_store import TrackerStore
|
|
15
15
|
from rasa.shared.core.domain import Domain
|
|
16
|
+
from rasa.shared.core.trackers import DialogueStateTracker
|
|
16
17
|
from rasa.utils.endpoints import EndpointConfig
|
|
17
18
|
|
|
18
19
|
|
|
@@ -88,3 +89,13 @@ def after_server_stop() -> None:
|
|
|
88
89
|
Use this hook to de-initialize any resources that require explicit cleanup like,
|
|
89
90
|
thread shutdown, closing connections, etc.
|
|
90
91
|
"""
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
@hookspec # type: ignore[misc]
|
|
95
|
+
def after_new_user_message(tracker: "DialogueStateTracker") -> None:
|
|
96
|
+
"""Hook specification for after a new user message is received."""
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
@hookspec # type: ignore[misc]
|
|
100
|
+
def after_action_executed(tracker: "DialogueStateTracker") -> None:
|
|
101
|
+
"""Hook specification for after an action is executed."""
|
rasa/server.py
CHANGED
|
@@ -60,9 +60,9 @@ from rasa.shared.constants import (
|
|
|
60
60
|
DEFAULT_MODELS_PATH,
|
|
61
61
|
DEFAULT_SENDER_ID,
|
|
62
62
|
DOCS_BASE_URL,
|
|
63
|
+
DOCS_URL_FLOWS,
|
|
63
64
|
DOCS_URL_TRAINING_DATA,
|
|
64
65
|
TEST_STORIES_FILE_PREFIX,
|
|
65
|
-
DOCS_URL_FLOWS,
|
|
66
66
|
)
|
|
67
67
|
from rasa.shared.core.domain import Domain, InvalidDomain
|
|
68
68
|
from rasa.shared.core.events import Event
|
|
@@ -74,7 +74,7 @@ from rasa.shared.core.trackers import (
|
|
|
74
74
|
from rasa.shared.core.training_data.story_writer.yaml_story_writer import (
|
|
75
75
|
YAMLStoryWriter,
|
|
76
76
|
)
|
|
77
|
-
from rasa.shared.exceptions import
|
|
77
|
+
from rasa.shared.exceptions import RasaException, YamlException
|
|
78
78
|
from rasa.shared.importers.importer import TrainingDataImporter
|
|
79
79
|
from rasa.shared.nlu.training_data.formats import RasaYAMLReader
|
|
80
80
|
from rasa.shared.utils.schemas.events import EVENTS_SCHEMA
|
|
@@ -272,7 +272,9 @@ def requires_auth(
|
|
|
272
272
|
raise ErrorResponse(
|
|
273
273
|
HTTPStatus.UNAUTHORIZED,
|
|
274
274
|
"NotAuthenticated",
|
|
275
|
-
"User is not authenticated.",
|
|
275
|
+
"User is not authenticated. ",
|
|
276
|
+
"Please make sure the use of token is supported and that "
|
|
277
|
+
"the supplied token is valid.",
|
|
276
278
|
help_url=_docs(
|
|
277
279
|
"/user-guide/configuring-http-api/#security-considerations"
|
|
278
280
|
),
|
|
@@ -1145,6 +1147,7 @@ def create_app(
|
|
|
1145
1147
|
f"An unexpected error occurred during training. Error: {e}",
|
|
1146
1148
|
)
|
|
1147
1149
|
finally:
|
|
1150
|
+
rasa.shared.utils.common.display_research_study_prompt()
|
|
1148
1151
|
with app.ctx.active_training_processes.get_lock():
|
|
1149
1152
|
app.ctx.active_training_processes.value -= 1
|
|
1150
1153
|
|
rasa/shared/constants.py
CHANGED
|
@@ -83,6 +83,7 @@ ENV_LOG_LEVEL_LLM = "LOG_LEVEL_LLM"
|
|
|
83
83
|
ENV_LOG_LEVEL_LLM_MODULE_NAMES = {
|
|
84
84
|
"LLMCommandGenerator": "LOG_LEVEL_LLM_COMMAND_GENERATOR",
|
|
85
85
|
"SingleStepLLMCommandGenerator": "LOG_LEVEL_LLM_COMMAND_GENERATOR",
|
|
86
|
+
"CompactLLMCommandGenerator": "LOG_LEVEL_LLM_COMMAND_GENERATOR",
|
|
86
87
|
"MultiStepLLMCommandGenerator": "LOG_LEVEL_LLM_COMMAND_GENERATOR",
|
|
87
88
|
"EnterpriseSearchPolicy": "LOG_LEVEL_LLM_ENTERPRISE_SEARCH",
|
|
88
89
|
"IntentlessPolicy": "LOG_LEVEL_LLM_INTENTLESS_POLICY",
|
|
@@ -102,16 +103,29 @@ ASSISTANT_ID_KEY = "assistant_id"
|
|
|
102
103
|
ASSISTANT_ID_DEFAULT_VALUE = "placeholder_default"
|
|
103
104
|
|
|
104
105
|
CONFIG_MANDATORY_COMMON_KEYS = [ASSISTANT_ID_KEY]
|
|
105
|
-
|
|
106
|
-
|
|
106
|
+
CONFIG_NAME_KEY = "name"
|
|
107
|
+
CONFIG_POLICIES_KEY = "policies"
|
|
108
|
+
CONFIG_PIPELINE_KEY = "pipeline"
|
|
109
|
+
CONFIG_LANGUAGE_KEY = "language"
|
|
110
|
+
CONFIG_ADDITIONAL_LANGUAGES_KEY = "additional_languages"
|
|
111
|
+
CONFIG_RECIPE_KEY = "recipe"
|
|
112
|
+
CONFIG_LLM_KEY = "llm"
|
|
113
|
+
CONFIG_MODEL_NAME_KEY = "model_name"
|
|
114
|
+
CONFIG_TRAIN_SCHEMA = "train_schema"
|
|
115
|
+
CONFIG_PREDICT_SCHEMA = "predict_schema"
|
|
116
|
+
CONFIG_AUTOCONFIGURABLE_KEYS_CORE = [CONFIG_POLICIES_KEY]
|
|
117
|
+
CONFIG_AUTOCONFIGURABLE_KEYS_NLU = [CONFIG_PIPELINE_KEY]
|
|
107
118
|
CONFIG_AUTOCONFIGURABLE_KEYS = (
|
|
108
119
|
CONFIG_AUTOCONFIGURABLE_KEYS_CORE + CONFIG_AUTOCONFIGURABLE_KEYS_NLU
|
|
109
120
|
)
|
|
110
|
-
CONFIG_KEYS_CORE = [
|
|
111
|
-
CONFIG_KEYS_NLU = [
|
|
121
|
+
CONFIG_KEYS_CORE = [CONFIG_POLICIES_KEY] + CONFIG_MANDATORY_COMMON_KEYS
|
|
122
|
+
CONFIG_KEYS_NLU = [
|
|
123
|
+
CONFIG_LANGUAGE_KEY,
|
|
124
|
+
CONFIG_PIPELINE_KEY,
|
|
125
|
+
] + CONFIG_MANDATORY_COMMON_KEYS
|
|
112
126
|
CONFIG_KEYS = CONFIG_KEYS_CORE + CONFIG_KEYS_NLU
|
|
113
127
|
CONFIG_MANDATORY_KEYS_CORE: List[Text] = [] + CONFIG_MANDATORY_COMMON_KEYS
|
|
114
|
-
CONFIG_MANDATORY_KEYS_NLU = [
|
|
128
|
+
CONFIG_MANDATORY_KEYS_NLU = [CONFIG_LANGUAGE_KEY] + CONFIG_MANDATORY_COMMON_KEYS
|
|
115
129
|
CONFIG_MANDATORY_KEYS = CONFIG_MANDATORY_KEYS_CORE + CONFIG_MANDATORY_KEYS_NLU
|
|
116
130
|
|
|
117
131
|
# Keys related to Forms (in the Domain)
|
|
@@ -138,6 +152,8 @@ DEFAULT_MARKERS_CONFIG_PATH = "markers/config"
|
|
|
138
152
|
DEFAULT_MARKERS_OUTPUT_PATH = "markers/output"
|
|
139
153
|
DEFAULT_MARKERS_STATS_PATH = "markers/stats"
|
|
140
154
|
|
|
155
|
+
DEFAULT_PROMPT_PACKAGE_NAME = "rasa.dialogue_understanding.generator.prompt_templates"
|
|
156
|
+
|
|
141
157
|
DIAGNOSTIC_DATA = "diagnostic_data"
|
|
142
158
|
|
|
143
159
|
RESPONSE_CONDITION = "condition"
|
|
@@ -150,6 +166,7 @@ AZURE_AD_TOKEN_ENV_VAR = "AZURE_AD_TOKEN"
|
|
|
150
166
|
AZURE_API_BASE_ENV_VAR = "AZURE_API_BASE"
|
|
151
167
|
AZURE_API_VERSION_ENV_VAR = "AZURE_API_VERSION"
|
|
152
168
|
AZURE_API_TYPE_ENV_VAR = "AZURE_API_TYPE"
|
|
169
|
+
AZURE_AD_SCOPES_ENV_VAR = "AZURE_AD_SCOPES"
|
|
153
170
|
AZURE_SPEECH_API_KEY_ENV_VAR = "AZURE_SPEECH_API_KEY"
|
|
154
171
|
|
|
155
172
|
DEEPGRAM_API_KEY_ENV_VAR = "DEEPGRAM_API_KEY"
|
|
@@ -177,6 +194,9 @@ PROVIDER_CONFIG_KEY = "provider"
|
|
|
177
194
|
REQUEST_TIMEOUT_CONFIG_KEY = "request_timeout" # deprecated
|
|
178
195
|
TIMEOUT_CONFIG_KEY = "timeout"
|
|
179
196
|
|
|
197
|
+
TEMPERATURE_CONFIG_KEY = "temperature"
|
|
198
|
+
MAX_TOKENS_CONFIG_KEY = "max_tokens"
|
|
199
|
+
|
|
180
200
|
DEPLOYMENT_NAME_CONFIG_KEY = "deployment_name"
|
|
181
201
|
DEPLOYMENT_CONFIG_KEY = "deployment"
|
|
182
202
|
EMBEDDINGS_CONFIG_KEY = "embeddings"
|
|
@@ -186,7 +206,6 @@ MODEL_CONFIG_KEY = "model"
|
|
|
186
206
|
MODEL_NAME_CONFIG_KEY = "model_name"
|
|
187
207
|
PROMPT_CONFIG_KEY = "prompt"
|
|
188
208
|
PROMPT_TEMPLATE_CONFIG_KEY = "prompt_template"
|
|
189
|
-
|
|
190
209
|
STREAM_CONFIG_KEY = "stream"
|
|
191
210
|
N_REPHRASES_CONFIG_KEY = "n"
|
|
192
211
|
USE_CHAT_COMPLETIONS_ENDPOINT_CONFIG_KEY = "use_chat_completions_endpoint"
|
|
@@ -220,12 +239,6 @@ LITELLM_PARAMS_KEY = "litellm_params"
|
|
|
220
239
|
LLM_API_HEALTH_CHECK_ENV_VAR = "LLM_API_HEALTH_CHECK"
|
|
221
240
|
LLM_API_HEALTH_CHECK_DEFAULT_VALUE = "false"
|
|
222
241
|
|
|
223
|
-
AZURE_API_KEY_ENV_VAR = "AZURE_API_KEY"
|
|
224
|
-
AZURE_AD_TOKEN_ENV_VAR = "AZURE_AD_TOKEN"
|
|
225
|
-
AZURE_API_BASE_ENV_VAR = "AZURE_API_BASE"
|
|
226
|
-
AZURE_API_VERSION_ENV_VAR = "AZURE_API_VERSION"
|
|
227
|
-
AZURE_API_TYPE_ENV_VAR = "AZURE_API_TYPE"
|
|
228
|
-
|
|
229
242
|
AWS_REGION_NAME_CONFIG_KEY = "aws_region_name"
|
|
230
243
|
AWS_ACCESS_KEY_ID_CONFIG_KEY = "aws_access_key_id"
|
|
231
244
|
AWS_SECRET_ACCESS_KEY_CONFIG_KEY = "aws_secret_access_key"
|
|
@@ -254,6 +267,7 @@ LITELLM_SSL_CERTIFICATE_ENV_VAR = "SSL_CERTIFICATE"
|
|
|
254
267
|
|
|
255
268
|
OPENAI_PROVIDER = "openai"
|
|
256
269
|
AZURE_OPENAI_PROVIDER = "azure"
|
|
270
|
+
ANTHROPIC_PROVIDER = "anthropic"
|
|
257
271
|
SELF_HOSTED_PROVIDER = "self-hosted"
|
|
258
272
|
HUGGINGFACE_LOCAL_EMBEDDING_PROVIDER = "huggingface_local"
|
|
259
273
|
RASA_PROVIDER = "rasa"
|
|
@@ -261,17 +275,11 @@ RASA_PROVIDER = "rasa"
|
|
|
261
275
|
SELF_HOSTED_VLLM_PREFIX = "hosted_vllm"
|
|
262
276
|
SELF_HOSTED_VLLM_API_KEY_ENV_VAR = "HOSTED_VLLM_API_KEY"
|
|
263
277
|
|
|
264
|
-
SELF_HOSTED_VLLM_PREFIX = "hosted_vllm"
|
|
265
|
-
SELF_HOSTED_VLLM_API_KEY_ENV_VAR = "HOSTED_VLLM_API_KEY"
|
|
266
|
-
|
|
267
278
|
VALID_PROVIDERS_FOR_API_TYPE_CONFIG_KEY = [
|
|
268
279
|
OPENAI_PROVIDER,
|
|
269
280
|
AZURE_OPENAI_PROVIDER,
|
|
270
281
|
]
|
|
271
282
|
|
|
272
|
-
SELF_HOSTED_VLLM_PREFIX = "hosted_vllm"
|
|
273
|
-
SELF_HOSTED_VLLM_API_KEY_ENV_VAR = "HOSTED_VLLM_API_KEY"
|
|
274
|
-
|
|
275
283
|
AZURE_API_TYPE = "azure"
|
|
276
284
|
OPENAI_API_TYPE = "openai"
|
|
277
285
|
|
|
@@ -308,3 +316,22 @@ SENSITIVE_DATA = [
|
|
|
308
316
|
AWS_SECRET_ACCESS_KEY_CONFIG_KEY,
|
|
309
317
|
AWS_SESSION_TOKEN_CONFIG_KEY,
|
|
310
318
|
]
|
|
319
|
+
|
|
320
|
+
# Used for key values in BotUtterance.data
|
|
321
|
+
TEXT = "text"
|
|
322
|
+
ELEMENTS = "elements"
|
|
323
|
+
QUICK_REPLIES = "quick_replies"
|
|
324
|
+
BUTTONS = "buttons"
|
|
325
|
+
ATTACHMENT = "attachment"
|
|
326
|
+
IMAGE = "image"
|
|
327
|
+
CUSTOM = "custom"
|
|
328
|
+
TITLE = "title"
|
|
329
|
+
PAYLOAD = "payload"
|
|
330
|
+
|
|
331
|
+
# Used for LLM command generation
|
|
332
|
+
ROLE_USER = "user"
|
|
333
|
+
ROLE_SYSTEM = "system"
|
|
334
|
+
|
|
335
|
+
# Used for key values in ValidateSlotPatternFlowStackFrame
|
|
336
|
+
REFILL_UTTER = "refill_utter"
|
|
337
|
+
REJECTIONS = "rejections"
|
|
@@ -4,7 +4,9 @@ from typing import List, Optional
|
|
|
4
4
|
|
|
5
5
|
import structlog
|
|
6
6
|
|
|
7
|
+
from rasa.dialogue_understanding.commands import Command
|
|
7
8
|
from rasa.dialogue_understanding.commands.set_slot_command import SetSlotExtractor
|
|
9
|
+
from rasa.dialogue_understanding.utils import add_commands_to_message_parse_data
|
|
8
10
|
from rasa.shared.core.domain import Domain
|
|
9
11
|
from rasa.shared.nlu.constants import COMMANDS, SET_SLOT_COMMAND, TEXT
|
|
10
12
|
from rasa.shared.nlu.training_data.message import Message
|
|
@@ -78,13 +80,18 @@ class CommandPayloadReader:
|
|
|
78
80
|
)
|
|
79
81
|
|
|
80
82
|
# Create new SetSlot commands from the extracted attributes.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
83
|
+
command = {
|
|
84
|
+
"command": SET_SLOT_COMMAND,
|
|
85
|
+
"name": slot_name,
|
|
86
|
+
"value": slot_value,
|
|
87
|
+
"extractor": entity_extractor_name,
|
|
88
|
+
}
|
|
89
|
+
commands.append(command)
|
|
90
|
+
|
|
91
|
+
add_commands_to_message_parse_data(
|
|
92
|
+
message,
|
|
93
|
+
CommandPayloadReader.__name__,
|
|
94
|
+
[Command.command_from_json(command)],
|
|
88
95
|
)
|
|
89
96
|
|
|
90
97
|
structlogger.debug(
|
|
@@ -94,6 +101,7 @@ class CommandPayloadReader:
|
|
|
94
101
|
|
|
95
102
|
# set the command(s) on the Message object
|
|
96
103
|
message.set(COMMANDS, commands, add_to_output=True)
|
|
104
|
+
|
|
97
105
|
return message
|
|
98
106
|
|
|
99
107
|
@staticmethod
|