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
rasa/cli/inspect.py
CHANGED
|
@@ -8,7 +8,6 @@ from sanic import Sanic
|
|
|
8
8
|
from rasa import telemetry
|
|
9
9
|
from rasa.cli import SubParsersAction
|
|
10
10
|
from rasa.cli.arguments import shell as arguments
|
|
11
|
-
from rasa.cli.arguments.default_arguments import add_sub_agents_param
|
|
12
11
|
from rasa.core import constants
|
|
13
12
|
from rasa.core.available_endpoints import AvailableEndpoints
|
|
14
13
|
from rasa.engine.storage.local_model_storage import LocalModelStorage
|
|
@@ -45,8 +44,6 @@ def add_subparser(
|
|
|
45
44
|
"--voice", help="Enable voice", action="store_true", default=False
|
|
46
45
|
)
|
|
47
46
|
|
|
48
|
-
add_sub_agents_param(inspect_parser)
|
|
49
|
-
|
|
50
47
|
# it'd be confusing to expose those arguments to the user,
|
|
51
48
|
# so we remove them
|
|
52
49
|
remove_argument_from_parser(inspect_parser, "--credentials")
|
rasa/cli/llm_fine_tuning.py
CHANGED
|
@@ -14,7 +14,6 @@ from rasa.cli.arguments.default_arguments import (
|
|
|
14
14
|
add_endpoint_param,
|
|
15
15
|
add_model_param,
|
|
16
16
|
add_remote_storage_param,
|
|
17
|
-
add_sub_agents_param,
|
|
18
17
|
)
|
|
19
18
|
from rasa.cli.e2e_test import (
|
|
20
19
|
RASA_PRO_BETA_FINE_TUNING_RECIPE_ENV_VAR_NAME,
|
|
@@ -138,8 +137,6 @@ def add_data_preparation_arguments(parser: argparse.ArgumentParser) -> None:
|
|
|
138
137
|
default=DEFAULT_INPUT_E2E_TEST_PATH,
|
|
139
138
|
)
|
|
140
139
|
|
|
141
|
-
add_sub_agents_param(parser)
|
|
142
|
-
|
|
143
140
|
add_remote_storage_param(parser)
|
|
144
141
|
|
|
145
142
|
rephrasing_arguments = parser.add_argument_group("Rephrasing Module")
|
|
@@ -379,7 +376,6 @@ def write_params(
|
|
|
379
376
|
"rephrase_config": rephrase_config,
|
|
380
377
|
"model": args.model,
|
|
381
378
|
"endpoints": args.endpoints,
|
|
382
|
-
"sub-agents": args.sub_agents,
|
|
383
379
|
"remote-storage": args.remote_storage,
|
|
384
380
|
"train_frac": args.train_frac,
|
|
385
381
|
"output_format": args.output_format,
|
|
@@ -424,7 +420,6 @@ def set_up_e2e_test_runner(args: argparse.Namespace) -> E2ETestRunner:
|
|
|
424
420
|
model_path=args.model,
|
|
425
421
|
model_server=endpoints.model,
|
|
426
422
|
endpoints=endpoints,
|
|
427
|
-
sub_agents_path=args.sub_agents,
|
|
428
423
|
)
|
|
429
424
|
except AgentNotReady as error:
|
|
430
425
|
structlogger.error(
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Text
|
|
2
|
+
|
|
3
|
+
from rasa_sdk import Action, Tracker
|
|
4
|
+
from rasa_sdk.executor import CollectingDispatcher
|
|
5
|
+
from rasa_sdk.types import DomainDict
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ActionAPI(Action):
|
|
9
|
+
def name(self) -> Text:
|
|
10
|
+
return "action_api"
|
|
11
|
+
|
|
12
|
+
async def run(
|
|
13
|
+
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
14
|
+
) -> List[Dict[Text, Any]]:
|
|
15
|
+
return []
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Text
|
|
2
|
+
|
|
3
|
+
import openai
|
|
4
|
+
from rasa_sdk import Action, Tracker
|
|
5
|
+
from rasa_sdk.events import BotUttered
|
|
6
|
+
from rasa_sdk.executor import CollectingDispatcher
|
|
7
|
+
from rasa_sdk.types import DomainDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class ActionHumanHandoff(Action):
|
|
11
|
+
def name(self) -> Text:
|
|
12
|
+
return "action_human_handoff"
|
|
13
|
+
|
|
14
|
+
async def run(
|
|
15
|
+
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
16
|
+
) -> List[Dict[Text, Any]]:
|
|
17
|
+
# Collect conversation
|
|
18
|
+
convo = []
|
|
19
|
+
for event in tracker.events:
|
|
20
|
+
if event.get("event") == "user":
|
|
21
|
+
user_text = f"user - {event.get('text')}"
|
|
22
|
+
convo.append(user_text)
|
|
23
|
+
if event.get("event") == "bot":
|
|
24
|
+
bot_text = f"bot - {event.get('text')}"
|
|
25
|
+
convo.append(bot_text)
|
|
26
|
+
prompt = (
|
|
27
|
+
f"The following is a conversation between a bot and a human user, "
|
|
28
|
+
f"please summarise so that a human agent can easily understand "
|
|
29
|
+
f"the important context. Conversation: {convo}"
|
|
30
|
+
)
|
|
31
|
+
response = openai.chat.completions.create(
|
|
32
|
+
model="gpt-4", # or "gpt-3.5-turbo"
|
|
33
|
+
messages=[{"role": "user", "content": prompt}],
|
|
34
|
+
)
|
|
35
|
+
summarised_conversation = (
|
|
36
|
+
response.choices[0].message.content or "No summary available"
|
|
37
|
+
)
|
|
38
|
+
return [
|
|
39
|
+
BotUttered(
|
|
40
|
+
f"I will transfer the following summary of our conversation "
|
|
41
|
+
f"to the Callback Manager:\n"
|
|
42
|
+
f"{summarised_conversation}"
|
|
43
|
+
)
|
|
44
|
+
]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# This file contains the configuration for the bot.
|
|
2
|
+
# https://rasa.com/docs/reference/config/overview
|
|
3
|
+
|
|
4
|
+
recipe: default.v1
|
|
5
|
+
language: en
|
|
6
|
+
assistant_id: placeholder_default
|
|
7
|
+
|
|
8
|
+
pipeline:
|
|
9
|
+
- name: SearchReadyLLMCommandGenerator
|
|
10
|
+
llm:
|
|
11
|
+
model_group: openai-gpt-4o
|
|
12
|
+
flow_retrieval:
|
|
13
|
+
active: false
|
|
14
|
+
|
|
15
|
+
policies:
|
|
16
|
+
- name: FlowPolicy
|
|
17
|
+
- name: EnterpriseSearchPolicy
|
|
18
|
+
vector_store:
|
|
19
|
+
type: "faiss"
|
|
20
|
+
source: "./docs"
|
|
21
|
+
llm:
|
|
22
|
+
model_group: openai-gpt-4o
|
|
23
|
+
check_relevancy: true
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
|
|
2
|
+
# This file contains the credentials for the voice & chat platforms
|
|
3
|
+
# which your bot is using.
|
|
4
|
+
# https://rasa.com/docs/rasa-pro/connectors/messaging-and-voice-channels/
|
|
5
|
+
rest:
|
|
6
|
+
socketio:
|
|
7
|
+
bot_message_evt: bot_uttered
|
|
8
|
+
session_persistence: true
|
|
9
|
+
user_message_evt: user_uttered
|
|
10
|
+
|
|
11
|
+
rasa:
|
|
12
|
+
url: "http://localhost:5002/api"
|
|
13
|
+
|
|
14
|
+
#facebook:
|
|
15
|
+
# verify: "<verify>"
|
|
16
|
+
# secret: "<your secret>"
|
|
17
|
+
# page-access-token: "<your page access token>"
|
|
18
|
+
|
|
19
|
+
#slack:
|
|
20
|
+
# slack_token: "<your slack token>"
|
|
21
|
+
# slack_channel: "<the slack channel>"
|
|
22
|
+
# slack_signing_secret: "<your slack signing secret>"
|
|
23
|
+
|
|
24
|
+
#socketio:
|
|
25
|
+
# user_message_evt: <event name for user message>
|
|
26
|
+
# bot_message_evt: <event name for bot messages>
|
|
27
|
+
# session_persistence: <true/false>
|
|
28
|
+
|
|
29
|
+
#mattermost:
|
|
30
|
+
# url: "https://<mattermost instance>/api/v4"
|
|
31
|
+
# token: "<bot token>"
|
|
32
|
+
# webhook_url: "<callback URL>"
|
|
33
|
+
|
|
34
|
+
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Simple thumbs up/down feedback flow
|
|
2
|
+
flows:
|
|
3
|
+
leave_feedback:
|
|
4
|
+
description: This flow collects simple thumbs up or thumbs down feedback
|
|
5
|
+
if: False # Flow guard to prevent direct triggering
|
|
6
|
+
steps:
|
|
7
|
+
- collect: feedback_rating
|
|
8
|
+
description: Ask user for thumbs up or thumbs down feedback
|
|
9
|
+
- id: feedback_response
|
|
10
|
+
noop: true
|
|
11
|
+
next:
|
|
12
|
+
- if: slots.feedback_rating == "thumbs_up"
|
|
13
|
+
then: positive_response
|
|
14
|
+
- else: negative_response
|
|
15
|
+
- id: positive_response
|
|
16
|
+
action: utter_thankyou_positive
|
|
17
|
+
next: END
|
|
18
|
+
- id: negative_response
|
|
19
|
+
action: utter_thankyou_negative
|
|
20
|
+
next: END
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
flows:
|
|
3
|
+
human_handoff:
|
|
4
|
+
description: Handles escalation to a live human agent.
|
|
5
|
+
steps:
|
|
6
|
+
- collect: confirm_human_handoff
|
|
7
|
+
ask_before_filling: True
|
|
8
|
+
next:
|
|
9
|
+
- if: slots.confirm_human_handoff is "Yes"
|
|
10
|
+
then:
|
|
11
|
+
- action: utter_transferring_to_human
|
|
12
|
+
- action: action_human_handoff
|
|
13
|
+
next: END
|
|
14
|
+
- else:
|
|
15
|
+
- action: utter_human_handoff_cancelled
|
|
16
|
+
next: END
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
flows:
|
|
2
|
+
welcome:
|
|
3
|
+
if: False
|
|
4
|
+
description: |
|
|
5
|
+
This flow is designed to greet and onboard new users who initiate a welcome intent.
|
|
6
|
+
It begins with an initial greeting message to establish a friendly interaction.
|
|
7
|
+
name: say hello
|
|
8
|
+
steps:
|
|
9
|
+
- action: utter_greeting
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
1. Rasa Assistant Capabilities
|
|
2
|
+
|
|
3
|
+
Q: What is a Rasa assistant?
|
|
4
|
+
A: A Rasa assistant is an AI-powered conversational bot built using the Rasa framework. It can understand natural language, manage complex conversations, execute actions, and integrate with external systems to help users accomplish tasks through text or voice interactions.
|
|
5
|
+
|
|
6
|
+
Q: What types of tasks can Rasa assistants handle?
|
|
7
|
+
A: Rasa assistants can handle a wide variety of tasks including customer support, booking appointments, processing transactions, answering FAQs, collecting information through forms, routing calls to human agents, providing personalized recommendations, and integrating with databases and APIs.
|
|
8
|
+
|
|
9
|
+
Q: How does a Rasa assistant understand what users say?
|
|
10
|
+
A: Rasa assistants use Natural Language Understanding (NLU) to interpret user messages. They can extract intents (what the user wants to do) and entities (important information like names, dates, amounts) from text. Rasa Pro also supports LLM-based understanding for more flexible conversation handling.
|
|
11
|
+
|
|
12
|
+
2. Conversation Management
|
|
13
|
+
|
|
14
|
+
Q: Can Rasa assistants handle complex conversations?
|
|
15
|
+
A: Yes, Rasa assistants excel at managing complex, multi-turn conversations. They use dialogue management to track conversation context, remember previous interactions, and guide users through multi-step processes like filling out forms or completing transactions.
|
|
16
|
+
|
|
17
|
+
Q: What are Rasa flows?
|
|
18
|
+
A: Rasa flows are a powerful feature that allows you to define conversational workflows with branching logic, conditional steps, and data collection. They make it easy to create structured conversations for tasks like onboarding, troubleshooting, or gathering customer information.
|
|
19
|
+
|
|
20
|
+
Q: Can the assistant handle interruptions and context switching?
|
|
21
|
+
A: Absolutely! Rasa assistants can handle conversation repairs, interruptions, clarifications, and context switching. Users can change topics mid-conversation or ask for help, and the assistant will respond appropriately while maintaining conversation state.
|
|
22
|
+
|
|
23
|
+
3. Integration and Actions
|
|
24
|
+
|
|
25
|
+
Q: Can Rasa assistants connect to external systems?
|
|
26
|
+
A: Yes, Rasa assistants can integrate with virtually any external system through custom actions. They can connect to databases, APIs, CRM systems, payment processors, booking systems, and more to perform real-world tasks on behalf of users.
|
|
27
|
+
|
|
28
|
+
Q: What are custom actions in Rasa?
|
|
29
|
+
A: Custom actions are Python functions that allow your assistant to perform specific tasks like querying databases, calling APIs, processing payments, sending emails, or any other business logic. They bridge the gap between conversation and real-world actions.
|
|
30
|
+
|
|
31
|
+
Q: Can Rasa assistants work with existing business systems?
|
|
32
|
+
A: Yes, Rasa assistants are designed to integrate seamlessly with existing business infrastructure. They can connect to your CRM, ERP, databases, microservices, and other enterprise systems through APIs and custom integrations.
|
|
33
|
+
|
|
34
|
+
4. Advanced Features
|
|
35
|
+
|
|
36
|
+
Q: Does Rasa support voice interactions?
|
|
37
|
+
A: Yes, Rasa assistants can handle voice interactions through integration with speech-to-text and text-to-speech services. They can be deployed as voice bots for phone systems or voice-enabled applications.
|
|
38
|
+
|
|
39
|
+
Q: Can Rasa assistants learn and improve over time?
|
|
40
|
+
A: Rasa assistants can be continuously improved through conversation analytics, user feedback, and retraining with new data. Rasa X (now part of Rasa Pro) provides tools for reviewing conversations and improving assistant performance.
|
|
41
|
+
|
|
42
|
+
Q: What is CALM in Rasa?
|
|
43
|
+
A: CALM (Conversational AI with Language Models) is Rasa's architecture that combines traditional rule-based dialogue management with large language models. This provides both reliability and flexibility, allowing for structured workflows while handling unexpected user inputs gracefully.
|
|
44
|
+
|
|
45
|
+
5. Deployment and Scaling
|
|
46
|
+
|
|
47
|
+
Q: Where can Rasa assistants be deployed?
|
|
48
|
+
A: Rasa assistants can be deployed anywhere - on websites as chatbots, in mobile apps, on messaging platforms (WhatsApp, Slack, Facebook Messenger), as voice bots, in call centers, or as standalone applications. They're platform-agnostic and highly flexible.
|
|
49
|
+
|
|
50
|
+
Q: Can Rasa assistants handle multiple languages?
|
|
51
|
+
A: Yes, Rasa supports multilingual assistants. You can train models in different languages and create assistants that can communicate with users in their preferred language.
|
|
52
|
+
|
|
53
|
+
Q: How do Rasa assistants scale for enterprise use?
|
|
54
|
+
A: Rasa assistants are built for enterprise scale with features like clustering, load balancing, conversation analytics, version control for models, A/B testing capabilities, and enterprise-grade security and compliance features.
|
|
55
|
+
|
|
56
|
+
6. Use Cases and Industries
|
|
57
|
+
|
|
58
|
+
Q: What industries use Rasa assistants?
|
|
59
|
+
A: Rasa assistants are used across many industries including banking and finance, healthcare, e-commerce, telecommunications, insurance, travel and hospitality, education, and government services. Any industry that needs to automate customer interactions can benefit.
|
|
60
|
+
|
|
61
|
+
Q: Can Rasa assistants replace human agents?
|
|
62
|
+
A: Rasa assistants are designed to augment human agents, not replace them. They can handle routine inquiries and tasks, freeing up human agents for complex issues that require empathy, creativity, or specialized knowledge. They can also seamlessly hand off conversations to humans when needed.
|
|
63
|
+
|
|
64
|
+
Q: What's the difference between Rasa and simple chatbots?
|
|
65
|
+
A: Unlike simple rule-based chatbots, Rasa assistants can understand context, handle complex multi-turn conversations, learn from interactions, integrate with business systems, and manage sophisticated workflows. They're true conversational AI rather than basic question-answering systems.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
1. General Questions
|
|
2
|
+
|
|
3
|
+
Q: What else can you do?
|
|
4
|
+
A: I can answer questions from docs. Add more txt files to /docs to get started.
|
|
5
|
+
|
|
6
|
+
Q: Can you do RAG?
|
|
7
|
+
A: Yes, you can use Retrieval-Augmented Generation (RAG) with Rasa. Rasa's CALM architecture supports RAG through its Enterprise Search Policy. Right now, I'm just retrieving messages from the /docs folder for demo purposes. Add more txt files to /docs to test it out.
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
responses:
|
|
2
|
+
utter_bot_identity:
|
|
3
|
+
- text: "Yes, I'm an AI assistant designed to help you with your questions. I'm here to provide helpful information and support. How can I assist you today?"
|
|
4
|
+
- text: "I am indeed an AI assistant! I'm programmed to be helpful, accurate, and friendly. What can I help you with?"
|
|
5
|
+
- text: "That's right, I'm an AI bot created to assist you. I aim to provide useful responses and help solve your questions. Is there something specific I can help you with?"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
slots:
|
|
2
|
+
feedback_rating:
|
|
3
|
+
type: categorical
|
|
4
|
+
values: [thumbs_up, thumbs_down]
|
|
5
|
+
mappings:
|
|
6
|
+
- type: from_llm
|
|
7
|
+
|
|
8
|
+
responses:
|
|
9
|
+
utter_ask_feedback_rating:
|
|
10
|
+
- text: "Before you go, how was your experience?"
|
|
11
|
+
buttons:
|
|
12
|
+
- title: "👍 Great"
|
|
13
|
+
payload: "/SetSlots(feedback_rating=thumbs_up)"
|
|
14
|
+
- title: "👎 Could be better"
|
|
15
|
+
payload: "/SetSlots(feedback_rating=thumbs_down)"
|
|
16
|
+
|
|
17
|
+
utter_thankyou_positive:
|
|
18
|
+
- text: "That's wonderful to hear! Thank you for your feedback! Have a fantastic day! 🌟"
|
|
19
|
+
- text: "So glad we could help! Thanks for the positive feedback! Take care! 😊"
|
|
20
|
+
- text: "Amazing! We're thrilled you had a great experience. Have a wonderful day! 🎉"
|
|
21
|
+
|
|
22
|
+
utter_thankyou_negative:
|
|
23
|
+
- text: "Thank you for your honest feedback. We're always working to improve our service. Have a good day."
|
|
24
|
+
- text: "We appreciate your feedback and will use it to make our service better. Thank you for your time."
|
|
25
|
+
- text: "Thanks for letting us know. Your feedback helps us improve. Take care!"
|
|
26
|
+
|
|
27
|
+
actions:
|
|
28
|
+
- action_default_fallback
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
responses:
|
|
2
|
+
utter_goodbye:
|
|
3
|
+
- text: "Thanks for stopping by — take care!"
|
|
4
|
+
- text: "Thanks for the chat. Have a great day!"
|
|
5
|
+
- text: "Catch you later! Feel free to reach out anytime."
|
|
6
|
+
- text: "Goodbye for now — we’re here if you need anything."
|
|
7
|
+
- text: "Take care! Let us know if you have any other questions."
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
actions:
|
|
3
|
+
- "action_human_handoff"
|
|
4
|
+
|
|
5
|
+
intents:
|
|
6
|
+
- human_handoff
|
|
7
|
+
- speak_to_agent
|
|
8
|
+
- talk_to_human
|
|
9
|
+
- escalate
|
|
10
|
+
|
|
11
|
+
slots:
|
|
12
|
+
confirm_human_handoff:
|
|
13
|
+
type: "categorical"
|
|
14
|
+
mappings:
|
|
15
|
+
- type: "from_llm"
|
|
16
|
+
values:
|
|
17
|
+
- "Yes"
|
|
18
|
+
- "No"
|
|
19
|
+
|
|
20
|
+
responses:
|
|
21
|
+
utter_ask_confirm_human_handoff:
|
|
22
|
+
- text: "Do you want to be connected to a human agent?"
|
|
23
|
+
buttons:
|
|
24
|
+
- payload: "/SetSlots(confirm_human_handoff=Yes)"
|
|
25
|
+
title: "Yes"
|
|
26
|
+
- payload: "/SetSlots(confirm_human_handoff=No)"
|
|
27
|
+
title: "No"
|
|
28
|
+
|
|
29
|
+
utter_transferring_to_human:
|
|
30
|
+
- text: "You will be transfered to a human agent in a few moments."
|
|
31
|
+
|
|
32
|
+
utter_human_handoff_cancelled:
|
|
33
|
+
- text: "Ok, I understand you don't want to be connected to a human agent. Is there something else I can help you with?"
|
|
34
|
+
metadata:
|
|
35
|
+
rephrase: True
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# This file contains the different endpoints your bot can use.
|
|
2
|
+
|
|
3
|
+
# Server which runs your custom actions.
|
|
4
|
+
# https://rasa.com/docs/rasa-pro/concepts/custom-actions
|
|
5
|
+
action_endpoint:
|
|
6
|
+
actions_module: "actions"
|
|
7
|
+
|
|
8
|
+
# Allow rephrasing of responses using a Rasa-hosted model
|
|
9
|
+
nlg:
|
|
10
|
+
type: rephrase
|
|
11
|
+
llm:
|
|
12
|
+
model_group: openai-gpt-4o
|
|
13
|
+
prompt_template: ./prompts/rephraser_demo_personality_prompt.jinja2
|
|
14
|
+
rephrase_all: False
|
|
15
|
+
summarize_history: False
|
|
16
|
+
|
|
17
|
+
# Model Groups - Integrate with different LLM providers
|
|
18
|
+
# https://rasa.com/docs/reference/config/components/llm-configuration/#model-groups
|
|
19
|
+
# https://platform.openai.com/docs/models
|
|
20
|
+
model_groups:
|
|
21
|
+
- id: openai-gpt-4o
|
|
22
|
+
models:
|
|
23
|
+
- provider: openai
|
|
24
|
+
model: gpt-4o-2024-11-20
|
|
25
|
+
timeout: 7
|
|
26
|
+
temperature: 0.0
|
|
27
|
+
top_p: 0.0
|
|
28
|
+
- id: gpt-3.5-turbo-openai-model
|
|
29
|
+
models:
|
|
30
|
+
- provider: openai
|
|
31
|
+
model: gpt-3.5-turbo
|
|
32
|
+
temperature: 0.3
|
|
33
|
+
# - id: rasa_command_generation_model
|
|
34
|
+
# models:
|
|
35
|
+
# - provider: rasa
|
|
36
|
+
# model: rasa/cmd_gen_codellama_13b_calm_demo
|
|
37
|
+
# api_base: "https://tutorial-llm.rasa.ai"
|
|
38
|
+
# - id: openai_embeddings
|
|
39
|
+
# models:
|
|
40
|
+
# - provider: openai
|
|
41
|
+
# model: text-embedding-ada-002
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
# Server where the models are pulled from.
|
|
45
|
+
# https://rasa.com/docs/rasa-pro/production/model-storage#fetching-models-from-a-server
|
|
46
|
+
#models:
|
|
47
|
+
# url: http://my-server.com/models/default_core@latest
|
|
48
|
+
# wait_time_between_pulls: 10 # [optional](default: 100)
|
|
49
|
+
|
|
50
|
+
# Tracker store which is used to store the conversations.
|
|
51
|
+
# By default the conversations are stored in memory.
|
|
52
|
+
# https://rasa.com/docs/rasa-pro/production/tracker-stores
|
|
53
|
+
#tracker_store:
|
|
54
|
+
# type: redis
|
|
55
|
+
# url: <host of the redis instance, e.g. localhost>
|
|
56
|
+
# port: <port of your redis instance, usually 6379>
|
|
57
|
+
# db: <number of your database within redis, e.g. 0>
|
|
58
|
+
# password: <password used for authentication>
|
|
59
|
+
# use_ssl: <whether or not the communication is encrypted, default false>
|
|
60
|
+
#tracker_store:
|
|
61
|
+
# type: mongod
|
|
62
|
+
# url: <url to your mongo instance, e.g. mongodb://localhost:27017>
|
|
63
|
+
# db: <name of the db within your mongo instance, e.g. rasa>
|
|
64
|
+
# username: <username used for authentication>
|
|
65
|
+
# password: <password used for authentication>
|
|
66
|
+
|
|
67
|
+
# Event broker which all conversation events should be streamed to.
|
|
68
|
+
# https://rasa.com/docs/rasa-pro/production/event-brokers
|
|
69
|
+
#event_broker:
|
|
70
|
+
# url: localhost
|
|
71
|
+
# username: username
|
|
72
|
+
# password: password
|
|
73
|
+
# queue: queue
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
The following is a conversation with an AI assistant.
|
|
2
|
+
The assistant is professional, calm, and highly attentive to detail.
|
|
3
|
+
Its main priorities are efficiency, speed, and accuracy when handling user requests.
|
|
4
|
+
|
|
5
|
+
Please rephrase the suggested AI response, staying close to the original meaning while
|
|
6
|
+
ensuring the assistant's tone remains formal yet empathetic, friendly, and reassuring.
|
|
7
|
+
It should convey patience, even with vague or repetitive questions, and be clear,
|
|
8
|
+
informative, and slightly humorous where appropriate.
|
|
9
|
+
|
|
10
|
+
Write your responses in English
|
|
11
|
+
|
|
12
|
+
Context / previous conversation with the user:
|
|
13
|
+
{{history}}
|
|
14
|
+
|
|
15
|
+
{{current_input}}
|
|
16
|
+
|
|
17
|
+
Suggested AI Response: {{suggested_response}}
|
|
18
|
+
|
|
19
|
+
Rephrased AI Response:
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Account actions
|
|
2
|
+
from actions.accounts.action_ask_account import ActionAskAccount
|
|
3
|
+
from actions.accounts.action_check_balance import ActionCheckBalance
|
|
4
|
+
|
|
5
|
+
# General actions
|
|
6
|
+
from actions.action_session_start import ActionSessionStart
|
|
7
|
+
|
|
8
|
+
# Card actions
|
|
9
|
+
from actions.cards.action_ask_card import ActionAskCard
|
|
10
|
+
from actions.cards.action_check_card_existence import ActionCheckCardExistence
|
|
11
|
+
from actions.cards.action_update_card_status import ActionUpdateCardStatus
|
|
12
|
+
|
|
13
|
+
# Transfer actions
|
|
14
|
+
from actions.transfers.action_add_payee import ActionAddPayee
|
|
15
|
+
from actions.transfers.action_ask_account_from import ActionAskAccountFrom
|
|
16
|
+
from actions.transfers.action_check_payee_existence import ActionCheckPayeeExistence
|
|
17
|
+
from actions.transfers.action_check_sufficient_funds import ActionCheckSufficientFunds
|
|
18
|
+
from actions.transfers.action_list_payees import ActionListPayees
|
|
19
|
+
from actions.transfers.action_process_immediate_payment import (
|
|
20
|
+
ActionProcessImmediatePayment,
|
|
21
|
+
)
|
|
22
|
+
from actions.transfers.action_remove_payee import ActionRemovePayee
|
|
23
|
+
from actions.transfers.action_schedule_payment import ActionSchedulePayment
|
|
24
|
+
from actions.transfers.action_validate_payment_date import ActionValidatePaymentDate
|
|
25
|
+
|
|
26
|
+
__all__ = [
|
|
27
|
+
# General actions
|
|
28
|
+
"ActionSessionStart",
|
|
29
|
+
# Account actions
|
|
30
|
+
"ActionAskAccount",
|
|
31
|
+
"ActionCheckBalance",
|
|
32
|
+
# Card actions
|
|
33
|
+
"ActionAskCard",
|
|
34
|
+
"ActionCheckCardExistence",
|
|
35
|
+
"ActionUpdateCardStatus",
|
|
36
|
+
# Transfer actions
|
|
37
|
+
"ActionAddPayee",
|
|
38
|
+
"ActionAskAccountFrom",
|
|
39
|
+
"ActionCheckPayeeExistence",
|
|
40
|
+
"ActionCheckSufficientFunds",
|
|
41
|
+
"ActionListPayees",
|
|
42
|
+
"ActionProcessImmediatePayment",
|
|
43
|
+
"ActionRemovePayee",
|
|
44
|
+
"ActionSchedulePayment",
|
|
45
|
+
"ActionValidatePaymentDate",
|
|
46
|
+
]
|