rasa-pro 3.14.0.dev4__py3-none-any.whl → 3.14.0.dev5__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/api.py +0 -5
- rasa/builder/README.md +120 -0
- rasa/builder/auth.py +176 -0
- rasa/builder/config.py +115 -0
- rasa/builder/copilot/constants.py +25 -0
- rasa/builder/copilot/copilot.py +372 -0
- rasa/builder/copilot/copilot_response_handler.py +487 -0
- rasa/builder/copilot/copilot_templated_message_provider.py +58 -0
- rasa/builder/copilot/exceptions.py +20 -0
- rasa/builder/copilot/models.py +431 -0
- rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +726 -0
- rasa/builder/copilot/telemetry.py +195 -0
- rasa/builder/copilot/templated_messages/copilot_internal_messages_templates.yml +16 -0
- rasa/builder/copilot/templated_messages/copilot_templated_responses.yml +26 -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 +55 -0
- rasa/builder/guardrails/__init__.py +1 -0
- rasa/builder/guardrails/constants.py +3 -0
- rasa/builder/guardrails/exceptions.py +4 -0
- rasa/builder/guardrails/lakera.py +206 -0
- rasa/builder/guardrails/models.py +199 -0
- rasa/builder/guardrails/utils.py +305 -0
- rasa/builder/job_manager.py +87 -0
- rasa/builder/jobs.py +234 -0
- rasa/builder/llm_service.py +246 -0
- rasa/builder/logging_utils.py +209 -0
- rasa/builder/main.py +174 -0
- rasa/builder/models.py +197 -0
- rasa/builder/project_generator.py +450 -0
- rasa/builder/project_info.py +72 -0
- rasa/builder/scrape_rasa_docs.py +97 -0
- rasa/builder/service.py +1142 -0
- rasa/builder/shared/tracker_context.py +212 -0
- rasa/builder/skill_to_bot_prompt.jinja2 +164 -0
- rasa/builder/training_service.py +132 -0
- rasa/builder/validation_service.py +93 -0
- rasa/cli/arguments/default_arguments.py +0 -12
- rasa/cli/arguments/run.py +0 -2
- rasa/cli/dialogue_understanding_test.py +0 -4
- rasa/cli/e2e_test.py +0 -4
- rasa/cli/inspect.py +0 -3
- rasa/cli/llm_fine_tuning.py +0 -5
- rasa/cli/project_templates/basic/actions/action_api.py +15 -0
- rasa/cli/project_templates/basic/actions/action_human_handoff.py +44 -0
- rasa/cli/project_templates/basic/config.yml +23 -0
- rasa/cli/project_templates/basic/credentials.yml +34 -0
- rasa/cli/project_templates/basic/data/general/feedback.yml +20 -0
- rasa/cli/project_templates/basic/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/basic/data/general/hello.yml +7 -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/welcome.yml +9 -0
- rasa/cli/project_templates/basic/data/system/pattern_completed.yml +7 -0
- rasa/cli/project_templates/basic/data/system/pattern_correction.yml +7 -0
- rasa/cli/project_templates/basic/data/system/pattern_search.yml +8 -0
- rasa/cli/project_templates/basic/data/system/pattern_session_start.yml +8 -0
- rasa/cli/project_templates/basic/docs/rasa_assistant_qa.txt +65 -0
- rasa/cli/project_templates/basic/docs/template.txt +7 -0
- rasa/cli/project_templates/basic/domain/general/assistant_details.yml +12 -0
- rasa/cli/project_templates/basic/domain/general/bot_identity.yml +5 -0
- rasa/cli/project_templates/basic/domain/general/cannot_handle.yml +5 -0
- rasa/cli/project_templates/basic/domain/general/feedback.yml +28 -0
- rasa/cli/project_templates/basic/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/basic/domain/general/help.yml +5 -0
- rasa/cli/project_templates/basic/domain/general/human_handoff_domain.yml +35 -0
- rasa/cli/project_templates/basic/domain/general/utils.yml +13 -0
- rasa/cli/project_templates/basic/domain/general/welcome.yml +7 -0
- rasa/cli/project_templates/basic/endpoints.yml +73 -0
- rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +19 -0
- rasa/cli/project_templates/finance/actions/__init__.py +46 -0
- rasa/cli/project_templates/finance/actions/accounts/action_ask_account.py +47 -0
- rasa/cli/project_templates/finance/actions/accounts/action_check_balance.py +40 -0
- rasa/cli/project_templates/finance/actions/action_session_start.py +74 -0
- rasa/cli/project_templates/finance/actions/cards/action_ask_card.py +48 -0
- rasa/cli/project_templates/finance/actions/cards/action_check_card_existence.py +36 -0
- rasa/cli/project_templates/finance/actions/cards/action_update_card_status.py +54 -0
- rasa/cli/project_templates/finance/actions/database.py +277 -0
- rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/transfers/action_add_payee.py +52 -0
- rasa/cli/project_templates/finance/actions/transfers/action_ask_account_from.py +51 -0
- rasa/cli/project_templates/finance/actions/transfers/action_check_payee_existence.py +40 -0
- rasa/cli/project_templates/finance/actions/transfers/action_check_sufficient_funds.py +40 -0
- rasa/cli/project_templates/finance/actions/transfers/action_list_payees.py +46 -0
- rasa/cli/project_templates/finance/actions/transfers/action_process_immediate_payment.py +18 -0
- rasa/cli/project_templates/finance/actions/transfers/action_remove_payee.py +49 -0
- rasa/cli/project_templates/finance/actions/transfers/action_schedule_payment.py +19 -0
- rasa/cli/project_templates/finance/actions/transfers/action_validate_payment_date.py +36 -0
- rasa/cli/project_templates/finance/config.yml +21 -0
- rasa/cli/project_templates/finance/credentials.yml +32 -0
- rasa/cli/project_templates/finance/csvs/accounts.csv +8 -0
- rasa/cli/project_templates/finance/csvs/advisors.csv +7 -0
- rasa/cli/project_templates/finance/csvs/appointments.csv +211 -0
- rasa/cli/project_templates/finance/csvs/branches.csv +10 -0
- rasa/cli/project_templates/finance/csvs/cards.csv +11 -0
- rasa/cli/project_templates/finance/csvs/payees.csv +11 -0
- rasa/cli/project_templates/finance/csvs/transactions.csv +71 -0
- rasa/cli/project_templates/finance/csvs/users.csv +4 -0
- rasa/cli/project_templates/finance/data/accounts/check_balance.yml +10 -0
- rasa/cli/project_templates/finance/data/cards/block_card.yml +66 -0
- rasa/cli/project_templates/finance/data/cards/select_card.yml +12 -0
- rasa/cli/project_templates/finance/data/general/bot_identity.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 +7 -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_chitchat.yml +5 -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/system/source/accounts.json +51 -0
- rasa/cli/project_templates/finance/data/system/source/advisors.json +44 -0
- rasa/cli/project_templates/finance/data/system/source/appointments.json +1474 -0
- rasa/cli/project_templates/finance/data/system/source/branches.json +47 -0
- rasa/cli/project_templates/finance/data/system/source/cards.json +72 -0
- rasa/cli/project_templates/finance/data/system/source/payees.json +74 -0
- rasa/cli/project_templates/finance/data/system/source/transactions.json +492 -0
- rasa/cli/project_templates/finance/data/system/source/users.json +29 -0
- rasa/cli/project_templates/finance/data/transfers/add_payee.yml +29 -0
- rasa/cli/project_templates/finance/data/transfers/list_payees.yml +5 -0
- rasa/cli/project_templates/finance/data/transfers/remove_payee.yml +21 -0
- rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +67 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +7 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +8 -0
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +8 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +48 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +47 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +50 -0
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +47 -0
- rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +11 -0
- rasa/cli/project_templates/finance/domain/cards/block_card.yml +101 -0
- rasa/cli/project_templates/finance/domain/cards/select_card.yml +12 -0
- rasa/cli/project_templates/finance/domain/general/assistant_details.yml +12 -0
- rasa/cli/project_templates/finance/domain/general/bot_identity.yml +5 -0
- rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +5 -0
- rasa/cli/project_templates/finance/domain/general/defaults.yml +24 -0
- rasa/cli/project_templates/finance/domain/general/feedback.yml +28 -0
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/finance/domain/general/help.yml +5 -0
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +30 -0
- rasa/cli/project_templates/finance/domain/general/utils.yml +13 -0
- rasa/cli/project_templates/finance/domain/general/welcome.yml +8 -0
- rasa/cli/project_templates/finance/domain/transfers/add_payee.yml +47 -0
- rasa/cli/project_templates/finance/domain/transfers/list_payees.yml +4 -0
- rasa/cli/project_templates/finance/domain/transfers/remove_payee.yml +16 -0
- rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +79 -0
- rasa/cli/project_templates/finance/endpoints.yml +63 -0
- rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +19 -0
- rasa/cli/project_templates/telco/actions/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/actions_billing.py +204 -0
- rasa/cli/project_templates/telco/actions/actions_get_data_from_db.py +48 -0
- rasa/cli/project_templates/telco/actions/actions_run_diagnostics.py +28 -0
- rasa/cli/project_templates/telco/actions/actions_session_start.py +18 -0
- rasa/cli/project_templates/telco/config.yml +25 -0
- rasa/cli/project_templates/telco/credentials.yml +33 -0
- rasa/cli/project_templates/telco/csvs/billing.csv +10 -0
- rasa/cli/project_templates/telco/csvs/customers.csv +5 -0
- rasa/cli/project_templates/telco/data/flows/flow_global.yml +5 -0
- rasa/cli/project_templates/telco/data/flows/flow_reboot_router.yml +8 -0
- rasa/cli/project_templates/telco/data/flows/flow_reset_router.yml +7 -0
- rasa/cli/project_templates/telco/data/flows/flow_solve_internet_issue.yml +73 -0
- rasa/cli/project_templates/telco/data/flows/flow_undertand_bill.yml +45 -0
- rasa/cli/project_templates/telco/data/patterns/pattern_completed.yml +7 -0
- rasa/cli/project_templates/telco/data/patterns/pattern_human_handoff.yml +6 -0
- rasa/cli/project_templates/telco/data/patterns/pattern_search.yml +7 -0
- rasa/cli/project_templates/telco/data/patterns/pattern_session_start.yml +9 -0
- rasa/cli/project_templates/telco/docs/reset_vs_rboot_router.txt +1 -0
- rasa/cli/project_templates/telco/docs/restart_router.txt +6 -0
- rasa/cli/project_templates/telco/docs/run_speed_test.txt +6 -0
- rasa/cli/project_templates/telco/domain/domain_global.yml +29 -0
- rasa/cli/project_templates/telco/domain/domain_patterns.yml +17 -0
- rasa/cli/project_templates/telco/domain/domain_reboot_router.yml +20 -0
- rasa/cli/project_templates/telco/domain/domain_reset_router.yml +11 -0
- rasa/cli/project_templates/telco/domain/domain_run_speed_test.yml +24 -0
- rasa/cli/project_templates/telco/domain/domain_solve_internet_issue.yml +74 -0
- rasa/cli/project_templates/telco/domain/domain_undertand_bill.yml +102 -0
- rasa/cli/project_templates/telco/endpoints.yml +60 -0
- rasa/{dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 → cli/project_templates/telco/prompts/command-generator.jinja2} +3 -7
- rasa/cli/project_templates/telco/tests/e2e_results_failed.yml +62 -0
- rasa/cli/project_templates/telco/tests/e2e_results_passed.yml +130 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/billing_test_cases.yml +68 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/global_test_cases.yml +13 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/internet_slow_test_case.yml +47 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/out_of_scope_test_case.yml +21 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/patterns_test_cases.yml +15 -0
- rasa/cli/project_templates/tutorial/config.yml +2 -1
- rasa/cli/run.py +0 -4
- rasa/cli/scaffold.py +46 -2
- rasa/cli/shell.py +0 -3
- rasa/constants.py +0 -6
- rasa/core/actions/action.py +10 -56
- rasa/core/agent.py +0 -16
- rasa/core/available_endpoints.py +0 -30
- rasa/core/channels/channel.py +4 -3
- rasa/core/channels/constants.py +3 -0
- rasa/core/channels/development_inspector.py +4 -4
- rasa/core/channels/hangouts.py +2 -2
- rasa/core/channels/inspector/dist/assets/{arc-63212852.js → arc-18042c22.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-eecf6b13.js → blockDiagram-38ab4fdb-fdd6bcfa.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-8f798a9a.js → c4Diagram-3d4e48cf-f5ae6786.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-b9b536fc.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-df71a04c.js → classDiagram-70f12bd4-81efba3e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-9b275968.js → classDiagram-v2-f2320105-3b6b6a92.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-78d2ddcf.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-1c669cad.js → createText-2e5e7dd3-31422447.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-b1553799.js → edges-e0da2a9e-518a90db.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-112388d6.js → erDiagram-9861fffd-a6d3c25a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-fdebec47.js → flowDb-956e92f1-e048c2be.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-6280ede1.js → flowDiagram-66a62f08-c7474c91.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-8b09c060.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-e1dc03e5.js → flowchart-elk-definition-4a651766-cb4d8723.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-83f68c51.js → ganttDiagram-c361ad54-346636a2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-22f8666f.js → gitGraphDiagram-72cf32ee-7c508874.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-ca9e6217.js → graph-14702d8a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-c5ceb692.js → index-3862675e-f18b534b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/index-4d4bdf3a.js +1335 -0
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-faa9999b.js → infoDiagram-f8f76790-64154b83.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-c4dda8d9.js → journeyDiagram-49397b02-833a5f95.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-d4307784.js → layout-5a3b2123.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-0567aaa7.js → line-2272a8c7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-c11b95cf.js → linear-35bcf273.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-0c7d3ca9.js → mindmap-definition-fc14e90a-92dcb0e9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-34b433fa.js → pieDiagram-8a3498a8-94dbc900.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-4cab816e.js → quadrantDiagram-120e2f19-8b7a9c33.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-8c22fa9e.js → requirementDiagram-deff3bca-6f7eab81.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-70ce9e8e.js → sankeyDiagram-04a897e0-f43e581d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-fbcd7fc9.js → sequenceDiagram-704730f1-0bcbefc3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-45f05ea6.js → stateDiagram-587899a1-b8a74083.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-beab1ea6.js → stateDiagram-v2-d93cdb3a-2070218f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-2f29dbd5.js → styles-6aaf32cf-f1d54e34.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-951eac83.js → styles-9a916d00-980de489.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-897fbfdd.js → styles-c10674c1-3c03abde.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-d667fac1.js → svgDrawCommon-08f97a94-46ba068f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-e3205144.js → timeline-definition-85554ec2-901f5e3d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-4abeb0e2.js → xychartDiagram-e933f94c-acbc628a.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +2 -2
- rasa/core/channels/inspector/index.html +1 -1
- rasa/core/channels/inspector/src/App.tsx +10 -11
- rasa/core/channels/inspector/src/components/DialogueInformation.tsx +12 -3
- rasa/core/channels/inspector/src/components/DialogueStack.tsx +4 -6
- rasa/core/channels/inspector/src/helpers/formatters.ts +3 -24
- rasa/core/channels/inspector/src/theme/base/styles.ts +1 -19
- rasa/core/channels/inspector/src/types.ts +0 -4
- rasa/core/channels/socketio.py +212 -51
- rasa/core/channels/studio_chat.py +49 -29
- rasa/core/channels/voice_stream/genesys.py +1 -1
- rasa/core/channels/voice_stream/voice_channel.py +5 -3
- rasa/core/constants.py +0 -4
- rasa/core/policies/enterprise_search_policy.py +6 -11
- rasa/core/policies/flow_policy.py +4 -4
- rasa/core/policies/flows/flow_executor.py +45 -456
- rasa/core/policies/intentless_policy.py +1 -1
- rasa/core/policies/unexpected_intent_policy.py +0 -1
- rasa/core/processor.py +15 -18
- rasa/core/run.py +14 -11
- rasa/core/tracker_stores/tracker_store.py +7 -3
- rasa/core/train.py +1 -1
- rasa/core/training/interactive.py +16 -16
- rasa/core/training/story_conflict.py +5 -5
- rasa/core/utils.py +1 -21
- rasa/dialogue_understanding/commands/__init__.py +0 -8
- rasa/dialogue_understanding/commands/cancel_flow_command.py +4 -97
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +0 -11
- rasa/dialogue_understanding/commands/clarify_command.py +0 -10
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +0 -11
- rasa/dialogue_understanding/commands/start_flow_command.py +8 -164
- rasa/dialogue_understanding/commands/utils.py +2 -6
- rasa/dialogue_understanding/generator/command_parser.py +0 -4
- rasa/dialogue_understanding/generator/flow_retrieval.py +10 -9
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +12 -50
- 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/single_step/compact_llm_command_generator.py +6 -7
- rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +6 -7
- rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +2 -41
- rasa/dialogue_understanding/patterns/continue_interrupted.py +1 -163
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +8 -52
- rasa/dialogue_understanding/processor/command_processor.py +15 -31
- rasa/dialogue_understanding/stack/dialogue_stack.py +2 -123
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +0 -57
- rasa/dialogue_understanding/stack/utils.py +2 -17
- rasa/dialogue_understanding_test/du_test_runner.py +2 -7
- rasa/e2e_test/e2e_test_runner.py +2 -12
- rasa/engine/caching.py +2 -2
- rasa/engine/recipes/default_components.py +18 -10
- rasa/engine/storage/local_model_storage.py +45 -2
- rasa/graph_components/validators/default_recipe_validator.py +134 -134
- 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 +1 -1
- rasa/model_manager/socket_bridge.py +20 -14
- rasa/model_manager/trainer_service.py +12 -9
- rasa/model_manager/utils.py +1 -29
- rasa/model_manager/warm_rasa_process.py +1 -1
- rasa/nlu/extractors/extractor.py +1 -2
- rasa/plugin.py +8 -8
- rasa/privacy/privacy_manager.py +2 -11
- rasa/server.py +2 -14
- rasa/shared/constants.py +0 -5
- rasa/shared/core/constants.py +1 -12
- rasa/shared/core/domain.py +58 -11
- rasa/shared/core/events.py +0 -327
- rasa/shared/core/flows/flow_step.py +7 -1
- rasa/shared/core/flows/flows_list.py +2 -2
- rasa/shared/core/flows/flows_yaml_schema.json +186 -112
- rasa/shared/core/flows/steps/call.py +5 -53
- rasa/shared/core/flows/validation.py +7 -46
- rasa/shared/core/flows/yaml_flows_io.py +17 -9
- rasa/shared/core/slots.py +6 -2
- rasa/shared/core/trackers.py +2 -5
- rasa/shared/exceptions.py +0 -4
- rasa/shared/importers/importer.py +6 -0
- rasa/shared/importers/utils.py +77 -1
- rasa/shared/providers/_utils.py +60 -44
- rasa/shared/providers/embedding/default_litellm_embedding_client.py +2 -0
- rasa/shared/providers/llm/_base_litellm_client.py +7 -39
- rasa/shared/providers/llm/default_litellm_llm_client.py +2 -0
- rasa/shared/providers/llm/litellm_router_llm_client.py +4 -8
- rasa/shared/providers/llm/llm_client.py +3 -7
- rasa/shared/providers/llm/llm_response.py +0 -49
- rasa/shared/providers/llm/self_hosted_llm_client.py +4 -8
- rasa/shared/utils/llm.py +5 -28
- rasa/shared/utils/schemas/events.py +0 -42
- rasa/shared/utils/yaml.py +1 -3
- rasa/studio/upload.py +16 -47
- rasa/telemetry.py +97 -23
- rasa/tracing/instrumentation/instrumentation.py +10 -12
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
- rasa/utils/common.py +0 -79
- rasa/utils/io.py +27 -9
- rasa/utils/json_utils.py +6 -1
- rasa/utils/log_utils.py +6 -2
- rasa/utils/ml_utils.py +1 -1
- rasa/utils/openapi.py +144 -0
- rasa/utils/tensorflow/rasa_layers.py +1 -1
- rasa/utils/train_utils.py +15 -15
- rasa/validator.py +21 -19
- rasa/version.py +1 -1
- {rasa_pro-3.14.0.dev4.dist-info → rasa_pro-3.14.0.dev5.dist-info}/METADATA +17 -14
- {rasa_pro-3.14.0.dev4.dist-info → rasa_pro-3.14.0.dev5.dist-info}/RECORD +431 -200
- rasa/agents/agent_factory.py +0 -122
- rasa/agents/agent_manager.py +0 -162
- rasa/agents/constants.py +0 -40
- rasa/agents/core/agent_protocol.py +0 -107
- rasa/agents/core/types.py +0 -70
- rasa/agents/exceptions.py +0 -8
- rasa/agents/protocol/__init__.py +0 -5
- rasa/agents/protocol/a2a/a2a_agent.py +0 -662
- rasa/agents/protocol/mcp/mcp_base_agent.py +0 -676
- rasa/agents/protocol/mcp/mcp_open_agent.py +0 -276
- rasa/agents/protocol/mcp/mcp_task_agent.py +0 -469
- rasa/agents/schemas/__init__.py +0 -12
- rasa/agents/schemas/agent_input.py +0 -38
- rasa/agents/schemas/agent_output.py +0 -26
- rasa/agents/schemas/agent_tool_result.py +0 -51
- rasa/agents/schemas/agent_tool_schema.py +0 -134
- rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +0 -15
- rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +0 -17
- rasa/agents/utils.py +0 -72
- rasa/core/available_agents.py +0 -199
- rasa/core/channels/inspector/dist/assets/channel-0cd70adf.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-a0f9c4ed.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-de9cc4aa.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-3e293924.js +0 -1353
- rasa/core/policies/flows/mcp_tool_executor.py +0 -277
- rasa/dialogue_understanding/commands/continue_agent_command.py +0 -91
- rasa/dialogue_understanding/commands/restart_agent_command.py +0 -162
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +0 -61
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +0 -81
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +0 -81
- rasa/shared/agents/utils.py +0 -35
- rasa/shared/utils/mcp/server_connection.py +0 -157
- /rasa/{agents → builder}/__init__.py +0 -0
- /rasa/{agents/core → builder/copilot}/__init__.py +0 -0
- /rasa/{agents/protocol/a2a → builder/copilot/prompts}/__init__.py +0 -0
- /rasa/{agents/protocol/mcp → builder/copilot/templated_messages}/__init__.py +0 -0
- /rasa/{agents/templates → builder/document_retrieval}/__init__.py +0 -0
- /rasa/{shared/agents → cli/project_templates/finance/actions/accounts}/__init__.py +0 -0
- /rasa/{shared/utils/mcp → cli/project_templates/finance/actions/cards}/__init__.py +0 -0
- {rasa_pro-3.14.0.dev4.dist-info → rasa_pro-3.14.0.dev5.dist-info}/NOTICE +0 -0
- {rasa_pro-3.14.0.dev4.dist-info → rasa_pro-3.14.0.dev5.dist-info}/WHEEL +0 -0
- {rasa_pro-3.14.0.dev4.dist-info → rasa_pro-3.14.0.dev5.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
test_results:
|
|
2
|
+
|
|
3
|
+
- name: billing happy path
|
|
4
|
+
pass_status: true
|
|
5
|
+
expected_steps:
|
|
6
|
+
- user: "I would like to check my bill"
|
|
7
|
+
assertions:
|
|
8
|
+
- flow_started: "understand_bill"
|
|
9
|
+
- bot_uttered:
|
|
10
|
+
utter_name: utter_ask_bill_month
|
|
11
|
+
- user: "January"
|
|
12
|
+
assertions:
|
|
13
|
+
- slot_was_set:
|
|
14
|
+
- name: "bill_month"
|
|
15
|
+
value: "January"
|
|
16
|
+
- action_executed: action_verify_bill_by_date
|
|
17
|
+
- bot_uttered:
|
|
18
|
+
utter_name: utter_ask_breakdown_cost
|
|
19
|
+
text_matches: Would you like to see the breakdown of the costs?
|
|
20
|
+
buttons:
|
|
21
|
+
- title: "Yes, please"
|
|
22
|
+
payload: "/SetSlots(breakdown_cost=True)"
|
|
23
|
+
- title: "No, all good"
|
|
24
|
+
payload: "/SetSlots(breakdown_cost=False)"
|
|
25
|
+
- user: "Yes, please"
|
|
26
|
+
assertions:
|
|
27
|
+
- action_executed: action_recap_bill
|
|
28
|
+
- bot_uttered:
|
|
29
|
+
utter_name: utter_ask_more_bill_details
|
|
30
|
+
- user: "/SetSlots(more_bill_details=True)"
|
|
31
|
+
assertions:
|
|
32
|
+
- bot_uttered:
|
|
33
|
+
utter_name: utter_provide_bill_sources
|
|
34
|
+
|
|
35
|
+
- name: billing unhappy path
|
|
36
|
+
pass_status: true
|
|
37
|
+
expected_steps:
|
|
38
|
+
- user: "I would like to check my bill"
|
|
39
|
+
assertions:
|
|
40
|
+
- flow_started: "understand_bill"
|
|
41
|
+
- bot_uttered:
|
|
42
|
+
utter_name: utter_ask_bill_month
|
|
43
|
+
- user: "February"
|
|
44
|
+
assertions:
|
|
45
|
+
- slot_was_set:
|
|
46
|
+
- name: "bill_month"
|
|
47
|
+
value: "February"
|
|
48
|
+
- action_executed: action_verify_bill_by_date
|
|
49
|
+
- bot_uttered:
|
|
50
|
+
utter_name: utter_ask_breakdown_cost
|
|
51
|
+
text_matches: Would you like to see the breakdown of the costs?
|
|
52
|
+
buttons:
|
|
53
|
+
- title: "Yes, please"
|
|
54
|
+
payload: "/SetSlots(breakdown_cost=True)"
|
|
55
|
+
- title: "No, all good"
|
|
56
|
+
payload: "/SetSlots(breakdown_cost=False)"
|
|
57
|
+
- user: "/SetSlots(breakdown_cost=False)"
|
|
58
|
+
assertions:
|
|
59
|
+
- bot_uttered:
|
|
60
|
+
utter_name: utter_ask_issue_solved
|
|
61
|
+
- user: "/SetSlots(issue_solved=True)"
|
|
62
|
+
assertions:
|
|
63
|
+
- bot_uttered:
|
|
64
|
+
utter_name: utter_end_conversation
|
|
65
|
+
|
|
66
|
+
- name: bot challenge and ask to connect to a human agent
|
|
67
|
+
pass_status: true
|
|
68
|
+
expected_steps:
|
|
69
|
+
- user: "who am I talking with?"
|
|
70
|
+
assertions:
|
|
71
|
+
- flow_started: "bot_challenge"
|
|
72
|
+
- bot_uttered:
|
|
73
|
+
utter_name: "utter_bot_challenge"
|
|
74
|
+
- user: "Indeed, I would like to speak with a human"
|
|
75
|
+
assertions:
|
|
76
|
+
- flow_started: "pattern_human_handoff"
|
|
77
|
+
- bot_uttered:
|
|
78
|
+
utter_name: "utter_more_help_needed_handoff_pattern"
|
|
79
|
+
|
|
80
|
+
- name: Solving Internet issue not slow
|
|
81
|
+
pass_status: true
|
|
82
|
+
expected_steps:
|
|
83
|
+
- user: "Hey, my internet is very slow. What's going on?"
|
|
84
|
+
assertions:
|
|
85
|
+
- flow_started: "fix_internet_slow"
|
|
86
|
+
- bot_uttered:
|
|
87
|
+
utter_name: "utter_acknowledge_issue"
|
|
88
|
+
- action_executed: action_sleep_few_sec
|
|
89
|
+
- flow_started: "run_diagnostics"
|
|
90
|
+
- bot_uttered:
|
|
91
|
+
utter_name: "utter_speed_network_not_issue"
|
|
92
|
+
- action_executed: "actions_run_speed_test"
|
|
93
|
+
- bot_uttered:
|
|
94
|
+
utter_name: "utter_propose_other_solutions"
|
|
95
|
+
- action_executed: "action_sleep_few_sec"
|
|
96
|
+
- bot_uttered:
|
|
97
|
+
utter_name: "utter_ask_more_help_needed"
|
|
98
|
+
- user: "/SetSlots(more_help_needed=True)"
|
|
99
|
+
assertions:
|
|
100
|
+
- flow_started: "pattern_human_handoff"
|
|
101
|
+
|
|
102
|
+
- name: out of scope topics
|
|
103
|
+
pass_status: true
|
|
104
|
+
expected_steps:
|
|
105
|
+
- user: "can you help me book a hotel or restaurant"
|
|
106
|
+
assertions:
|
|
107
|
+
- flow_started: "pattern_cannot_handle"
|
|
108
|
+
- bot_uttered:
|
|
109
|
+
utter_name: "utter_cannot_handle"
|
|
110
|
+
- user: "can we discuss politics"
|
|
111
|
+
assertions:
|
|
112
|
+
- flow_started: "pattern_cannot_handle"
|
|
113
|
+
- bot_uttered:
|
|
114
|
+
utter_name: "utter_cannot_handle"
|
|
115
|
+
|
|
116
|
+
- name: test pattern search
|
|
117
|
+
pass_status: true
|
|
118
|
+
expected_steps:
|
|
119
|
+
- user: "how do you run a network speed test?"
|
|
120
|
+
assertions:
|
|
121
|
+
- generative_response_is_grounded:
|
|
122
|
+
threshold: 0.90
|
|
123
|
+
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."
|
|
124
|
+
- user: "what is the difference between restart and reset a router"
|
|
125
|
+
assertions:
|
|
126
|
+
- flow_completed:
|
|
127
|
+
flow_id: "pattern_search"
|
|
128
|
+
- generative_response_is_grounded:
|
|
129
|
+
threshold: 0.90
|
|
130
|
+
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."
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
fixtures:
|
|
2
|
+
- customer_information: # name of the fixture must be provided and be unique
|
|
3
|
+
- customer_id: "124" # every fixture can contain multiple slot key-value pairs
|
|
4
|
+
# This will be helpful when to se user information
|
|
5
|
+
|
|
6
|
+
test_cases:
|
|
7
|
+
- test_case: billing happy path
|
|
8
|
+
fixtures:
|
|
9
|
+
- customer_information
|
|
10
|
+
steps:
|
|
11
|
+
- user: "I would like to check my bill"
|
|
12
|
+
assertions:
|
|
13
|
+
- flow_started: "understand_bill"
|
|
14
|
+
- bot_uttered:
|
|
15
|
+
utter_name: utter_ask_bill_month
|
|
16
|
+
- user: "January"
|
|
17
|
+
assertions:
|
|
18
|
+
- slot_was_set:
|
|
19
|
+
- name: "bill_month"
|
|
20
|
+
value: "January"
|
|
21
|
+
- action_executed: action_verify_bill_by_date
|
|
22
|
+
- bot_uttered:
|
|
23
|
+
utter_name: utter_ask_breakdown_cost
|
|
24
|
+
text_matches: Would you like to see the breakdown of the costs?
|
|
25
|
+
buttons:
|
|
26
|
+
- title: "Yes, please"
|
|
27
|
+
payload: "/SetSlots(breakdown_cost=True)"
|
|
28
|
+
- title: "No, all good"
|
|
29
|
+
payload: "/SetSlots(breakdown_cost=False)"
|
|
30
|
+
- user: "Yes, please"
|
|
31
|
+
assertions:
|
|
32
|
+
- action_executed: action_recap_bill
|
|
33
|
+
- bot_uttered:
|
|
34
|
+
utter_name: utter_ask_more_bill_details
|
|
35
|
+
- user: "/SetSlots(more_bill_details=True)"
|
|
36
|
+
assertions:
|
|
37
|
+
- bot_uttered:
|
|
38
|
+
utter_name: utter_provide_bill_sources
|
|
39
|
+
# ====================================================>
|
|
40
|
+
- test_case: billing unhappy path
|
|
41
|
+
steps:
|
|
42
|
+
- user: "I would like to check my bill"
|
|
43
|
+
assertions:
|
|
44
|
+
- flow_started: "understand_bill"
|
|
45
|
+
- bot_uttered:
|
|
46
|
+
utter_name: utter_ask_bill_month
|
|
47
|
+
- user: "February"
|
|
48
|
+
assertions:
|
|
49
|
+
- slot_was_set:
|
|
50
|
+
- name: "bill_month"
|
|
51
|
+
value: "February"
|
|
52
|
+
- action_executed: action_verify_bill_by_date
|
|
53
|
+
- bot_uttered:
|
|
54
|
+
utter_name: utter_ask_breakdown_cost
|
|
55
|
+
text_matches: Would you like to see the breakdown of the costs?
|
|
56
|
+
buttons:
|
|
57
|
+
- title: "Yes, please"
|
|
58
|
+
payload: "/SetSlots(breakdown_cost=True)"
|
|
59
|
+
- title: "No, all good"
|
|
60
|
+
payload: "/SetSlots(breakdown_cost=False)"
|
|
61
|
+
- user: "/SetSlots(breakdown_cost=False)"
|
|
62
|
+
assertions:
|
|
63
|
+
- bot_uttered:
|
|
64
|
+
utter_name: utter_ask_issue_solved
|
|
65
|
+
- user: "/SetSlots(issue_solved=True)"
|
|
66
|
+
assertions:
|
|
67
|
+
- bot_uttered:
|
|
68
|
+
utter_name: utter_end_conversation
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: bot challenge and ask to connect to a human agent
|
|
3
|
+
steps:
|
|
4
|
+
- user: "who am I talking with?"
|
|
5
|
+
assertions:
|
|
6
|
+
- flow_started: "bot_challenge"
|
|
7
|
+
- bot_uttered:
|
|
8
|
+
utter_name: "utter_bot_challenge"
|
|
9
|
+
- user: "Indeed, I would like to speak with a human"
|
|
10
|
+
assertions:
|
|
11
|
+
- flow_started: "pattern_human_handoff"
|
|
12
|
+
- bot_uttered:
|
|
13
|
+
utter_name: "utter_more_help_needed_handoff_pattern"
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
# one of these test cases will fail since the speed test will be randomly selected
|
|
3
|
+
- test_case: Solving Internet slow issue
|
|
4
|
+
steps:
|
|
5
|
+
- user: "Hey, my internet is very slow. What's going on?"
|
|
6
|
+
assertions:
|
|
7
|
+
- flow_started: "fix_internet_slow"
|
|
8
|
+
- bot_uttered:
|
|
9
|
+
utter_name: "utter_acknowledge_issue"
|
|
10
|
+
- action_executed: action_sleep_few_sec
|
|
11
|
+
- flow_started: "run_diagnostics"
|
|
12
|
+
- bot_uttered:
|
|
13
|
+
utter_name: "utter_communicate_run_diagnosticss"
|
|
14
|
+
- action_executed: "actions_run_speed_test"
|
|
15
|
+
- bot_uttered:
|
|
16
|
+
utter_name: "utter_acknowledge_speed_test_not_good"
|
|
17
|
+
- action_executed: "action_sleep_few_sec"
|
|
18
|
+
- bot_uttered:
|
|
19
|
+
utter_name: "utter_propose_reboot_router_solution"
|
|
20
|
+
- action_executed: "action_sleep_few_sec"
|
|
21
|
+
- flow_started: "reboot_router"
|
|
22
|
+
- slot_was_set:
|
|
23
|
+
- name: "reboot_router"
|
|
24
|
+
value: False
|
|
25
|
+
- flow_started: "pattern_human_handoff"
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
- test_case: Solving Internet issue not slow
|
|
29
|
+
steps:
|
|
30
|
+
- user: "Hey, my internet is very slow. What's going on?"
|
|
31
|
+
assertions:
|
|
32
|
+
- flow_started: "fix_internet_slow"
|
|
33
|
+
- bot_uttered:
|
|
34
|
+
utter_name: "utter_acknowledge_issue"
|
|
35
|
+
- action_executed: action_sleep_few_sec
|
|
36
|
+
- flow_started: "run_diagnostics"
|
|
37
|
+
- bot_uttered:
|
|
38
|
+
utter_name: "utter_speed_network_not_issue"
|
|
39
|
+
- action_executed: "actions_run_speed_test"
|
|
40
|
+
- bot_uttered:
|
|
41
|
+
utter_name: "utter_propose_other_solutions"
|
|
42
|
+
- action_executed: "action_sleep_few_sec"
|
|
43
|
+
- bot_uttered:
|
|
44
|
+
utter_name: "utter_ask_more_help_needed"
|
|
45
|
+
- user: "/SetSlots(more_help_needed=True)"
|
|
46
|
+
assertions:
|
|
47
|
+
- flow_started: "pattern_human_handoff"
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: out of scope topics
|
|
3
|
+
steps:
|
|
4
|
+
- user: "can you help me book a hotel or restaurant"
|
|
5
|
+
assertions:
|
|
6
|
+
- flow_started: "pattern_cannot_handle"
|
|
7
|
+
- bot_uttered:
|
|
8
|
+
utter_name: "utter_cannot_handle"
|
|
9
|
+
# generated text:
|
|
10
|
+
#Thank you for your query!
|
|
11
|
+
# Booking a hotel or restaurant isn't really my strong suit, but I can certainly assist you if you're having issues with your internet speed or need clarification on your bill.
|
|
12
|
+
# Do you need help with any of those?
|
|
13
|
+
- user: "can we discuss politics"
|
|
14
|
+
assertions:
|
|
15
|
+
- flow_started: "pattern_cannot_handle"
|
|
16
|
+
- bot_uttered:
|
|
17
|
+
utter_name: "utter_cannot_handle"
|
|
18
|
+
# generated text:
|
|
19
|
+
# Thank you for your question!
|
|
20
|
+
# Discussing politics isn't really my strong suit, but I'm available to assist if you're having issues with your internet speed or need clarification on your bill.
|
|
21
|
+
# Can I help you with any of these?
|
|
@@ -0,0 +1,15 @@
|
|
|
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."
|
|
@@ -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
|
rasa/cli/run.py
CHANGED
|
@@ -109,7 +109,6 @@ def run(args: argparse.Namespace) -> None:
|
|
|
109
109
|
# configured
|
|
110
110
|
|
|
111
111
|
import rasa.model
|
|
112
|
-
from rasa.core.available_agents import AvailableAgents
|
|
113
112
|
from rasa.core.available_endpoints import AvailableEndpoints
|
|
114
113
|
|
|
115
114
|
# start server if remote storage is configured
|
|
@@ -124,9 +123,6 @@ def run(args: argparse.Namespace) -> None:
|
|
|
124
123
|
rasa_run(**vars(args))
|
|
125
124
|
return
|
|
126
125
|
|
|
127
|
-
# load sub-agents
|
|
128
|
-
AvailableAgents.get_instance(args.sub_agents)
|
|
129
|
-
|
|
130
126
|
# start server if local model found
|
|
131
127
|
args.model = _validate_model_path(args.model, "model", DEFAULT_MODELS_PATH)
|
|
132
128
|
local_model_set = True
|
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(
|
|
@@ -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
|
@@ -6,7 +6,6 @@ from typing import List
|
|
|
6
6
|
from rasa import telemetry
|
|
7
7
|
from rasa.cli import SubParsersAction
|
|
8
8
|
from rasa.cli.arguments import shell as arguments
|
|
9
|
-
from rasa.cli.arguments.default_arguments import add_sub_agents_param
|
|
10
9
|
from rasa.core.available_endpoints import AvailableEndpoints
|
|
11
10
|
from rasa.engine.storage.local_model_storage import LocalModelStorage
|
|
12
11
|
from rasa.exceptions import ModelNotFound
|
|
@@ -46,8 +45,6 @@ def add_subparser(
|
|
|
46
45
|
help="Set the conversation ID.",
|
|
47
46
|
)
|
|
48
47
|
|
|
49
|
-
add_sub_agents_param(shell_parser)
|
|
50
|
-
|
|
51
48
|
run_subparsers = shell_parser.add_subparsers()
|
|
52
49
|
|
|
53
50
|
shell_nlu_subparser = run_subparsers.add_parser(
|
rasa/constants.py
CHANGED
|
@@ -22,14 +22,8 @@ MINIMUM_COMPATIBLE_VERSION = "3.11.0rc1"
|
|
|
22
22
|
|
|
23
23
|
GLOBAL_USER_CONFIG_PATH = os.path.expanduser("~/.config/rasa/global.yml")
|
|
24
24
|
|
|
25
|
-
# Logging level for external libraries (default: ERROR to reduce noise)
|
|
26
25
|
DEFAULT_LOG_LEVEL_LIBRARIES = "ERROR"
|
|
27
26
|
ENV_LOG_LEVEL_LIBRARIES = "LOG_LEVEL_LIBRARIES"
|
|
28
|
-
|
|
29
|
-
# MCP (Model Context Protocol) logging configuration
|
|
30
|
-
ENV_LOG_LEVEL_MCP = "LOG_LEVEL_MCP"
|
|
31
|
-
ENV_MCP_LOGGING_ENABLED = "MCP_LOGGING_ENABLED"
|
|
32
|
-
|
|
33
27
|
ENV_LOG_LEVEL_MATPLOTLIB = "LOG_LEVEL_MATPLOTLIB"
|
|
34
28
|
ENV_LOG_LEVEL_RABBITMQ = "LOG_LEVEL_RABBITMQ"
|
|
35
29
|
ENV_LOG_LEVEL_KAFKA = "LOG_LEVEL_KAFKA"
|
rasa/core/actions/action.py
CHANGED
|
@@ -47,7 +47,6 @@ from rasa.shared.constants import (
|
|
|
47
47
|
UTTER_PREFIX,
|
|
48
48
|
)
|
|
49
49
|
from rasa.shared.core.constants import (
|
|
50
|
-
ACTION_AGENT_REQUEST_USER_INPUT_NAME,
|
|
51
50
|
ACTION_BACK_NAME,
|
|
52
51
|
ACTION_DEACTIVATE_LOOP_NAME,
|
|
53
52
|
ACTION_DEFAULT_ASK_AFFIRMATION_NAME,
|
|
@@ -57,8 +56,6 @@ from rasa.shared.core.constants import (
|
|
|
57
56
|
ACTION_LISTEN_NAME,
|
|
58
57
|
ACTION_METADATA_EXECUTION_ERROR_MESSAGE,
|
|
59
58
|
ACTION_METADATA_EXECUTION_SUCCESS,
|
|
60
|
-
ACTION_METADATA_MESSAGE_KEY,
|
|
61
|
-
ACTION_METADATA_TEXT_KEY,
|
|
62
59
|
ACTION_RESET_ROUTING,
|
|
63
60
|
ACTION_RESTART_NAME,
|
|
64
61
|
ACTION_REVERT_FALLBACK_EVENTS_NAME,
|
|
@@ -91,12 +88,7 @@ from rasa.shared.core.slot_mappings import (
|
|
|
91
88
|
)
|
|
92
89
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
93
90
|
from rasa.shared.exceptions import RasaException
|
|
94
|
-
from rasa.shared.nlu.constants import
|
|
95
|
-
INTENT,
|
|
96
|
-
INTENT_NAME_KEY,
|
|
97
|
-
INTENT_RANKING_KEY,
|
|
98
|
-
PREDICTED_CONFIDENCE_KEY,
|
|
99
|
-
)
|
|
91
|
+
from rasa.shared.nlu.constants import INTENT_NAME_KEY, INTENT_RANKING_KEY
|
|
100
92
|
from rasa.shared.utils.io import raise_warning
|
|
101
93
|
from rasa.shared.utils.schemas.events import EVENTS_SCHEMA
|
|
102
94
|
from rasa.utils.endpoints import EndpointConfig
|
|
@@ -121,12 +113,6 @@ def default_actions(action_endpoint: Optional[EndpointConfig] = None) -> List["A
|
|
|
121
113
|
from rasa.core.actions.two_stage_fallback import TwoStageFallbackAction
|
|
122
114
|
from rasa.dialogue_understanding.patterns.cancel import ActionCancelFlow
|
|
123
115
|
from rasa.dialogue_understanding.patterns.clarify import ActionClarifyFlows
|
|
124
|
-
from rasa.dialogue_understanding.patterns.continue_interrupted import (
|
|
125
|
-
ActionAskInterruptedFlowToContinue,
|
|
126
|
-
ActionCancelInterruptedFlow,
|
|
127
|
-
ActionContinueInterruptedFlow,
|
|
128
|
-
ActionSetInterruptedFlows,
|
|
129
|
-
)
|
|
130
116
|
from rasa.dialogue_understanding.patterns.correction import ActionCorrectFlowSlot
|
|
131
117
|
|
|
132
118
|
return [
|
|
@@ -141,7 +127,6 @@ def default_actions(action_endpoint: Optional[EndpointConfig] = None) -> List["A
|
|
|
141
127
|
TwoStageFallbackAction(action_endpoint),
|
|
142
128
|
ActionUnlikelyIntent(),
|
|
143
129
|
ActionSendText(),
|
|
144
|
-
ActionAgentRequestUserInfo(),
|
|
145
130
|
ActionBack(),
|
|
146
131
|
ActionExtractSlots(action_endpoint),
|
|
147
132
|
ActionCancelFlow(),
|
|
@@ -154,10 +139,6 @@ def default_actions(action_endpoint: Optional[EndpointConfig] = None) -> List["A
|
|
|
154
139
|
ActionResetRouting(),
|
|
155
140
|
ActionHangup(),
|
|
156
141
|
ActionRepeatBotMessages(),
|
|
157
|
-
ActionContinueInterruptedFlow(),
|
|
158
|
-
ActionSetInterruptedFlows(),
|
|
159
|
-
ActionCancelInterruptedFlow(),
|
|
160
|
-
ActionAskInterruptedFlowToContinue(),
|
|
161
142
|
]
|
|
162
143
|
|
|
163
144
|
|
|
@@ -892,8 +873,8 @@ class RemoteAction(Action):
|
|
|
892
873
|
) -> List[BotUttered]:
|
|
893
874
|
"""Use the responses generated by the action endpoint and utter them."""
|
|
894
875
|
bot_messages = []
|
|
895
|
-
domain:
|
|
896
|
-
action_name:
|
|
876
|
+
domain: Domain = kwargs.get("domain", None)
|
|
877
|
+
action_name: str = kwargs.get("action_name", None)
|
|
897
878
|
for response in responses:
|
|
898
879
|
generated_response = response.pop("response", None)
|
|
899
880
|
if generated_response is not None:
|
|
@@ -916,7 +897,6 @@ class RemoteAction(Action):
|
|
|
916
897
|
draft.setdefault("buttons", [])
|
|
917
898
|
draft["buttons"].extend(buttons)
|
|
918
899
|
|
|
919
|
-
# Avoid overwriting `draft` values with empty values
|
|
920
900
|
response = {k: v for k, v in response.items() if v}
|
|
921
901
|
response.update(draft)
|
|
922
902
|
bot_messages.append(create_bot_utterance(response))
|
|
@@ -1034,13 +1014,13 @@ def _revert_affirmation_events(tracker: "DialogueStateTracker") -> List[Event]:
|
|
|
1034
1014
|
revert_events += _revert_rephrasing_events()
|
|
1035
1015
|
|
|
1036
1016
|
last_user_event = tracker.get_last_event_for(UserUttered)
|
|
1037
|
-
if not last_user_event
|
|
1038
|
-
raise TypeError("Cannot find last
|
|
1017
|
+
if not last_user_event:
|
|
1018
|
+
raise TypeError("Cannot find last event to revert to.")
|
|
1039
1019
|
|
|
1040
1020
|
last_user_event = copy.deepcopy(last_user_event)
|
|
1041
1021
|
# FIXME: better type annotation for `parse_data` would require
|
|
1042
1022
|
# a larger refactoring (e.g. switch to dataclass)
|
|
1043
|
-
last_user_event.parse_data[
|
|
1023
|
+
last_user_event.parse_data["intent"]["confidence"] = 1.0 # type: ignore[typeddict-item]
|
|
1044
1024
|
|
|
1045
1025
|
return revert_events + [last_user_event]
|
|
1046
1026
|
|
|
@@ -1057,8 +1037,8 @@ def _revert_single_affirmation_events() -> List[Event]:
|
|
|
1057
1037
|
|
|
1058
1038
|
def _revert_successful_rephrasing(tracker: "DialogueStateTracker") -> List[Event]:
|
|
1059
1039
|
last_user_event = tracker.get_last_event_for(UserUttered)
|
|
1060
|
-
if not last_user_event
|
|
1061
|
-
raise TypeError("Cannot find last
|
|
1040
|
+
if not last_user_event:
|
|
1041
|
+
raise TypeError("Cannot find last event to revert to.")
|
|
1062
1042
|
|
|
1063
1043
|
last_user_event = copy.deepcopy(last_user_event)
|
|
1064
1044
|
return _revert_rephrasing_events() + [last_user_event]
|
|
@@ -1158,9 +1138,9 @@ class ActionSendText(Action):
|
|
|
1158
1138
|
metadata: Optional[Dict[Text, Any]] = None,
|
|
1159
1139
|
) -> List[Event]:
|
|
1160
1140
|
"""Runs action. Please see parent class for the full docstring."""
|
|
1161
|
-
fallback = {
|
|
1141
|
+
fallback = {"text": ""}
|
|
1162
1142
|
metadata_copy = copy.deepcopy(metadata) if metadata else {}
|
|
1163
|
-
message = metadata_copy.get(
|
|
1143
|
+
message = metadata_copy.get("message", fallback)
|
|
1164
1144
|
|
|
1165
1145
|
should_send_text = metadata_copy.get("should_send_text", True)
|
|
1166
1146
|
if should_send_text:
|
|
@@ -1168,32 +1148,6 @@ class ActionSendText(Action):
|
|
|
1168
1148
|
return []
|
|
1169
1149
|
|
|
1170
1150
|
|
|
1171
|
-
class ActionAgentRequestUserInfo(Action):
|
|
1172
|
-
"""Sends a text message to the output channel that requests some user information.
|
|
1173
|
-
|
|
1174
|
-
The difference to `ActionSendText` is that this action will pause the main advancing
|
|
1175
|
-
flow loop until the user responds to the request
|
|
1176
|
-
(`should_predict_another_action` will return False for this action).
|
|
1177
|
-
"""
|
|
1178
|
-
|
|
1179
|
-
def name(self) -> Text:
|
|
1180
|
-
return ACTION_AGENT_REQUEST_USER_INPUT_NAME
|
|
1181
|
-
|
|
1182
|
-
async def run(
|
|
1183
|
-
self,
|
|
1184
|
-
output_channel: "OutputChannel",
|
|
1185
|
-
nlg: "NaturalLanguageGenerator",
|
|
1186
|
-
tracker: "DialogueStateTracker",
|
|
1187
|
-
domain: "Domain",
|
|
1188
|
-
metadata: Optional[Dict[Text, Any]] = None,
|
|
1189
|
-
) -> List[Event]:
|
|
1190
|
-
"""Runs action. Please see parent class for the full docstring."""
|
|
1191
|
-
fallback = {ACTION_METADATA_TEXT_KEY: ""}
|
|
1192
|
-
metadata_copy = copy.deepcopy(metadata) if metadata else {}
|
|
1193
|
-
message = metadata_copy.get(ACTION_METADATA_MESSAGE_KEY, fallback)
|
|
1194
|
-
return [create_bot_utterance(message)]
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
1151
|
class ActionExtractSlots(Action):
|
|
1198
1152
|
"""Default action that runs after each user turn.
|
|
1199
1153
|
|
rasa/core/agent.py
CHANGED
|
@@ -12,9 +12,7 @@ import aiohttp
|
|
|
12
12
|
from aiohttp import ClientError
|
|
13
13
|
|
|
14
14
|
import rasa.shared.utils.io
|
|
15
|
-
from rasa.agents.utils import initialize_agents
|
|
16
15
|
from rasa.core import jobs
|
|
17
|
-
from rasa.core.available_agents import AvailableAgents
|
|
18
16
|
from rasa.core.available_endpoints import AvailableEndpoints
|
|
19
17
|
from rasa.core.channels.channel import OutputChannel, UserMessage
|
|
20
18
|
from rasa.core.constants import DEFAULT_REQUEST_TIMEOUT
|
|
@@ -204,7 +202,6 @@ async def load_agent(
|
|
|
204
202
|
model_server: Optional[EndpointConfig] = None,
|
|
205
203
|
remote_storage: Optional[StorageType] = None,
|
|
206
204
|
endpoints: Optional[AvailableEndpoints] = None,
|
|
207
|
-
sub_agents: Optional[AvailableAgents] = None,
|
|
208
205
|
loop: Optional[AbstractEventLoop] = None,
|
|
209
206
|
) -> Agent:
|
|
210
207
|
"""Loads agent from server, remote storage or disk.
|
|
@@ -214,7 +211,6 @@ async def load_agent(
|
|
|
214
211
|
model_server: Configuration for a potential server which serves the model.
|
|
215
212
|
remote_storage: Remote storage to use for loading the model.
|
|
216
213
|
endpoints: Endpoint configuration.
|
|
217
|
-
sub_agents: Sub-agents configuration.
|
|
218
214
|
loop: Optional async loop to pass to broker creation.
|
|
219
215
|
|
|
220
216
|
Returns:
|
|
@@ -285,16 +281,6 @@ async def load_agent(
|
|
|
285
281
|
"No valid configuration given to load agent. "
|
|
286
282
|
"Agent loaded with no model!"
|
|
287
283
|
)
|
|
288
|
-
|
|
289
|
-
if agent.processor:
|
|
290
|
-
flows = await agent.processor.get_flows()
|
|
291
|
-
domain = agent.processor.domain
|
|
292
|
-
# CLI commands that accept --sub-agents
|
|
293
|
-
# all route through this entry point.
|
|
294
|
-
# With all required data available,
|
|
295
|
-
# this is the best spot to initialize the subagents.
|
|
296
|
-
await initialize_agents(flows, domain, sub_agents)
|
|
297
|
-
|
|
298
284
|
return agent
|
|
299
285
|
|
|
300
286
|
except Exception as e:
|
|
@@ -336,7 +322,6 @@ class Agent:
|
|
|
336
322
|
remote_storage: Optional[StorageType] = None,
|
|
337
323
|
http_interpreter: Optional[RasaNLUHttpInterpreter] = None,
|
|
338
324
|
endpoints: Optional[AvailableEndpoints] = None,
|
|
339
|
-
sub_agents: Optional[AvailableAgents] = None,
|
|
340
325
|
privacy_manager: Optional[BackgroundPrivacyManager] = None,
|
|
341
326
|
):
|
|
342
327
|
"""Initializes an `Agent`."""
|
|
@@ -349,7 +334,6 @@ class Agent:
|
|
|
349
334
|
self.action_endpoint = action_endpoint
|
|
350
335
|
self.http_interpreter = http_interpreter
|
|
351
336
|
self.endpoints = endpoints
|
|
352
|
-
self.sub_agents = sub_agents
|
|
353
337
|
|
|
354
338
|
self._set_fingerprint(fingerprint)
|
|
355
339
|
self.model_server = model_server
|