rasa-pro 3.13.11__py3-none-any.whl → 3.14.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.
- rasa/__main__.py +15 -3
- rasa/agents/__init__.py +0 -0
- rasa/agents/agent_factory.py +122 -0
- rasa/agents/agent_manager.py +213 -0
- rasa/agents/constants.py +43 -0
- rasa/agents/core/__init__.py +0 -0
- rasa/agents/core/agent_protocol.py +107 -0
- rasa/agents/core/types.py +81 -0
- rasa/agents/exceptions.py +38 -0
- rasa/agents/protocol/__init__.py +5 -0
- rasa/agents/protocol/a2a/__init__.py +0 -0
- rasa/agents/protocol/a2a/a2a_agent.py +889 -0
- rasa/agents/protocol/mcp/__init__.py +0 -0
- rasa/agents/protocol/mcp/mcp_base_agent.py +778 -0
- rasa/agents/protocol/mcp/mcp_open_agent.py +327 -0
- rasa/agents/protocol/mcp/mcp_task_agent.py +522 -0
- rasa/agents/schemas/__init__.py +13 -0
- rasa/agents/schemas/agent_input.py +38 -0
- rasa/agents/schemas/agent_output.py +26 -0
- rasa/agents/schemas/agent_tool_result.py +65 -0
- rasa/agents/schemas/agent_tool_schema.py +186 -0
- rasa/agents/templates/__init__.py +0 -0
- rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +20 -0
- rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +22 -0
- rasa/agents/utils.py +228 -0
- rasa/agents/validation.py +538 -0
- rasa/api.py +23 -9
- rasa/builder/README.md +120 -0
- rasa/builder/__init__.py +0 -0
- rasa/builder/auth.py +176 -0
- rasa/builder/config.py +96 -0
- rasa/builder/copilot/__init__.py +0 -0
- rasa/builder/copilot/constants.py +38 -0
- rasa/builder/copilot/copilot.py +562 -0
- rasa/builder/copilot/copilot_response_handler.py +522 -0
- rasa/builder/copilot/copilot_templated_message_provider.py +81 -0
- rasa/builder/copilot/exceptions.py +32 -0
- rasa/builder/copilot/models.py +690 -0
- rasa/builder/copilot/prompts/__init__.py +0 -0
- rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +787 -0
- rasa/builder/copilot/prompts/copilot_training_error_handler_prompt.jinja2 +53 -0
- rasa/builder/copilot/prompts/latest_user_message_context_prompt.jinja2 +91 -0
- rasa/builder/copilot/signing.py +305 -0
- rasa/builder/copilot/telemetry.py +234 -0
- rasa/builder/copilot/templated_messages/__init__.py +0 -0
- rasa/builder/copilot/templated_messages/copilot_internal_messages_templates.yml +16 -0
- rasa/builder/copilot/templated_messages/copilot_templated_responses.yml +41 -0
- rasa/builder/copilot/templated_messages/copilot_welcome_messages.yml +56 -0
- rasa/builder/document_retrieval/__init__.py +0 -0
- rasa/builder/document_retrieval/constants.py +15 -0
- rasa/builder/document_retrieval/inkeep-rag-response-schema.json +64 -0
- rasa/builder/document_retrieval/inkeep_document_retrieval.py +238 -0
- rasa/builder/document_retrieval/models.py +62 -0
- rasa/builder/download.py +140 -0
- rasa/builder/exceptions.py +91 -0
- rasa/builder/guardrails/__init__.py +1 -0
- rasa/builder/guardrails/clients.py +256 -0
- rasa/builder/guardrails/constants.py +12 -0
- rasa/builder/guardrails/exceptions.py +4 -0
- rasa/builder/guardrails/models.py +266 -0
- rasa/builder/guardrails/policy_checker.py +324 -0
- rasa/builder/guardrails/store.py +238 -0
- rasa/builder/guardrails/utils.py +94 -0
- rasa/builder/job_manager.py +87 -0
- rasa/builder/jobs.py +609 -0
- rasa/builder/llm_service.py +273 -0
- rasa/builder/logging_utils.py +265 -0
- rasa/builder/main.py +234 -0
- rasa/builder/models.py +229 -0
- rasa/builder/project_generator.py +463 -0
- rasa/builder/project_info.py +72 -0
- rasa/builder/service.py +1367 -0
- rasa/builder/shared/tracker_context.py +212 -0
- rasa/builder/skill_to_bot_prompt.jinja2 +164 -0
- rasa/builder/template_cache.py +69 -0
- rasa/builder/training_service.py +188 -0
- rasa/builder/validation_service.py +101 -0
- rasa/cli/arguments/data.py +9 -0
- rasa/cli/arguments/default_arguments.py +12 -0
- rasa/cli/arguments/run.py +2 -0
- rasa/cli/arguments/train.py +2 -0
- rasa/cli/data.py +78 -10
- rasa/cli/dialogue_understanding_test.py +11 -7
- rasa/cli/e2e_test.py +10 -6
- rasa/cli/evaluate.py +4 -2
- rasa/cli/export.py +5 -2
- rasa/cli/inspect.py +9 -4
- rasa/cli/interactive.py +8 -4
- rasa/cli/llm_fine_tuning.py +12 -6
- rasa/cli/project_templates/basic/README.md +23 -0
- rasa/cli/project_templates/basic/actions/__init__ +0 -0
- rasa/cli/project_templates/basic/actions/action_human_handoff.py +40 -0
- rasa/cli/project_templates/basic/actions/actions.md +10 -0
- rasa/cli/project_templates/basic/config.yml +29 -0
- rasa/cli/project_templates/basic/credentials.yml +33 -0
- rasa/cli/project_templates/basic/data/data.md +8 -0
- rasa/cli/project_templates/basic/data/general/feedback.yml +21 -0
- rasa/cli/project_templates/basic/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/basic/data/general/hello.yml +6 -0
- rasa/cli/project_templates/basic/data/general/help.yml +6 -0
- rasa/cli/project_templates/basic/data/general/human_handoff.yml +16 -0
- rasa/cli/project_templates/basic/data/general/show_faqs.yml +6 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_cannot_handle.yml +7 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_completed.yml +7 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_correction.yml +7 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_search.yml +8 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_session_start.yml +8 -0
- rasa/cli/project_templates/basic/docs/docs.md +5 -0
- rasa/cli/project_templates/basic/docs/template.txt +28 -0
- rasa/cli/project_templates/basic/domain/domain.md +11 -0
- rasa/cli/project_templates/basic/domain/general/feedback.yml +25 -0
- rasa/cli/project_templates/basic/domain/general/goodbye.yml +9 -0
- rasa/cli/project_templates/basic/domain/general/hello.yml +7 -0
- rasa/cli/project_templates/basic/domain/general/help.yml +21 -0
- rasa/cli/project_templates/basic/domain/general/human_handoff.yml +32 -0
- rasa/cli/project_templates/basic/domain/general/show_faqs.yml +14 -0
- rasa/cli/project_templates/basic/domain/system/patterns/pattern_cannot_handle.yml +5 -0
- rasa/cli/project_templates/basic/domain/system/patterns/pattern_session_start.yml +19 -0
- rasa/cli/project_templates/basic/endpoints.yml +67 -0
- rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +38 -0
- rasa/cli/project_templates/basic/tests/e2e_test_cases/without_stub/general/feedback.yml +46 -0
- rasa/cli/project_templates/basic/tests/e2e_test_cases/without_stub/general/goodbye.yml +9 -0
- rasa/cli/project_templates/basic/tests/e2e_test_cases/without_stub/general/hello.yml +8 -0
- rasa/cli/project_templates/basic/tests/e2e_test_cases/without_stub/general/help.yml +8 -0
- rasa/cli/project_templates/basic/tests/e2e_test_cases/without_stub/general/human_handoff.yml +41 -0
- rasa/cli/project_templates/basic/tests/e2e_test_cases/without_stub/general/patterns.yml +32 -0
- rasa/cli/project_templates/basic/tests/e2e_test_cases/without_stub/general/show_faqs.yml +8 -0
- rasa/cli/project_templates/default/config.yml +4 -0
- rasa/cli/project_templates/default/endpoints.yml +4 -0
- rasa/cli/project_templates/defaults.py +1 -0
- rasa/cli/project_templates/finance/README.md +26 -0
- rasa/cli/project_templates/finance/actions/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/accounts/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/accounts/check_balance.py +18 -0
- rasa/cli/project_templates/finance/actions/actions.md +15 -0
- rasa/cli/project_templates/finance/actions/cards/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/cards/check_that_card_exists.py +21 -0
- rasa/cli/project_templates/finance/actions/cards/list_cards.py +22 -0
- rasa/cli/project_templates/finance/actions/contacts/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/contacts/add_contact.py +30 -0
- rasa/cli/project_templates/finance/actions/contacts/list_contacts.py +22 -0
- rasa/cli/project_templates/finance/actions/contacts/remove_contact.py +35 -0
- rasa/cli/project_templates/finance/actions/db.py +117 -0
- rasa/cli/project_templates/finance/actions/general/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/general/action_human_handoff.py +49 -0
- rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/transfers/check_transfer_funds.py +27 -0
- rasa/cli/project_templates/finance/actions/transfers/check_transfer_limit.py +36 -0
- rasa/cli/project_templates/finance/actions/transfers/execute_recurrent_payment.py +20 -0
- rasa/cli/project_templates/finance/actions/transfers/execute_transfer.py +45 -0
- rasa/cli/project_templates/finance/actions/transfers/list_transactions.py +32 -0
- rasa/cli/project_templates/finance/config.yml +29 -0
- rasa/cli/project_templates/finance/credentials.yml +33 -0
- rasa/cli/project_templates/finance/data/accounts/check_balance.yml +9 -0
- rasa/cli/project_templates/finance/data/accounts/download_statements.yml +26 -0
- rasa/cli/project_templates/finance/data/bills/bill_pay_reminder.yml +25 -0
- rasa/cli/project_templates/finance/data/cards/activate_card.yml +35 -0
- rasa/cli/project_templates/finance/data/cards/block_card.yml +45 -0
- rasa/cli/project_templates/finance/data/cards/list_cards.yml +14 -0
- rasa/cli/project_templates/finance/data/cards/replace_card.yml +16 -0
- rasa/cli/project_templates/finance/data/cards/replace_eligible_card.yml +29 -0
- rasa/cli/project_templates/finance/data/contacts/add_contact.yml +33 -0
- rasa/cli/project_templates/finance/data/contacts/list_contacts.yml +14 -0
- rasa/cli/project_templates/finance/data/contacts/remove_contact.yml +31 -0
- rasa/cli/project_templates/finance/data/data.md +14 -0
- rasa/cli/project_templates/finance/data/general/bot_challenge.yml +6 -0
- rasa/cli/project_templates/finance/data/general/feedback.yml +20 -0
- rasa/cli/project_templates/finance/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/finance/data/general/hello.yml +6 -0
- rasa/cli/project_templates/finance/data/general/help.yml +9 -0
- rasa/cli/project_templates/finance/data/general/human_handoff.yml +16 -0
- rasa/cli/project_templates/finance/data/general/welcome.yml +9 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_completed.yml +7 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_correction.yml +7 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_search.yml +8 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +8 -0
- rasa/cli/project_templates/finance/data/transfers/check_transfer_limit.yml +18 -0
- rasa/cli/project_templates/finance/data/transfers/list_transactions.yml +46 -0
- rasa/cli/project_templates/finance/data/transfers/move_money_between_accounts.yml +51 -0
- rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +34 -0
- rasa/cli/project_templates/finance/data/transfers/transfer_money_to_a_third_party.yml +175 -0
- rasa/cli/project_templates/finance/db/cards.json +18 -0
- rasa/cli/project_templates/finance/db/contacts.json +10 -0
- rasa/cli/project_templates/finance/db/my_account.json +6 -0
- rasa/cli/project_templates/finance/db/transactions.json +22 -0
- rasa/cli/project_templates/finance/docs/docs.md +8 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/budgeting_analytics.txt +22 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/multi_currency_accounts.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/premium_benefits.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/contactless_limits.txt +16 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/freeze_unfreeze_card.txt +16 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/lost_stolen_card.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/instant_payments.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/international_transfers.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/fraud_protection.txt +22 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/secure_payments.txt +22 -0
- rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +15 -0
- rasa/cli/project_templates/finance/domain/accounts/download_statements.yml +40 -0
- rasa/cli/project_templates/finance/domain/bills/bill_pay_reminder.yml +49 -0
- rasa/cli/project_templates/finance/domain/cards/activate_card.yml +24 -0
- rasa/cli/project_templates/finance/domain/cards/block_card.yml +44 -0
- rasa/cli/project_templates/finance/domain/cards/list_cards.yml +16 -0
- rasa/cli/project_templates/finance/domain/cards/replace_card.yml +43 -0
- rasa/cli/project_templates/finance/domain/cards/shared.yml +15 -0
- rasa/cli/project_templates/finance/domain/contacts/add_contact.yml +37 -0
- rasa/cli/project_templates/finance/domain/contacts/list_contacts.yml +16 -0
- rasa/cli/project_templates/finance/domain/contacts/remove_contact.yml +32 -0
- rasa/cli/project_templates/finance/domain/domain.md +18 -0
- rasa/cli/project_templates/finance/domain/general/_shared.yml +39 -0
- rasa/cli/project_templates/finance/domain/general/bot_challenge.yml +4 -0
- rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +8 -0
- rasa/cli/project_templates/finance/domain/general/feedback.yml +25 -0
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/finance/domain/general/help.yml +0 -0
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +31 -0
- rasa/cli/project_templates/finance/domain/general/welcome.yml +39 -0
- rasa/cli/project_templates/finance/domain/transfers/check_transfer_limit.yml +32 -0
- rasa/cli/project_templates/finance/domain/transfers/list_transactions.yml +44 -0
- rasa/cli/project_templates/finance/domain/transfers/shared.yml +17 -0
- rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +221 -0
- rasa/cli/project_templates/finance/endpoints.yml +67 -0
- rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +38 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/accounts/check_balance.yml +9 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/accounts/download_statements.yml +43 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/cards/block_card.yml +55 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/general/bot_challenge.yml +8 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/general/feedback.yml +46 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/general/goodbye.yml +9 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/general/hello.yml +8 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/general/human_handoff.yml +35 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/general/patterns.yml +22 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/without_stub/transfers/transfer_money.yml +56 -0
- rasa/cli/project_templates/telco/README.md +25 -0
- rasa/cli/project_templates/telco/actions/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/actions.md +12 -0
- rasa/cli/project_templates/telco/actions/billing/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/billing/actions_billing.py +204 -0
- rasa/cli/project_templates/telco/actions/general/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/general/action_human_handoff.py +49 -0
- rasa/cli/project_templates/telco/actions/network/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/network/actions_get_data_from_db.py +48 -0
- rasa/cli/project_templates/telco/actions/network/actions_run_diagnostics.py +28 -0
- rasa/cli/project_templates/telco/actions/network/actions_session_start.py +18 -0
- rasa/cli/project_templates/telco/config.yml +29 -0
- rasa/cli/project_templates/telco/credentials.yml +33 -0
- rasa/cli/project_templates/telco/csvs/billing.csv +19 -0
- rasa/cli/project_templates/telco/csvs/customers.csv +5 -0
- rasa/cli/project_templates/telco/data/billing/flow_understand_bill.yml +45 -0
- rasa/cli/project_templates/telco/data/data.md +11 -0
- rasa/cli/project_templates/telco/data/general/bot_challenge.yml +6 -0
- rasa/cli/project_templates/telco/data/general/feedback.yml +20 -0
- rasa/cli/project_templates/telco/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/telco/data/general/hello.yml +6 -0
- rasa/cli/project_templates/telco/data/general/human_handoff.yml +16 -0
- rasa/cli/project_templates/telco/data/general/patterns.yml +30 -0
- rasa/cli/project_templates/telco/data/network/flow_reboot_router.yml +8 -0
- rasa/cli/project_templates/telco/data/network/flow_reset_router.yml +7 -0
- rasa/cli/project_templates/telco/data/network/flow_solve_internet_issue.yml +73 -0
- rasa/cli/project_templates/telco/docs/docs.md +8 -0
- rasa/cli/project_templates/telco/docs/network/reset_vs_rboot_router.txt +1 -0
- rasa/cli/project_templates/telco/docs/network/restart_router.txt +6 -0
- rasa/cli/project_templates/telco/docs/network/run_speed_test.txt +6 -0
- rasa/cli/project_templates/telco/domain/billing/understand_bill.yml +102 -0
- rasa/cli/project_templates/telco/domain/domain.md +13 -0
- rasa/cli/project_templates/telco/domain/general/bot_challenge.yml +4 -0
- rasa/cli/project_templates/telco/domain/general/feedback.yml +25 -0
- rasa/cli/project_templates/telco/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/telco/domain/general/hello.yml +5 -0
- rasa/cli/project_templates/telco/domain/general/human_handoff.yml +26 -0
- rasa/cli/project_templates/telco/domain/general/patterns.yml +33 -0
- rasa/cli/project_templates/telco/domain/network/reboot_router.yml +21 -0
- rasa/cli/project_templates/telco/domain/network/reset_router.yml +12 -0
- rasa/cli/project_templates/telco/domain/network/run_speed_test.yml +25 -0
- rasa/cli/project_templates/telco/domain/network/solve_internet_issue.yml +74 -0
- rasa/cli/project_templates/telco/domain/shared.yml +129 -0
- rasa/cli/project_templates/telco/endpoints.yml +67 -0
- rasa/cli/project_templates/telco/prompts/rephraser_demo_personality_prompt.jinja2 +40 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/with_stub/network/solve_internet_not_slow.yml +33 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/with_stub/network/solve_internet_slow.yml +47 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/without_stub/billing/understand_bill.yml +67 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/without_stub/general/bot_challenge.yml +8 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/without_stub/general/feedback.yml +46 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/without_stub/general/goodbye.yml +9 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/without_stub/general/hello.yml +8 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/without_stub/general/human_handoff.yml +35 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/without_stub/general/patterns.yml +23 -0
- rasa/cli/project_templates/tutorial/config.yml +2 -1
- rasa/cli/project_templates/tutorial/credentials.yml +10 -0
- rasa/cli/run.py +8 -10
- rasa/cli/scaffold.py +50 -6
- rasa/cli/shell.py +10 -5
- rasa/cli/studio/studio.py +1 -1
- rasa/cli/test.py +34 -14
- rasa/cli/train.py +44 -30
- rasa/cli/utils.py +1 -393
- rasa/cli/validation/__init__.py +0 -0
- rasa/cli/validation/bot_config.py +232 -0
- rasa/cli/validation/config_path_validation.py +257 -0
- rasa/cli/x.py +8 -4
- rasa/constants.py +7 -1
- rasa/core/actions/action.py +53 -13
- rasa/core/actions/action_exceptions.py +1 -1
- rasa/core/actions/action_run_slot_rejections.py +1 -1
- rasa/core/actions/direct_custom_actions_executor.py +9 -2
- rasa/core/actions/grpc_custom_action_executor.py +1 -1
- rasa/core/agent.py +22 -2
- rasa/core/available_agents.py +239 -0
- rasa/core/brokers/broker.py +1 -1
- rasa/core/brokers/kafka.py +56 -8
- rasa/core/channels/__init__.py +82 -35
- rasa/core/channels/channel.py +4 -3
- rasa/core/channels/constants.py +3 -0
- rasa/core/channels/development_inspector.py +29 -16
- rasa/core/channels/hangouts.py +2 -2
- rasa/core/channels/inspector/README.md +25 -13
- rasa/core/channels/inspector/dist/assets/{arc-0b11fe30.js → arc-6177260a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-9eef30a7.js → blockDiagram-38ab4fdb-b054f038.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-03e94f28.js → c4Diagram-3d4e48cf-f25427d5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-bf9cbb34.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-95c09eba.js → classDiagram-70f12bd4-c7a2af53.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-38e8446c.js → classDiagram-v2-f2320105-58db65c0.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-8f9083bb.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-57dc3038.js → createText-2e5e7dd3-088372e2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-4bac0545.js → edges-e0da2a9e-58676240.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-81795c90.js → erDiagram-9861fffd-0c14d7c6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-89489ae6.js → flowDb-956e92f1-ea63f85c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-cd152627.js → flowDiagram-66a62f08-a2af48cd.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-9ecd5b59.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-3da369bc.js → flowchart-elk-definition-4a651766-6937abe7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-85ec16f8.js → ganttDiagram-c361ad54-7473f357.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-495bc140.js → gitGraphDiagram-72cf32ee-d0c9405e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-1ec4d266.js → graph-0a6f8466.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-0a0e97c9.js → index-3862675e-7610671a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/index-74e01d94.js +1354 -0
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-4d54bcde.js → infoDiagram-f8f76790-be397dc7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-dc097114.js → journeyDiagram-49397b02-4cefbf62.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-1a08981e.js → layout-e7fbc2bf.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-95f7f1d3.js → line-a8aa457c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-97e69543.js → linear-3351e0d2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-8c71ff03.js → mindmap-definition-fc14e90a-b8cbf605.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-f14c71c7.js → pieDiagram-8a3498a8-f327f774.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-f1d3c9ff.js → quadrantDiagram-120e2f19-2854c591.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-bfa2412f.js → requirementDiagram-deff3bca-964985d5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-53f2c97b.js → sankeyDiagram-04a897e0-edeb4f33.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-319d7c0e.js → sequenceDiagram-704730f1-fcf70125.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-76a09418.js → stateDiagram-587899a1-0e770395.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-a67f15d4.js → stateDiagram-v2-d93cdb3a-af8dcd22.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-0654e7c3.js → styles-6aaf32cf-36a9e70d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-1394bb9d.js → styles-9a916d00-884a8b5b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-e4c5bdae.js → styles-c10674c1-dc097813.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-50957104.js → svgDrawCommon-08f97a94-5a2c7eed.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-b0885a6a.js → timeline-definition-85554ec2-e89c4f6e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-79e6541a.js → xychartDiagram-e933f94c-afb6fe56.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +1 -1
- rasa/core/channels/inspector/package.json +18 -18
- rasa/core/channels/inspector/src/App.tsx +56 -12
- rasa/core/channels/inspector/src/components/DiagramFlow.tsx +1 -1
- rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
- rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +4 -2
- rasa/core/channels/inspector/src/components/DialogueInformation.tsx +20 -3
- rasa/core/channels/inspector/src/components/LatencyDisplay.tsx +296 -0
- rasa/core/channels/inspector/src/components/LoadingSpinner.tsx +6 -2
- rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +26 -4
- rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
- rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
- rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
- rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
- rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
- rasa/core/channels/inspector/src/types.ts +55 -1
- rasa/core/channels/inspector/yarn.lock +336 -189
- rasa/core/channels/socketio.py +212 -51
- rasa/core/channels/studio_chat.py +82 -32
- rasa/core/channels/telegram.py +4 -9
- rasa/core/channels/voice_ready/twilio_voice.py +1 -1
- rasa/core/channels/voice_stream/asr/asr_event.py +1 -1
- rasa/core/channels/voice_stream/asr/azure.py +6 -3
- rasa/core/channels/voice_stream/asr/deepgram.py +1 -1
- rasa/core/channels/voice_stream/audiocodes.py +11 -6
- rasa/core/channels/voice_stream/browser_audio.py +91 -4
- rasa/core/channels/voice_stream/call_state.py +13 -2
- rasa/core/channels/voice_stream/genesys.py +19 -15
- rasa/core/channels/voice_stream/jambonz.py +22 -12
- rasa/core/channels/voice_stream/tts/deepgram.py +140 -0
- rasa/core/channels/voice_stream/twilio_media_streams.py +35 -14
- rasa/core/channels/voice_stream/util.py +11 -1
- rasa/core/channels/voice_stream/voice_channel.py +170 -32
- rasa/core/concurrent_lock_store.py +83 -16
- rasa/core/config/__init__.py +0 -0
- rasa/core/{available_endpoints.py → config/available_endpoints.py} +56 -18
- rasa/core/config/configuration.py +295 -0
- rasa/core/config/credentials.py +19 -0
- rasa/core/config/message_procesing_config.py +34 -0
- rasa/core/constants.py +17 -0
- rasa/core/exceptions.py +1 -1
- rasa/core/featurizers/tracker_featurizers.py +3 -2
- rasa/core/iam_credentials_providers/__init__.py +0 -0
- rasa/core/iam_credentials_providers/aws_iam_credentials_providers.py +291 -0
- rasa/core/iam_credentials_providers/credentials_provider_protocol.py +91 -0
- rasa/core/lock_store.py +50 -10
- rasa/core/nlg/contextual_response_rephraser.py +5 -0
- rasa/core/nlg/generator.py +1 -1
- rasa/core/persistor.py +7 -7
- rasa/core/policies/enterprise_search_policy.py +9 -10
- rasa/core/policies/flow_policy.py +4 -4
- rasa/core/policies/flows/agent_executor.py +720 -0
- rasa/core/policies/flows/flow_exceptions.py +5 -2
- rasa/core/policies/flows/flow_executor.py +146 -77
- rasa/core/policies/flows/mcp_tool_executor.py +304 -0
- rasa/core/policies/intentless_policy.py +1 -1
- rasa/core/policies/rule_policy.py +1 -1
- rasa/core/policies/ted_policy.py +20 -12
- rasa/core/policies/unexpected_intent_policy.py +6 -0
- rasa/core/processor.py +100 -44
- rasa/core/redis_connection_factory.py +474 -0
- rasa/core/run.py +49 -10
- rasa/core/test.py +4 -0
- rasa/core/tracker_stores/redis_tracker_store.py +36 -14
- rasa/core/tracker_stores/sql_tracker_store.py +59 -1
- rasa/core/tracker_stores/tracker_store.py +3 -7
- rasa/core/train.py +1 -1
- rasa/core/training/interactive.py +20 -18
- rasa/core/training/story_conflict.py +5 -5
- rasa/core/utils.py +22 -23
- rasa/dialogue_understanding/commands/__init__.py +8 -0
- rasa/dialogue_understanding/commands/cancel_flow_command.py +20 -6
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +21 -2
- rasa/dialogue_understanding/commands/clarify_command.py +20 -2
- rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +21 -2
- rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
- rasa/dialogue_understanding/commands/start_flow_command.py +75 -7
- rasa/dialogue_understanding/commands/utils.py +135 -2
- rasa/dialogue_understanding/generator/command_parser.py +4 -0
- rasa/dialogue_understanding/generator/flow_retrieval.py +0 -9
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +52 -12
- rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +66 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +66 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +89 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +88 -0
- rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +42 -7
- rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +40 -3
- rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +20 -3
- rasa/dialogue_understanding/patterns/cancel.py +27 -6
- rasa/dialogue_understanding/patterns/clarify.py +3 -14
- rasa/dialogue_understanding/patterns/continue_interrupted.py +239 -6
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +49 -9
- rasa/dialogue_understanding/processor/command_processor.py +136 -15
- rasa/dialogue_understanding/stack/dialogue_stack.py +98 -2
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
- rasa/dialogue_understanding/stack/utils.py +57 -3
- rasa/dialogue_understanding/utils.py +24 -4
- rasa/dialogue_understanding_test/du_test_runner.py +8 -3
- rasa/e2e_test/e2e_test_runner.py +13 -3
- rasa/engine/caching.py +2 -2
- rasa/engine/constants.py +1 -1
- rasa/engine/graph.py +5 -1
- rasa/engine/loader.py +12 -0
- rasa/engine/recipes/default_components.py +138 -49
- rasa/engine/recipes/default_recipe.py +108 -11
- rasa/engine/runner/dask.py +8 -5
- rasa/engine/validation.py +25 -8
- rasa/graph_components/validators/default_recipe_validator.py +86 -28
- rasa/hooks.py +5 -5
- rasa/llm_fine_tuning/utils.py +2 -2
- rasa/model_manager/model_api.py +4 -5
- rasa/model_manager/runner_service.py +2 -2
- rasa/model_manager/socket_bridge.py +21 -17
- rasa/model_manager/trainer_service.py +12 -9
- rasa/model_manager/utils.py +1 -29
- rasa/model_manager/warm_rasa_process.py +13 -3
- rasa/model_training.py +60 -47
- rasa/nlu/classifiers/diet_classifier.py +198 -98
- rasa/nlu/classifiers/logistic_regression_classifier.py +1 -4
- rasa/nlu/classifiers/mitie_intent_classifier.py +3 -0
- rasa/nlu/classifiers/sklearn_intent_classifier.py +1 -3
- rasa/nlu/extractors/crf_entity_extractor.py +9 -10
- rasa/nlu/extractors/mitie_entity_extractor.py +3 -0
- rasa/nlu/extractors/spacy_entity_extractor.py +3 -0
- rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +4 -0
- rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +5 -0
- rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +2 -0
- rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +3 -0
- rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +4 -2
- rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -0
- rasa/nlu/selectors/response_selector.py +10 -2
- rasa/nlu/tokenizers/jieba_tokenizer.py +3 -4
- rasa/nlu/tokenizers/mitie_tokenizer.py +3 -2
- rasa/nlu/tokenizers/spacy_tokenizer.py +3 -2
- rasa/nlu/utils/mitie_utils.py +3 -0
- rasa/nlu/utils/spacy_utils.py +3 -2
- rasa/plugin.py +8 -8
- rasa/privacy/privacy_config.py +1 -1
- rasa/privacy/privacy_manager.py +12 -3
- rasa/server.py +15 -3
- rasa/shared/agents/__init__.py +0 -0
- rasa/shared/agents/auth/__init__.py +0 -0
- rasa/shared/agents/auth/agent_auth_factory.py +105 -0
- rasa/shared/agents/auth/agent_auth_manager.py +92 -0
- rasa/shared/agents/auth/auth_strategy/__init__.py +19 -0
- rasa/shared/agents/auth/auth_strategy/agent_auth_strategy.py +52 -0
- rasa/shared/agents/auth/auth_strategy/api_key_auth_strategy.py +42 -0
- rasa/shared/agents/auth/auth_strategy/bearer_token_auth_strategy.py +28 -0
- rasa/shared/agents/auth/auth_strategy/oauth2_auth_strategy.py +170 -0
- rasa/shared/agents/auth/constants.py +13 -0
- rasa/shared/agents/auth/types.py +12 -0
- rasa/shared/agents/auth/utils.py +85 -0
- rasa/shared/agents/utils.py +35 -0
- rasa/shared/constants.py +11 -0
- rasa/shared/core/constants.py +17 -1
- rasa/shared/core/domain.py +62 -22
- rasa/shared/core/events.py +329 -0
- rasa/shared/core/flows/constants.py +5 -0
- rasa/shared/core/flows/flow.py +1 -1
- rasa/shared/core/flows/flow_step.py +7 -1
- rasa/shared/core/flows/flows_list.py +21 -5
- rasa/shared/core/flows/flows_yaml_schema.json +119 -184
- rasa/shared/core/flows/steps/call.py +57 -6
- rasa/shared/core/flows/steps/collect.py +98 -13
- rasa/shared/core/flows/validation.py +372 -8
- rasa/shared/core/flows/yaml_flows_io.py +19 -10
- rasa/shared/core/slots.py +6 -2
- rasa/shared/core/trackers.py +5 -2
- rasa/shared/core/training_data/story_reader/story_reader.py +1 -1
- rasa/shared/exceptions.py +39 -2
- rasa/shared/importers/importer.py +6 -0
- rasa/shared/importers/rasa.py +1 -1
- rasa/shared/importers/utils.py +86 -4
- rasa/shared/nlu/training_data/schemas/responses.yml +3 -0
- rasa/shared/providers/llm/_base_litellm_client.py +41 -9
- rasa/shared/providers/llm/litellm_router_llm_client.py +10 -6
- rasa/shared/providers/llm/llm_client.py +7 -3
- rasa/shared/providers/llm/llm_response.py +66 -0
- rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
- rasa/shared/utils/common.py +26 -1
- rasa/shared/utils/health_check/health_check.py +7 -3
- rasa/shared/utils/llm.py +92 -19
- rasa/shared/utils/mcp/__init__.py +0 -0
- rasa/shared/utils/mcp/server_connection.py +250 -0
- rasa/shared/utils/mcp/utils.py +20 -0
- rasa/shared/utils/schemas/events.py +42 -0
- rasa/shared/utils/yaml.py +3 -1
- rasa/studio/download.py +3 -0
- rasa/studio/prompts.py +1 -0
- rasa/studio/pull/pull.py +3 -2
- rasa/studio/train.py +8 -7
- rasa/studio/upload.py +19 -52
- rasa/telemetry.py +166 -28
- rasa/tracing/config.py +45 -12
- rasa/tracing/constants.py +14 -0
- rasa/tracing/instrumentation/attribute_extractors.py +142 -9
- rasa/tracing/instrumentation/instrumentation.py +626 -21
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
- rasa/tracing/instrumentation/metrics.py +32 -0
- rasa/tracing/metric_instrument_provider.py +68 -0
- rasa/utils/common.py +92 -1
- rasa/utils/endpoints.py +11 -2
- rasa/utils/io.py +27 -9
- rasa/utils/json_utils.py +6 -1
- rasa/utils/licensing.py +21 -10
- rasa/utils/log_utils.py +121 -7
- rasa/utils/ml_utils.py +1 -1
- rasa/utils/openapi.py +144 -0
- rasa/utils/plotting.py +1 -1
- rasa/utils/pypred.py +45 -0
- rasa/utils/tensorflow/__init__.py +7 -0
- rasa/utils/tensorflow/callback.py +136 -101
- rasa/utils/tensorflow/crf.py +1 -1
- rasa/utils/tensorflow/data_generator.py +21 -8
- rasa/utils/tensorflow/layers.py +21 -11
- rasa/utils/tensorflow/metrics.py +7 -3
- rasa/utils/tensorflow/models.py +56 -8
- rasa/utils/tensorflow/rasa_layers.py +8 -6
- rasa/utils/tensorflow/transformer.py +2 -3
- rasa/utils/train_utils.py +54 -24
- rasa/validator.py +149 -16
- rasa/version.py +1 -1
- rasa_pro-3.14.0.dist-info/METADATA +212 -0
- {rasa_pro-3.13.11.dist-info → rasa_pro-3.14.0.dist-info}/RECORD +583 -271
- rasa/core/channels/inspector/dist/assets/channel-51d02e9e.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-cc738fa6.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-0c716443.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-c804b295.js +0 -1335
- rasa_pro-3.13.11.dist-info/METADATA +0 -192
- {rasa_pro-3.13.11.dist-info → rasa_pro-3.14.0.dist-info}/NOTICE +0 -0
- {rasa_pro-3.13.11.dist-info → rasa_pro-3.14.0.dist-info}/WHEEL +0 -0
- {rasa_pro-3.13.11.dist-info → rasa_pro-3.14.0.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: human handoff happy path
|
|
3
|
+
steps:
|
|
4
|
+
- user: "I would like to speak with a human"
|
|
5
|
+
assertions:
|
|
6
|
+
- flow_started: "human_handoff"
|
|
7
|
+
- bot_uttered:
|
|
8
|
+
utter_name: "utter_ask_confirm_human_handoff"
|
|
9
|
+
buttons:
|
|
10
|
+
- payload: "/SetSlots(confirm_human_handoff=True)"
|
|
11
|
+
title: "Yes"
|
|
12
|
+
- payload: "/SetSlots(confirm_human_handoff=False)"
|
|
13
|
+
title: "No"
|
|
14
|
+
- user: "Yes"
|
|
15
|
+
assertions:
|
|
16
|
+
- bot_uttered:
|
|
17
|
+
utter_name: "utter_transferring_to_human"
|
|
18
|
+
- action_executed: action_human_handoff
|
|
19
|
+
# ====================================================>
|
|
20
|
+
- test_case: human handoff unhappy path
|
|
21
|
+
steps:
|
|
22
|
+
- user: "I would like to speak with a human"
|
|
23
|
+
assertions:
|
|
24
|
+
- flow_started: "human_handoff"
|
|
25
|
+
- bot_uttered:
|
|
26
|
+
utter_name: "utter_ask_confirm_human_handoff"
|
|
27
|
+
buttons:
|
|
28
|
+
- payload: "/SetSlots(confirm_human_handoff=True)"
|
|
29
|
+
title: "Yes"
|
|
30
|
+
- payload: "/SetSlots(confirm_human_handoff=False)"
|
|
31
|
+
title: "No"
|
|
32
|
+
- user: "No"
|
|
33
|
+
assertions:
|
|
34
|
+
- bot_uttered:
|
|
35
|
+
utter_name: "utter_human_handoff_cancelled"
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: test pattern search
|
|
3
|
+
steps:
|
|
4
|
+
- user: "how do you run a network speed test?"
|
|
5
|
+
assertions:
|
|
6
|
+
- generative_response_is_grounded:
|
|
7
|
+
threshold: 0.90
|
|
8
|
+
ground_truth: "You can run a network speed test using special software such as \"Fast.com\", \"Speedtest.net\", or Google's \"Internet speed test\". Alternatively, if you have our app, you can go to the Home menu, select WLAN speed test and run it. These tests measure your internet connection's performance by evaluating download and upload speeds, ping, and jitter."
|
|
9
|
+
- user: "what is the difference between restart and reset a router"
|
|
10
|
+
assertions:
|
|
11
|
+
- flow_completed:
|
|
12
|
+
flow_id: "pattern_search"
|
|
13
|
+
- generative_response_is_grounded:
|
|
14
|
+
threshold: 0.90
|
|
15
|
+
ground_truth: "Restarting or rebooting a router involves turning it off and back on without changing any settings, which can help resolve temporary issues like slow speeds or dropped connections. Resetting a router, however, restores it to factory settings, erasing all custom configurations such as the Wi-Fi name, password, and advanced settings. Resetting should only be done as a last resort when troubleshooting persistent problems."
|
|
16
|
+
#
|
|
17
|
+
- test_case: test pattern session start
|
|
18
|
+
steps:
|
|
19
|
+
- user: "/session_start"
|
|
20
|
+
assertions:
|
|
21
|
+
- flow_started: "pattern_session_start"
|
|
22
|
+
- bot_uttered:
|
|
23
|
+
utter_name: "utter_greeting"
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
recipe: default.v1
|
|
2
2
|
language: en
|
|
3
|
+
assistant_id: placeholder_default
|
|
3
4
|
pipeline:
|
|
4
5
|
- name: CompactLLMCommandGenerator
|
|
5
6
|
llm:
|
|
@@ -9,4 +10,4 @@ pipeline:
|
|
|
9
10
|
|
|
10
11
|
policies:
|
|
11
12
|
- name: FlowPolicy
|
|
12
|
-
# - name: EnterpriseSearchPolicy
|
|
13
|
+
# - name: EnterpriseSearchPolicy
|
|
@@ -31,3 +31,13 @@ rest:
|
|
|
31
31
|
# for the Rasa Enterprise "channel", i.e. Talk to your bot and Share with guest testers.
|
|
32
32
|
rasa:
|
|
33
33
|
url: "http://localhost:5002/api"
|
|
34
|
+
|
|
35
|
+
# The Browser Audio channel enables voice interactions with your assistant directly in the browser.
|
|
36
|
+
# Used by the Rasa Voice Inspector, it provides speech-to-text and text-to-speech capabilities
|
|
37
|
+
# through services like Deepgram.
|
|
38
|
+
browser_audio:
|
|
39
|
+
server_url: localhost
|
|
40
|
+
asr:
|
|
41
|
+
name: deepgram
|
|
42
|
+
tts:
|
|
43
|
+
name: deepgram
|
rasa/cli/run.py
CHANGED
|
@@ -7,12 +7,12 @@ from rasa.api import run as rasa_run
|
|
|
7
7
|
from rasa.cli import SubParsersAction
|
|
8
8
|
from rasa.cli.arguments import run as arguments
|
|
9
9
|
from rasa.cli.arguments.default_arguments import SkipYamlValidation
|
|
10
|
-
from rasa.
|
|
10
|
+
from rasa.core.config.configuration import (
|
|
11
|
+
Configuration,
|
|
12
|
+
)
|
|
11
13
|
from rasa.exceptions import ModelNotFound
|
|
12
14
|
from rasa.shared.constants import (
|
|
13
15
|
DEFAULT_ACTIONS_PATH,
|
|
14
|
-
DEFAULT_CREDENTIALS_PATH,
|
|
15
|
-
DEFAULT_ENDPOINTS_PATH,
|
|
16
16
|
DEFAULT_MODELS_PATH,
|
|
17
17
|
DOCS_BASE_URL,
|
|
18
18
|
)
|
|
@@ -86,11 +86,10 @@ def run(args: argparse.Namespace) -> None:
|
|
|
86
86
|
Args:
|
|
87
87
|
args: The CLI arguments.
|
|
88
88
|
"""
|
|
89
|
-
|
|
90
|
-
args.endpoints,
|
|
91
|
-
)
|
|
92
|
-
|
|
93
|
-
args.credentials, "credentials", DEFAULT_CREDENTIALS_PATH, True
|
|
89
|
+
Configuration.initialise_endpoints(
|
|
90
|
+
args.endpoints,
|
|
91
|
+
).initialise_sub_agents(args.sub_agents).initialise_credentials(
|
|
92
|
+
args.credentials,
|
|
94
93
|
)
|
|
95
94
|
|
|
96
95
|
if SkipYamlValidation.DOMAIN.value in args.skip_yaml_validation:
|
|
@@ -109,7 +108,6 @@ def run(args: argparse.Namespace) -> None:
|
|
|
109
108
|
# configured
|
|
110
109
|
|
|
111
110
|
import rasa.model
|
|
112
|
-
from rasa.core.available_endpoints import AvailableEndpoints
|
|
113
111
|
|
|
114
112
|
# start server if remote storage is configured
|
|
115
113
|
if args.remote_storage is not None:
|
|
@@ -117,7 +115,7 @@ def run(args: argparse.Namespace) -> None:
|
|
|
117
115
|
return
|
|
118
116
|
|
|
119
117
|
# start server if model server is configured
|
|
120
|
-
endpoints =
|
|
118
|
+
endpoints = Configuration.get_instance().endpoints
|
|
121
119
|
model_server = endpoints.model if endpoints and endpoints.model else None
|
|
122
120
|
if model_server is not None:
|
|
123
121
|
rasa_run(**vars(args))
|
rasa/cli/scaffold.py
CHANGED
|
@@ -5,6 +5,9 @@ from collections import defaultdict
|
|
|
5
5
|
from enum import Enum
|
|
6
6
|
from typing import List, Text
|
|
7
7
|
|
|
8
|
+
import randomname
|
|
9
|
+
import structlog
|
|
10
|
+
|
|
8
11
|
from rasa import telemetry
|
|
9
12
|
from rasa.api import train
|
|
10
13
|
from rasa.cli import SubParsersAction
|
|
@@ -16,21 +19,38 @@ from rasa.shared.constants import (
|
|
|
16
19
|
DEFAULT_MODELS_PATH,
|
|
17
20
|
DOCS_BASE_URL,
|
|
18
21
|
)
|
|
22
|
+
from rasa.shared.utils import yaml
|
|
19
23
|
from rasa.shared.utils.cli import print_error_and_exit, print_success
|
|
20
24
|
|
|
25
|
+
structlogger = structlog.get_logger(__name__)
|
|
26
|
+
|
|
21
27
|
|
|
22
28
|
class ProjectTemplateName(Enum):
|
|
23
29
|
"""Enum of CALM project templates."""
|
|
24
30
|
|
|
25
31
|
DEFAULT = "default"
|
|
26
32
|
TUTORIAL = "tutorial"
|
|
33
|
+
BASIC = "basic"
|
|
34
|
+
FINANCE = "finance"
|
|
35
|
+
TELCO = "telco"
|
|
27
36
|
|
|
28
37
|
def __str__(self) -> str:
|
|
29
38
|
return self.value
|
|
30
39
|
|
|
40
|
+
@classmethod
|
|
41
|
+
def get_all_values(cls) -> List[str]:
|
|
42
|
+
return [name.value for name in cls]
|
|
43
|
+
|
|
44
|
+
@classmethod
|
|
45
|
+
def supported_values(cls) -> str:
|
|
46
|
+
return ", ".join(cls.get_all_values())
|
|
47
|
+
|
|
31
48
|
|
|
32
49
|
template_domain_path = defaultdict(lambda: DEFAULT_DOMAIN_PATH)
|
|
33
50
|
template_domain_path[ProjectTemplateName.DEFAULT] = "domain"
|
|
51
|
+
template_domain_path[ProjectTemplateName.BASIC] = "domain"
|
|
52
|
+
template_domain_path[ProjectTemplateName.FINANCE] = "domain"
|
|
53
|
+
template_domain_path[ProjectTemplateName.TELCO] = "domain"
|
|
34
54
|
|
|
35
55
|
|
|
36
56
|
def add_subparser(
|
|
@@ -84,10 +104,10 @@ def print_train_or_instructions(args: argparse.Namespace) -> None:
|
|
|
84
104
|
if should_train:
|
|
85
105
|
print_success("Training an initial model...")
|
|
86
106
|
training_result = train(
|
|
87
|
-
template_domain_path[args.template],
|
|
88
|
-
DEFAULT_CONFIG_PATH,
|
|
89
|
-
DEFAULT_DATA_PATH,
|
|
90
|
-
DEFAULT_MODELS_PATH,
|
|
107
|
+
domain=template_domain_path[args.template],
|
|
108
|
+
config=DEFAULT_CONFIG_PATH,
|
|
109
|
+
training_files=DEFAULT_DATA_PATH,
|
|
110
|
+
output=DEFAULT_MODELS_PATH,
|
|
91
111
|
)
|
|
92
112
|
args.model = training_result.model
|
|
93
113
|
|
|
@@ -159,9 +179,33 @@ def create_initial_project(
|
|
|
159
179
|
path: Text, template: ProjectTemplateName = ProjectTemplateName.DEFAULT
|
|
160
180
|
) -> None:
|
|
161
181
|
"""Creates directory structure and templates for initial project."""
|
|
162
|
-
|
|
182
|
+
import distutils.dir_util as dir_util
|
|
183
|
+
|
|
184
|
+
# clear the cache of the copy_tree function, this avoids issues if
|
|
185
|
+
# a project directory existed before and we removed folders in it
|
|
186
|
+
# with shutil.rmtree. see
|
|
187
|
+
# https://stackoverflow.com/questions/9160227/dir-util-copy-tree-fails-after-shutil-rmtree
|
|
188
|
+
if hasattr(dir_util, "_path_created"):
|
|
189
|
+
dir_util._path_created.clear()
|
|
190
|
+
else:
|
|
191
|
+
dir_util.SkipRepeatAbsolutePaths.clear() # type: ignore[attr-defined]
|
|
192
|
+
dir_util.copy_tree(scaffold_path(template), path)
|
|
163
193
|
|
|
164
|
-
|
|
194
|
+
create_random_assistant_id(path)
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
def create_random_assistant_id(path: Text) -> None:
|
|
198
|
+
"""Create a random assistant id."""
|
|
199
|
+
assistant_id = f"{randomname.get_name()}"
|
|
200
|
+
config = yaml.read_yaml_file(os.path.join(path, "config.yml"))
|
|
201
|
+
|
|
202
|
+
if isinstance(config, dict):
|
|
203
|
+
config["assistant_id"] = assistant_id
|
|
204
|
+
yaml.write_yaml(config, os.path.join(path, "config.yml"))
|
|
205
|
+
else:
|
|
206
|
+
structlogger.warning(
|
|
207
|
+
"cli.scaffold.create_random_assistant_id.invalid_config", config=config
|
|
208
|
+
)
|
|
165
209
|
|
|
166
210
|
|
|
167
211
|
def scaffold_path(template: ProjectTemplateName) -> Text:
|
rasa/cli/shell.py
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import argparse
|
|
2
2
|
import logging
|
|
3
3
|
import uuid
|
|
4
|
+
from pathlib import Path
|
|
4
5
|
from typing import List
|
|
5
6
|
|
|
6
7
|
from rasa import telemetry
|
|
7
8
|
from rasa.cli import SubParsersAction
|
|
8
9
|
from rasa.cli.arguments import shell as arguments
|
|
9
|
-
from rasa.
|
|
10
|
+
from rasa.cli.arguments.default_arguments import add_sub_agents_param
|
|
11
|
+
from rasa.core.config.configuration import Configuration
|
|
10
12
|
from rasa.engine.storage.local_model_storage import LocalModelStorage
|
|
11
13
|
from rasa.exceptions import ModelNotFound
|
|
12
14
|
from rasa.model import get_local_model
|
|
@@ -45,6 +47,8 @@ def add_subparser(
|
|
|
45
47
|
help="Set the conversation ID.",
|
|
46
48
|
)
|
|
47
49
|
|
|
50
|
+
add_sub_agents_param(shell_parser)
|
|
51
|
+
|
|
48
52
|
run_subparsers = shell_parser.add_subparsers()
|
|
49
53
|
|
|
50
54
|
shell_nlu_subparser = run_subparsers.add_parser(
|
|
@@ -64,7 +68,7 @@ def add_subparser(
|
|
|
64
68
|
def shell_nlu(args: argparse.Namespace) -> None:
|
|
65
69
|
"""Talk with an NLU only bot though the command line."""
|
|
66
70
|
import rasa.nlu.run
|
|
67
|
-
from rasa.cli.
|
|
71
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
68
72
|
from rasa.shared.constants import DEFAULT_MODELS_PATH
|
|
69
73
|
|
|
70
74
|
args.connector = "cmdline"
|
|
@@ -102,15 +106,16 @@ def shell_nlu(args: argparse.Namespace) -> None:
|
|
|
102
106
|
|
|
103
107
|
def shell(args: argparse.Namespace) -> None:
|
|
104
108
|
"""Talk with a bot though the command line."""
|
|
105
|
-
from rasa.cli.
|
|
109
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
106
110
|
from rasa.shared.constants import DEFAULT_MODELS_PATH
|
|
107
111
|
|
|
108
112
|
args.connector = "cmdline"
|
|
109
113
|
# Load endpoints with proper endpoint file location
|
|
110
114
|
# This will initialise the endpoints singleton properly so that
|
|
111
115
|
# it can be used safely throughout the codebase with
|
|
112
|
-
# `
|
|
113
|
-
|
|
116
|
+
# `Configuration.get_instance().endpoints`
|
|
117
|
+
Configuration.initialise_endpoints(endpoints_path=Path(args.endpoints))
|
|
118
|
+
Configuration.initialise_sub_agents(args.sub_agents)
|
|
114
119
|
model = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH)
|
|
115
120
|
|
|
116
121
|
try:
|
rasa/cli/studio/studio.py
CHANGED
|
@@ -12,7 +12,7 @@ import rasa.cli.studio.train
|
|
|
12
12
|
import rasa.cli.studio.upload
|
|
13
13
|
import rasa.shared.utils.cli
|
|
14
14
|
from rasa.cli import SubParsersAction
|
|
15
|
-
from rasa.cli.
|
|
15
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
16
16
|
from rasa.shared.constants import DEFAULT_DOMAIN_PATH, DEFAULT_DOMAIN_PATHS
|
|
17
17
|
from rasa.studio.auth import StudioAuth
|
|
18
18
|
from rasa.studio.config import StudioConfig
|
rasa/cli/test.py
CHANGED
|
@@ -11,6 +11,13 @@ import rasa.shared.utils.io
|
|
|
11
11
|
import rasa.utils.common
|
|
12
12
|
from rasa.cli import SubParsersAction
|
|
13
13
|
from rasa.cli.arguments import test as arguments
|
|
14
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
15
|
+
from rasa.core.config.configuration import (
|
|
16
|
+
Configuration,
|
|
17
|
+
CredentialsConfigPath,
|
|
18
|
+
EndpointsConfigPath,
|
|
19
|
+
MessageProcessingConfigPath,
|
|
20
|
+
)
|
|
14
21
|
from rasa.core.constants import (
|
|
15
22
|
FAILED_STORIES_FILE,
|
|
16
23
|
STORIES_WITH_WARNINGS_FILE,
|
|
@@ -100,10 +107,16 @@ async def run_core_test_async(args: argparse.Namespace) -> None:
|
|
|
100
107
|
test_core_models_in_directory,
|
|
101
108
|
)
|
|
102
109
|
|
|
103
|
-
|
|
104
|
-
|
|
110
|
+
Configuration.initialise_endpoints(
|
|
111
|
+
endpoints_path=EndpointsConfigPath.validate(),
|
|
112
|
+
).initialise_credentials(
|
|
113
|
+
credentials_path=CredentialsConfigPath.validate()
|
|
114
|
+
).initialise_message_processing(
|
|
115
|
+
message_processing_config_path=MessageProcessingConfigPath.validate()
|
|
105
116
|
)
|
|
106
117
|
|
|
118
|
+
stories = get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH)
|
|
119
|
+
|
|
107
120
|
output = args.out or DEFAULT_RESULTS_PATH
|
|
108
121
|
args.errors = not args.no_errors
|
|
109
122
|
args.warnings = not args.no_warnings
|
|
@@ -121,9 +134,7 @@ async def run_core_test_async(args: argparse.Namespace) -> None:
|
|
|
121
134
|
return
|
|
122
135
|
|
|
123
136
|
if isinstance(args.model, str):
|
|
124
|
-
model_path =
|
|
125
|
-
args.model, "model", DEFAULT_MODELS_PATH
|
|
126
|
-
)
|
|
137
|
+
model_path = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH)
|
|
127
138
|
|
|
128
139
|
if args.evaluate_model_directory:
|
|
129
140
|
await test_core_models_in_directory(
|
|
@@ -182,9 +193,7 @@ async def run_nlu_test_async(
|
|
|
182
193
|
test_nlu,
|
|
183
194
|
)
|
|
184
195
|
|
|
185
|
-
data_path = str(
|
|
186
|
-
rasa.cli.utils.get_validated_path(data_path, "nlu", DEFAULT_DATA_PATH)
|
|
187
|
-
)
|
|
196
|
+
data_path = str(get_validated_path(data_path, "nlu", DEFAULT_DATA_PATH))
|
|
188
197
|
test_data_importer = TrainingDataImporter.load_from_dict(
|
|
189
198
|
training_data_paths=[data_path], domain_path=domain_path
|
|
190
199
|
)
|
|
@@ -225,18 +234,29 @@ async def run_nlu_test_async(
|
|
|
225
234
|
)
|
|
226
235
|
elif cross_validation:
|
|
227
236
|
logger.info("Test model using cross validation.")
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
237
|
+
|
|
238
|
+
Configuration.initialise_endpoints(
|
|
239
|
+
endpoints_path=EndpointsConfigPath.validate(),
|
|
240
|
+
).initialise_credentials(
|
|
241
|
+
credentials_path=CredentialsConfigPath.validate()
|
|
242
|
+
).initialise_message_processing(
|
|
243
|
+
message_processing_config_path=MessageProcessingConfigPath.validate(config),
|
|
232
244
|
)
|
|
245
|
+
|
|
246
|
+
config = str(get_validated_path(config, "config", DEFAULT_CONFIG_PATH))
|
|
233
247
|
config_importer = TrainingDataImporter.load_from_dict(config_path=config)
|
|
234
248
|
|
|
235
249
|
config_dict = config_importer.get_config()
|
|
236
250
|
await perform_nlu_cross_validation(config_dict, nlu_data, output, all_args)
|
|
237
251
|
else:
|
|
238
|
-
model_path =
|
|
239
|
-
|
|
252
|
+
model_path = get_validated_path(models_path, "model", DEFAULT_MODELS_PATH)
|
|
253
|
+
|
|
254
|
+
Configuration.initialise_endpoints(
|
|
255
|
+
endpoints_path=EndpointsConfigPath.validate(),
|
|
256
|
+
).initialise_credentials(
|
|
257
|
+
credentials_path=CredentialsConfigPath.validate()
|
|
258
|
+
).initialise_message_processing(
|
|
259
|
+
message_processing_config_path=MessageProcessingConfigPath.validate(config),
|
|
240
260
|
)
|
|
241
261
|
|
|
242
262
|
await test_nlu(model_path, data_path, output, all_args, domain_path=domain_path)
|
rasa/cli/train.py
CHANGED
|
@@ -7,15 +7,18 @@ from typing import Dict, List, Optional, Text, Union
|
|
|
7
7
|
import structlog
|
|
8
8
|
|
|
9
9
|
import rasa.cli.arguments.train as train_arguments
|
|
10
|
-
import rasa.cli.utils
|
|
11
|
-
import rasa.core.utils
|
|
12
|
-
import rasa.utils.common
|
|
13
10
|
from rasa.cli import SubParsersAction
|
|
11
|
+
from rasa.cli.validation.bot_config import validate_files
|
|
12
|
+
from rasa.cli.validation.config_path_validation import (
|
|
13
|
+
get_validated_config,
|
|
14
|
+
get_validated_path,
|
|
15
|
+
)
|
|
16
|
+
from rasa.core.config.configuration import Configuration
|
|
14
17
|
from rasa.core.nlg.contextual_response_rephraser import ContextualResponseRephraser
|
|
15
18
|
from rasa.core.nlg.generator import NaturalLanguageGenerator
|
|
16
19
|
from rasa.core.train import do_compare_training
|
|
17
20
|
from rasa.engine.validation import validate_api_type_config_key_usage
|
|
18
|
-
from rasa.exceptions import
|
|
21
|
+
from rasa.exceptions import DetailedRasaException
|
|
19
22
|
from rasa.shared.constants import (
|
|
20
23
|
CONFIG_MANDATORY_KEYS,
|
|
21
24
|
CONFIG_MANDATORY_KEYS_CORE,
|
|
@@ -74,7 +77,9 @@ def add_subparser(
|
|
|
74
77
|
|
|
75
78
|
def _check_nlg_endpoint_validity(endpoint: Union[Path, str]) -> None:
|
|
76
79
|
try:
|
|
77
|
-
endpoints =
|
|
80
|
+
endpoints = Configuration.initialise_endpoints(
|
|
81
|
+
endpoints_path=endpoint
|
|
82
|
+
).endpoints
|
|
78
83
|
if endpoints.nlg is not None:
|
|
79
84
|
validate_api_type_config_key_usage(
|
|
80
85
|
endpoints.nlg.kwargs,
|
|
@@ -82,7 +87,7 @@ def _check_nlg_endpoint_validity(endpoint: Union[Path, str]) -> None:
|
|
|
82
87
|
ContextualResponseRephraser.__name__,
|
|
83
88
|
)
|
|
84
89
|
NaturalLanguageGenerator.create(endpoints.nlg)
|
|
85
|
-
except
|
|
90
|
+
except DetailedRasaException as e:
|
|
86
91
|
structlogger.error(
|
|
87
92
|
e.code,
|
|
88
93
|
event_info=e.info,
|
|
@@ -115,21 +120,18 @@ def run_training(args: argparse.Namespace, can_exit: bool = False) -> Optional[T
|
|
|
115
120
|
"""
|
|
116
121
|
from rasa.api import train as train_all
|
|
117
122
|
|
|
118
|
-
domain =
|
|
123
|
+
domain = get_validated_path(
|
|
119
124
|
args.domain, "domain", DEFAULT_DOMAIN_PATHS, none_is_valid=True
|
|
120
125
|
)
|
|
121
|
-
config =
|
|
126
|
+
config = get_validated_config(args.config, CONFIG_MANDATORY_KEYS)
|
|
122
127
|
|
|
123
128
|
# Validates and loads endpoints with proper endpoint file location
|
|
124
|
-
#
|
|
125
|
-
# it can be used safely throughout the codebase with
|
|
126
|
-
# `AvailableEndpoints.get_instance()`
|
|
129
|
+
# TODO(Radovan): this should be probably be done in Configuration
|
|
127
130
|
_check_nlg_endpoint_validity(args.endpoints)
|
|
131
|
+
Configuration.initialise_sub_agents(args.sub_agents)
|
|
128
132
|
|
|
129
133
|
training_files = [
|
|
130
|
-
|
|
131
|
-
f, "data", DEFAULT_DATA_PATH, none_is_valid=True
|
|
132
|
-
)
|
|
134
|
+
get_validated_path(f, "data", DEFAULT_DATA_PATH, none_is_valid=True)
|
|
133
135
|
for f in args.data
|
|
134
136
|
]
|
|
135
137
|
|
|
@@ -143,15 +145,17 @@ def run_training(args: argparse.Namespace, can_exit: bool = False) -> Optional[T
|
|
|
143
145
|
event_info="Started validating domain and training data...",
|
|
144
146
|
)
|
|
145
147
|
|
|
146
|
-
|
|
148
|
+
validate_files(
|
|
147
149
|
args.fail_on_validation_warnings,
|
|
148
150
|
args.validation_max_history,
|
|
149
151
|
training_data_importer,
|
|
152
|
+
sub_agents=args.sub_agents,
|
|
150
153
|
)
|
|
151
154
|
|
|
152
155
|
training_result = train_all(
|
|
153
156
|
domain=domain,
|
|
154
157
|
config=config,
|
|
158
|
+
endpoints=args.endpoints,
|
|
155
159
|
training_files=training_files,
|
|
156
160
|
output=args.out,
|
|
157
161
|
dry_run=args.dry_run,
|
|
@@ -168,6 +172,7 @@ def run_training(args: argparse.Namespace, can_exit: bool = False) -> Optional[T
|
|
|
168
172
|
file_importer=training_data_importer,
|
|
169
173
|
keep_local_model_copy=args.keep_local_model_copy,
|
|
170
174
|
remote_root_only=args.remote_root_only,
|
|
175
|
+
sub_agents=args.sub_agents,
|
|
171
176
|
)
|
|
172
177
|
if training_result.code != 0 and can_exit:
|
|
173
178
|
display_research_study_prompt()
|
|
@@ -177,13 +182,19 @@ def run_training(args: argparse.Namespace, can_exit: bool = False) -> Optional[T
|
|
|
177
182
|
|
|
178
183
|
|
|
179
184
|
def _model_for_finetuning(args: argparse.Namespace) -> Optional[Text]:
|
|
180
|
-
if args.finetune
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
185
|
+
if args.finetune is not None:
|
|
186
|
+
structlogger.error(
|
|
187
|
+
"cli.train.incremental_training_not_supported",
|
|
188
|
+
event_info=(
|
|
189
|
+
"Incremental training (--finetune) is "
|
|
190
|
+
"not supported in Rasa 3.14.0 onwards. "
|
|
191
|
+
"Please retrain your model from scratch "
|
|
192
|
+
"if you have updated your configuration. "
|
|
193
|
+
),
|
|
194
|
+
)
|
|
195
|
+
display_research_study_prompt()
|
|
196
|
+
sys.exit(1)
|
|
197
|
+
return None
|
|
187
198
|
|
|
188
199
|
|
|
189
200
|
def run_core_training(args: argparse.Namespace) -> Optional[Text]:
|
|
@@ -197,10 +208,10 @@ def run_core_training(args: argparse.Namespace) -> Optional[Text]:
|
|
|
197
208
|
"""
|
|
198
209
|
from rasa.model_training import train_core
|
|
199
210
|
|
|
200
|
-
args.domain =
|
|
211
|
+
args.domain = get_validated_path(
|
|
201
212
|
args.domain, "domain", DEFAULT_DOMAIN_PATHS, none_is_valid=True
|
|
202
213
|
)
|
|
203
|
-
story_file =
|
|
214
|
+
story_file = get_validated_path(
|
|
204
215
|
args.stories, "stories", DEFAULT_DATA_PATH, none_is_valid=True
|
|
205
216
|
)
|
|
206
217
|
additional_arguments = {
|
|
@@ -213,9 +224,11 @@ def run_core_training(args: argparse.Namespace) -> Optional[Text]:
|
|
|
213
224
|
if isinstance(args.config, list):
|
|
214
225
|
args.config = args.config[0]
|
|
215
226
|
|
|
216
|
-
config =
|
|
217
|
-
|
|
218
|
-
|
|
227
|
+
config = get_validated_config(args.config, CONFIG_MANDATORY_KEYS_CORE)
|
|
228
|
+
|
|
229
|
+
Configuration.initialise_message_processing(
|
|
230
|
+
message_processing_config_path=Path(config)
|
|
231
|
+
).initialise_empty_endpoints()
|
|
219
232
|
|
|
220
233
|
return asyncio.run(
|
|
221
234
|
train_core(
|
|
@@ -231,6 +244,7 @@ def run_core_training(args: argparse.Namespace) -> Optional[Text]:
|
|
|
231
244
|
)
|
|
232
245
|
)
|
|
233
246
|
else:
|
|
247
|
+
Configuration.initialise_empty()
|
|
234
248
|
asyncio.run(do_compare_training(args, story_file, additional_arguments))
|
|
235
249
|
return None
|
|
236
250
|
|
|
@@ -246,13 +260,13 @@ def run_nlu_training(args: argparse.Namespace) -> Optional[Text]:
|
|
|
246
260
|
"""
|
|
247
261
|
from rasa.model_training import train_nlu
|
|
248
262
|
|
|
249
|
-
config =
|
|
250
|
-
nlu_data =
|
|
263
|
+
config = get_validated_config(args.config, CONFIG_MANDATORY_KEYS_NLU)
|
|
264
|
+
nlu_data = get_validated_path(
|
|
251
265
|
args.nlu, "nlu", DEFAULT_DATA_PATH, none_is_valid=True
|
|
252
266
|
)
|
|
253
267
|
|
|
254
268
|
if args.domain:
|
|
255
|
-
args.domain =
|
|
269
|
+
args.domain = get_validated_path(
|
|
256
270
|
args.domain, "domain", DEFAULT_DOMAIN_PATHS, none_is_valid=True
|
|
257
271
|
)
|
|
258
272
|
|