rasa-pro 3.14.0.dev3__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 +2 -43
- 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 +1 -1
- rasa/core/channels/inspector/dist/assets/{arc-2e78c586.js → arc-18042c22.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-806b712e.js → blockDiagram-38ab4fdb-fdd6bcfa.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-0745efa9.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-7bd1082b.js → classDiagram-70f12bd4-81efba3e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-d937ba49.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-a2a564ca.js → createText-2e5e7dd3-31422447.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-b5256940.js → edges-e0da2a9e-518a90db.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-e6883ad2.js → erDiagram-9861fffd-a6d3c25a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-e576fc02.js → flowDb-956e92f1-e048c2be.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-2e298d01.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-dd7b150a.js → flowchart-elk-definition-4a651766-cb4d8723.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-5b79575c.js → ganttDiagram-c361ad54-346636a2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-3016f40a.js → gitGraphDiagram-72cf32ee-7c508874.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-3e19170f.js → graph-14702d8a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-eb9c86de.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-b4280e4d.js → infoDiagram-f8f76790-64154b83.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-556091f8.js → journeyDiagram-49397b02-833a5f95.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-08436411.js → layout-5a3b2123.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-683c4f3b.js → line-2272a8c7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-cee6d791.js → linear-35bcf273.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-a0bf0b1a.js → mindmap-definition-fc14e90a-92dcb0e9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-3730d5c4.js → pieDiagram-8a3498a8-94dbc900.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-12a20fed.js → quadrantDiagram-120e2f19-8b7a9c33.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-b9732102.js → requirementDiagram-deff3bca-6f7eab81.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-a2e72776.js → sankeyDiagram-04a897e0-f43e581d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-8b7a76bb.js → sequenceDiagram-704730f1-0bcbefc3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-e65853ac.js → stateDiagram-587899a1-b8a74083.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-6f58a44b.js → stateDiagram-v2-d93cdb3a-2070218f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-df25b934.js → styles-6aaf32cf-f1d54e34.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-88357141.js → styles-9a916d00-980de489.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-d600174d.js → styles-c10674c1-3c03abde.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-4adc3e0b.js → svgDrawCommon-08f97a94-46ba068f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-42816fa1.js → timeline-definition-85554ec2-901f5e3d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-621eb66a.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 +5 -7
- 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 +43 -23
- 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 -415
- rasa/core/processor.py +1 -6
- rasa/core/run.py +14 -11
- 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/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 +0 -5
- rasa/engine/storage/local_model_storage.py +45 -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/server.py +0 -10
- 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 -319
- 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 +16 -8
- rasa/shared/core/slots.py +4 -0
- 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/studio/upload.py +16 -47
- rasa/telemetry.py +97 -23
- rasa/tracing/instrumentation/instrumentation.py +2 -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 +5 -1
- rasa/utils/openapi.py +144 -0
- rasa/validator.py +7 -3
- rasa/version.py +1 -1
- {rasa_pro-3.14.0.dev3.dist-info → rasa_pro-3.14.0.dev5.dist-info}/METADATA +3 -3
- {rasa_pro-3.14.0.dev3.dist-info → rasa_pro-3.14.0.dev5.dist-info}/RECORD +405 -174
- rasa/agents/agent_factory.py +0 -122
- rasa/agents/agent_manager.py +0 -162
- rasa/agents/constants.py +0 -32
- rasa/agents/core/agent_protocol.py +0 -108
- 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 -51
- rasa/agents/protocol/mcp/mcp_base_agent.py +0 -674
- 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 -196
- rasa/core/channels/inspector/dist/assets/channel-c436ca7c.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-50dd656b.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-2b2aeaf8.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-1bd9135e.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.dev3.dist-info → rasa_pro-3.14.0.dev5.dist-info}/NOTICE +0 -0
- {rasa_pro-3.14.0.dev3.dist-info → rasa_pro-3.14.0.dev5.dist-info}/WHEEL +0 -0
- {rasa_pro-3.14.0.dev3.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,
|
|
@@ -116,12 +113,6 @@ def default_actions(action_endpoint: Optional[EndpointConfig] = None) -> List["A
|
|
|
116
113
|
from rasa.core.actions.two_stage_fallback import TwoStageFallbackAction
|
|
117
114
|
from rasa.dialogue_understanding.patterns.cancel import ActionCancelFlow
|
|
118
115
|
from rasa.dialogue_understanding.patterns.clarify import ActionClarifyFlows
|
|
119
|
-
from rasa.dialogue_understanding.patterns.continue_interrupted import (
|
|
120
|
-
ActionAskInterruptedFlowToContinue,
|
|
121
|
-
ActionCancelInterruptedFlow,
|
|
122
|
-
ActionContinueInterruptedFlow,
|
|
123
|
-
ActionSetInterruptedFlows,
|
|
124
|
-
)
|
|
125
116
|
from rasa.dialogue_understanding.patterns.correction import ActionCorrectFlowSlot
|
|
126
117
|
|
|
127
118
|
return [
|
|
@@ -136,7 +127,6 @@ def default_actions(action_endpoint: Optional[EndpointConfig] = None) -> List["A
|
|
|
136
127
|
TwoStageFallbackAction(action_endpoint),
|
|
137
128
|
ActionUnlikelyIntent(),
|
|
138
129
|
ActionSendText(),
|
|
139
|
-
ActionAgentRequestUserInfo(),
|
|
140
130
|
ActionBack(),
|
|
141
131
|
ActionExtractSlots(action_endpoint),
|
|
142
132
|
ActionCancelFlow(),
|
|
@@ -149,10 +139,6 @@ def default_actions(action_endpoint: Optional[EndpointConfig] = None) -> List["A
|
|
|
149
139
|
ActionResetRouting(),
|
|
150
140
|
ActionHangup(),
|
|
151
141
|
ActionRepeatBotMessages(),
|
|
152
|
-
ActionContinueInterruptedFlow(),
|
|
153
|
-
ActionSetInterruptedFlows(),
|
|
154
|
-
ActionCancelInterruptedFlow(),
|
|
155
|
-
ActionAskInterruptedFlowToContinue(),
|
|
156
142
|
]
|
|
157
143
|
|
|
158
144
|
|
|
@@ -911,7 +897,6 @@ class RemoteAction(Action):
|
|
|
911
897
|
draft.setdefault("buttons", [])
|
|
912
898
|
draft["buttons"].extend(buttons)
|
|
913
899
|
|
|
914
|
-
# Avoid overwriting `draft` values with empty values
|
|
915
900
|
response = {k: v for k, v in response.items() if v}
|
|
916
901
|
response.update(draft)
|
|
917
902
|
bot_messages.append(create_bot_utterance(response))
|
|
@@ -1153,9 +1138,9 @@ class ActionSendText(Action):
|
|
|
1153
1138
|
metadata: Optional[Dict[Text, Any]] = None,
|
|
1154
1139
|
) -> List[Event]:
|
|
1155
1140
|
"""Runs action. Please see parent class for the full docstring."""
|
|
1156
|
-
fallback = {
|
|
1141
|
+
fallback = {"text": ""}
|
|
1157
1142
|
metadata_copy = copy.deepcopy(metadata) if metadata else {}
|
|
1158
|
-
message = metadata_copy.get(
|
|
1143
|
+
message = metadata_copy.get("message", fallback)
|
|
1159
1144
|
|
|
1160
1145
|
should_send_text = metadata_copy.get("should_send_text", True)
|
|
1161
1146
|
if should_send_text:
|
|
@@ -1163,32 +1148,6 @@ class ActionSendText(Action):
|
|
|
1163
1148
|
return []
|
|
1164
1149
|
|
|
1165
1150
|
|
|
1166
|
-
class ActionAgentRequestUserInfo(Action):
|
|
1167
|
-
"""Sends a text message to the output channel that requests some user information.
|
|
1168
|
-
|
|
1169
|
-
The difference to `ActionSendText` is that this action will pause the main advancing
|
|
1170
|
-
flow loop until the user responds to the request
|
|
1171
|
-
(`should_predict_another_action` will return False for this action).
|
|
1172
|
-
"""
|
|
1173
|
-
|
|
1174
|
-
def name(self) -> Text:
|
|
1175
|
-
return ACTION_AGENT_REQUEST_USER_INPUT_NAME
|
|
1176
|
-
|
|
1177
|
-
async def run(
|
|
1178
|
-
self,
|
|
1179
|
-
output_channel: "OutputChannel",
|
|
1180
|
-
nlg: "NaturalLanguageGenerator",
|
|
1181
|
-
tracker: "DialogueStateTracker",
|
|
1182
|
-
domain: "Domain",
|
|
1183
|
-
metadata: Optional[Dict[Text, Any]] = None,
|
|
1184
|
-
) -> List[Event]:
|
|
1185
|
-
"""Runs action. Please see parent class for the full docstring."""
|
|
1186
|
-
fallback = {ACTION_METADATA_TEXT_KEY: ""}
|
|
1187
|
-
metadata_copy = copy.deepcopy(metadata) if metadata else {}
|
|
1188
|
-
message = metadata_copy.get(ACTION_METADATA_MESSAGE_KEY, fallback)
|
|
1189
|
-
return [create_bot_utterance(message)]
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
1151
|
class ActionExtractSlots(Action):
|
|
1193
1152
|
"""Default action that runs after each user turn.
|
|
1194
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
|
rasa/core/available_endpoints.py
CHANGED
|
@@ -3,9 +3,6 @@ from __future__ import annotations
|
|
|
3
3
|
import dataclasses
|
|
4
4
|
from typing import Any, Dict, List, Optional, Union
|
|
5
5
|
|
|
6
|
-
from pydantic import BaseModel, Field, model_validator
|
|
7
|
-
|
|
8
|
-
from rasa.core.constants import MCP_SERVERS_KEY
|
|
9
6
|
from rasa.shared.constants import DEFAULT_ENDPOINTS_PATH
|
|
10
7
|
from rasa.shared.core.constants import (
|
|
11
8
|
GLOBAL_SILENCE_TIMEOUT_DEFAULT_VALUE,
|
|
@@ -60,22 +57,6 @@ class InteractionHandlingConfig:
|
|
|
60
57
|
)
|
|
61
58
|
|
|
62
59
|
|
|
63
|
-
class MCPServerConfig(BaseModel):
|
|
64
|
-
name: str = Field(..., description="The name of the MCP server.")
|
|
65
|
-
url: str = Field(..., description="The URL of the MCP server.")
|
|
66
|
-
type: str = Field(..., description="The type of the MCP server.")
|
|
67
|
-
|
|
68
|
-
@model_validator(mode="after")
|
|
69
|
-
def validate_type(self) -> MCPServerConfig:
|
|
70
|
-
# validate that type is "http"
|
|
71
|
-
if self.type not in ["http"]:
|
|
72
|
-
raise ValueError(f"Invalid MCP server type: {self.type}")
|
|
73
|
-
# validate that name and url are not empty
|
|
74
|
-
if not self.name or not self.url:
|
|
75
|
-
raise ValueError("Name and URL cannot be empty")
|
|
76
|
-
return self
|
|
77
|
-
|
|
78
|
-
|
|
79
60
|
class AvailableEndpoints:
|
|
80
61
|
"""Collection of configured endpoints."""
|
|
81
62
|
|
|
@@ -94,14 +75,6 @@ class AvailableEndpoints:
|
|
|
94
75
|
lock_store = read_endpoint_config(endpoint_file, endpoint_type="lock_store")
|
|
95
76
|
event_broker = read_endpoint_config(endpoint_file, endpoint_type="event_broker")
|
|
96
77
|
vector_store = read_endpoint_config(endpoint_file, endpoint_type="vector_store")
|
|
97
|
-
raw_mcp_servers = read_property_config_from_endpoints_file(
|
|
98
|
-
endpoint_file, property_name=MCP_SERVERS_KEY
|
|
99
|
-
)
|
|
100
|
-
mcp_servers = (
|
|
101
|
-
[MCPServerConfig(**server) for server in raw_mcp_servers]
|
|
102
|
-
if raw_mcp_servers
|
|
103
|
-
else None
|
|
104
|
-
)
|
|
105
78
|
model_groups = read_property_config_from_endpoints_file(
|
|
106
79
|
endpoint_file, property_name="model_groups"
|
|
107
80
|
)
|
|
@@ -124,7 +97,6 @@ class AvailableEndpoints:
|
|
|
124
97
|
lock_store,
|
|
125
98
|
event_broker,
|
|
126
99
|
vector_store,
|
|
127
|
-
mcp_servers,
|
|
128
100
|
model_groups,
|
|
129
101
|
privacy,
|
|
130
102
|
interaction_handling,
|
|
@@ -140,7 +112,6 @@ class AvailableEndpoints:
|
|
|
140
112
|
lock_store: Optional[EndpointConfig] = None,
|
|
141
113
|
event_broker: Optional[EndpointConfig] = None,
|
|
142
114
|
vector_store: Optional[EndpointConfig] = None,
|
|
143
|
-
mcp_servers: Optional[List[MCPServerConfig]] = None,
|
|
144
115
|
model_groups: Optional[List[Dict[str, Any]]] = None,
|
|
145
116
|
privacy: Optional[Dict[str, Any]] = None,
|
|
146
117
|
interaction_handling: InteractionHandlingConfig = InteractionHandlingConfig(
|
|
@@ -156,7 +127,6 @@ class AvailableEndpoints:
|
|
|
156
127
|
self.lock_store = lock_store
|
|
157
128
|
self.event_broker = event_broker
|
|
158
129
|
self.vector_store = vector_store
|
|
159
|
-
self.mcp_servers = mcp_servers
|
|
160
130
|
self.model_groups = model_groups
|
|
161
131
|
self.privacy = privacy
|
|
162
132
|
self.interaction_handling = interaction_handling
|