rasa-pro 3.14.0.dev20250901__py3-none-any.whl → 3.14.0rc1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rasa-pro might be problematic. Click here for more details.
- rasa/__main__.py +15 -3
- rasa/agents/__init__.py +0 -0
- rasa/agents/agent_factory.py +122 -0
- rasa/agents/agent_manager.py +211 -0
- rasa/agents/constants.py +43 -0
- rasa/agents/core/__init__.py +0 -0
- rasa/agents/core/agent_protocol.py +107 -0
- rasa/agents/core/types.py +81 -0
- rasa/agents/exceptions.py +38 -0
- rasa/agents/protocol/__init__.py +5 -0
- rasa/agents/protocol/a2a/__init__.py +0 -0
- rasa/agents/protocol/a2a/a2a_agent.py +879 -0
- rasa/agents/protocol/mcp/__init__.py +0 -0
- rasa/agents/protocol/mcp/mcp_base_agent.py +726 -0
- rasa/agents/protocol/mcp/mcp_open_agent.py +327 -0
- rasa/agents/protocol/mcp/mcp_task_agent.py +522 -0
- rasa/agents/schemas/__init__.py +13 -0
- rasa/agents/schemas/agent_input.py +38 -0
- rasa/agents/schemas/agent_output.py +26 -0
- rasa/agents/schemas/agent_tool_result.py +65 -0
- rasa/agents/schemas/agent_tool_schema.py +186 -0
- rasa/agents/templates/__init__.py +0 -0
- rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +20 -0
- rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +22 -0
- rasa/agents/utils.py +206 -0
- rasa/agents/validation.py +485 -0
- rasa/api.py +24 -9
- rasa/builder/config.py +7 -2
- rasa/builder/copilot/constants.py +3 -0
- rasa/builder/copilot/copilot.py +128 -54
- rasa/builder/copilot/models.py +39 -3
- rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +183 -188
- rasa/builder/copilot/prompts/latest_user_message_context_prompt.jinja2 +61 -0
- rasa/builder/copilot/telemetry.py +46 -20
- rasa/builder/document_retrieval/models.py +3 -3
- rasa/builder/download.py +1 -8
- rasa/builder/guardrails/{lakera.py → clients.py} +55 -5
- rasa/builder/guardrails/constants.py +3 -0
- rasa/builder/guardrails/models.py +45 -10
- rasa/builder/guardrails/policy_checker.py +324 -0
- rasa/builder/guardrails/utils.py +42 -276
- rasa/builder/jobs.py +33 -21
- rasa/builder/llm_service.py +32 -5
- rasa/builder/main.py +38 -62
- rasa/builder/models.py +8 -7
- rasa/builder/project_generator.py +149 -148
- rasa/builder/service.py +58 -40
- rasa/builder/template_cache.py +69 -0
- rasa/builder/training_service.py +84 -20
- rasa/builder/validation_service.py +1 -1
- rasa/cli/arguments/default_arguments.py +12 -0
- rasa/cli/arguments/run.py +2 -0
- rasa/cli/arguments/train.py +2 -0
- rasa/cli/data.py +10 -8
- rasa/cli/dialogue_understanding_test.py +10 -7
- rasa/cli/e2e_test.py +9 -6
- rasa/cli/evaluate.py +4 -2
- rasa/cli/export.py +5 -2
- rasa/cli/inspect.py +8 -4
- rasa/cli/interactive.py +5 -4
- rasa/cli/llm_fine_tuning.py +11 -6
- rasa/cli/project_templates/basic/README.md +23 -0
- rasa/cli/project_templates/basic/actions/actions.md +10 -0
- rasa/cli/project_templates/basic/config.yml +6 -4
- rasa/cli/project_templates/basic/data/data.md +5 -6
- rasa/cli/project_templates/basic/domain/domain.md +7 -5
- rasa/cli/project_templates/basic/domain/general/show_faqs.yml +1 -1
- rasa/cli/project_templates/basic/endpoints.yml +5 -1
- rasa/cli/project_templates/default/config.yml +4 -0
- rasa/cli/project_templates/default/endpoints.yml +4 -0
- rasa/cli/project_templates/finance/README.md +26 -0
- rasa/cli/project_templates/finance/actions/__init__.py +0 -46
- rasa/cli/project_templates/finance/actions/accounts/check_balance.py +18 -0
- rasa/cli/project_templates/finance/actions/actions.md +15 -0
- rasa/cli/project_templates/finance/actions/{transfers/action_process_immediate_payment.py → cards/check_that_card_exists.py} +6 -3
- rasa/cli/project_templates/finance/actions/cards/list_cards.py +22 -0
- rasa/cli/project_templates/finance/actions/contacts/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/contacts/add_contact.py +30 -0
- rasa/cli/project_templates/finance/actions/contacts/list_contacts.py +22 -0
- rasa/cli/project_templates/finance/actions/contacts/remove_contact.py +35 -0
- rasa/cli/project_templates/finance/actions/db.py +117 -0
- rasa/cli/project_templates/finance/actions/general/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/general/action_human_handoff.py +49 -0
- rasa/cli/project_templates/finance/actions/transfers/check_transfer_funds.py +27 -0
- rasa/cli/project_templates/finance/actions/transfers/check_transfer_limit.py +36 -0
- rasa/cli/project_templates/finance/actions/transfers/execute_recurrent_payment.py +20 -0
- rasa/cli/project_templates/finance/actions/transfers/execute_transfer.py +45 -0
- rasa/cli/project_templates/finance/actions/transfers/list_transactions.py +32 -0
- rasa/cli/project_templates/finance/config.yml +8 -0
- rasa/cli/project_templates/finance/credentials.yml +7 -6
- rasa/cli/project_templates/finance/data/accounts/check_balance.yml +3 -4
- rasa/cli/project_templates/finance/data/accounts/download_statements.yml +26 -0
- rasa/cli/project_templates/finance/data/bills/bill_pay_reminder.yml +25 -0
- rasa/cli/project_templates/finance/data/cards/activate_card.yml +35 -0
- rasa/cli/project_templates/finance/data/cards/block_card.yml +37 -58
- rasa/cli/project_templates/finance/data/cards/list_cards.yml +14 -0
- rasa/cli/project_templates/finance/data/cards/replace_card.yml +16 -0
- rasa/cli/project_templates/finance/data/cards/replace_eligible_card.yml +29 -0
- rasa/cli/project_templates/finance/data/contacts/add_contact.yml +33 -0
- rasa/cli/project_templates/finance/data/contacts/list_contacts.yml +14 -0
- rasa/cli/project_templates/finance/data/contacts/remove_contact.yml +31 -0
- rasa/cli/project_templates/finance/data/data.md +14 -0
- rasa/cli/project_templates/finance/data/general/bot_challenge.yml +6 -0
- rasa/cli/project_templates/finance/data/general/goodbye.yml +1 -1
- rasa/cli/project_templates/finance/data/general/hello.yml +1 -2
- rasa/cli/project_templates/finance/data/general/help.yml +2 -2
- rasa/cli/project_templates/finance/data/general/human_handoff.yml +2 -2
- rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +1 -1
- rasa/cli/project_templates/finance/data/transfers/check_transfer_limit.yml +18 -0
- rasa/cli/project_templates/finance/data/transfers/list_transactions.yml +46 -0
- rasa/cli/project_templates/finance/data/transfers/move_money_between_accounts.yml +51 -0
- rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +29 -62
- rasa/cli/project_templates/finance/data/transfers/transfer_money_to_a_third_party.yml +175 -0
- rasa/cli/project_templates/finance/db/cards.json +18 -0
- rasa/cli/project_templates/finance/db/contacts.json +10 -0
- rasa/cli/project_templates/finance/db/my_account.json +6 -0
- rasa/cli/project_templates/finance/db/transactions.json +22 -0
- rasa/cli/project_templates/finance/docs/docs.md +8 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/budgeting_analytics.txt +22 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/multi_currency_accounts.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/premium_benefits.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/contactless_limits.txt +16 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/freeze_unfreeze_card.txt +16 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/lost_stolen_card.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/instant_payments.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/international_transfers.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/fraud_protection.txt +22 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/secure_payments.txt +22 -0
- rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +9 -5
- rasa/cli/project_templates/finance/domain/accounts/download_statements.yml +40 -0
- rasa/cli/project_templates/finance/domain/bills/bill_pay_reminder.yml +49 -0
- rasa/cli/project_templates/finance/domain/cards/activate_card.yml +24 -0
- rasa/cli/project_templates/finance/domain/cards/block_card.yml +33 -90
- rasa/cli/project_templates/finance/domain/cards/list_cards.yml +16 -0
- rasa/cli/project_templates/finance/domain/cards/replace_card.yml +43 -0
- rasa/cli/project_templates/finance/domain/cards/shared.yml +15 -0
- rasa/cli/project_templates/finance/domain/contacts/add_contact.yml +37 -0
- rasa/cli/project_templates/finance/domain/contacts/list_contacts.yml +16 -0
- rasa/cli/project_templates/finance/domain/contacts/remove_contact.yml +32 -0
- rasa/cli/project_templates/finance/domain/domain.md +18 -0
- rasa/cli/project_templates/finance/domain/general/_shared.yml +39 -0
- rasa/cli/project_templates/finance/domain/general/bot_challenge.yml +4 -0
- rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +5 -2
- rasa/cli/project_templates/finance/domain/general/feedback.yml +0 -3
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +6 -6
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +10 -9
- rasa/cli/project_templates/finance/domain/general/welcome.yml +33 -2
- rasa/cli/project_templates/finance/domain/transfers/check_transfer_limit.yml +32 -0
- rasa/cli/project_templates/finance/domain/transfers/list_transactions.yml +44 -0
- rasa/cli/project_templates/finance/domain/transfers/shared.yml +17 -0
- rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +203 -61
- rasa/cli/project_templates/finance/endpoints.yml +8 -4
- rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +31 -12
- rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/check_balance.yml +9 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/download_statements.yml +43 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/cards/block_card.yml +55 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/bot_challenge.yml +8 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/feedback.yml +46 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/goodbye.yml +9 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/hello.yml +8 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/human_handoff.yml +35 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/patterns.yml +22 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/transfers/transfer_money.yml +56 -0
- rasa/cli/project_templates/telco/README.md +25 -0
- rasa/cli/project_templates/telco/actions/actions.md +12 -0
- rasa/cli/project_templates/telco/config.yml +6 -4
- rasa/cli/project_templates/telco/data/data.md +11 -0
- rasa/cli/project_templates/telco/data/general/human_handoff.yml +1 -1
- rasa/cli/project_templates/telco/docs/docs.md +3 -0
- rasa/cli/project_templates/telco/domain/domain.md +13 -0
- rasa/cli/project_templates/telco/domain/general/human_handoff.yml +3 -6
- rasa/cli/project_templates/telco/endpoints.yml +5 -1
- rasa/cli/project_templates/telco/prompts/rephraser_demo_personality_prompt.jinja2 +1 -1
- rasa/cli/project_templates/telco/tests/e2e_test_cases/billing/understand_bill.yml +67 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/bot_challenge.yml +8 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/feedback.yml +46 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/goodbye.yml +9 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/hello.yml +8 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/human_handoff.yml +35 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/patterns.yml +23 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/network/solve_internet_issue.yml +57 -0
- rasa/cli/project_templates/tutorial/credentials.yml +10 -0
- rasa/cli/run.py +12 -10
- rasa/cli/scaffold.py +4 -4
- rasa/cli/shell.py +9 -5
- rasa/cli/studio/studio.py +1 -1
- rasa/cli/test.py +34 -14
- rasa/cli/train.py +41 -28
- rasa/cli/utils.py +1 -393
- rasa/cli/validation/__init__.py +0 -0
- rasa/cli/validation/bot_config.py +223 -0
- rasa/cli/validation/config_path_validation.py +257 -0
- rasa/cli/x.py +8 -4
- rasa/constants.py +7 -1
- rasa/core/actions/action.py +51 -10
- rasa/core/actions/action_run_slot_rejections.py +1 -1
- rasa/core/actions/direct_custom_actions_executor.py +9 -2
- rasa/core/actions/grpc_custom_action_executor.py +1 -1
- rasa/core/agent.py +19 -2
- rasa/core/available_agents.py +229 -0
- rasa/core/brokers/broker.py +1 -1
- rasa/core/brokers/kafka.py +52 -8
- rasa/core/channels/__init__.py +82 -35
- rasa/core/channels/development_inspector.py +4 -24
- rasa/core/channels/hangouts.py +2 -2
- rasa/core/channels/inspector/README.md +25 -13
- rasa/core/channels/inspector/dist/assets/{arc-18042c22.js → arc-6177260a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-fdd6bcfa.js → blockDiagram-38ab4fdb-b054f038.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-f5ae6786.js → c4Diagram-3d4e48cf-f25427d5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-bf9cbb34.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-81efba3e.js → classDiagram-70f12bd4-c7a2af53.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-3b6b6a92.js → classDiagram-v2-f2320105-58db65c0.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-8f9083bb.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-31422447.js → createText-2e5e7dd3-088372e2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-518a90db.js → edges-e0da2a9e-58676240.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-a6d3c25a.js → erDiagram-9861fffd-0c14d7c6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-e048c2be.js → flowDb-956e92f1-ea63f85c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-c7474c91.js → flowDiagram-66a62f08-a2af48cd.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-9ecd5b59.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-cb4d8723.js → flowchart-elk-definition-4a651766-6937abe7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-346636a2.js → ganttDiagram-c361ad54-7473f357.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-7c508874.js → gitGraphDiagram-72cf32ee-d0c9405e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-14702d8a.js → graph-0a6f8466.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-f18b534b.js → index-3862675e-7610671a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/index-74e01d94.js +1354 -0
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-64154b83.js → infoDiagram-f8f76790-be397dc7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-833a5f95.js → journeyDiagram-49397b02-4cefbf62.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-5a3b2123.js → layout-e7fbc2bf.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-2272a8c7.js → line-a8aa457c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-35bcf273.js → linear-3351e0d2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-92dcb0e9.js → mindmap-definition-fc14e90a-b8cbf605.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-94dbc900.js → pieDiagram-8a3498a8-f327f774.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-8b7a9c33.js → quadrantDiagram-120e2f19-2854c591.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-6f7eab81.js → requirementDiagram-deff3bca-964985d5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-f43e581d.js → sankeyDiagram-04a897e0-edeb4f33.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-0bcbefc3.js → sequenceDiagram-704730f1-fcf70125.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-b8a74083.js → stateDiagram-587899a1-0e770395.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-2070218f.js → stateDiagram-v2-d93cdb3a-af8dcd22.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-f1d54e34.js → styles-6aaf32cf-36a9e70d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-980de489.js → styles-9a916d00-884a8b5b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-3c03abde.js → styles-c10674c1-dc097813.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-46ba068f.js → svgDrawCommon-08f97a94-5a2c7eed.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-901f5e3d.js → timeline-definition-85554ec2-e89c4f6e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-acbc628a.js → xychartDiagram-e933f94c-afb6fe56.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +1 -1
- rasa/core/channels/inspector/package.json +18 -18
- rasa/core/channels/inspector/src/App.tsx +34 -35
- rasa/core/channels/inspector/src/components/Chat.tsx +2 -3
- rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
- rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +4 -2
- rasa/core/channels/inspector/src/components/DialogueInformation.tsx +9 -1
- rasa/core/channels/inspector/src/components/LatencyDisplay.tsx +63 -35
- rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +20 -3
- rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
- rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
- rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
- rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
- rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
- rasa/core/channels/inspector/src/types.ts +53 -7
- rasa/core/channels/inspector/yarn.lock +336 -189
- rasa/core/channels/studio_chat.py +29 -47
- rasa/core/channels/telegram.py +4 -9
- rasa/core/channels/voice_stream/asr/asr_event.py +1 -1
- rasa/core/channels/voice_stream/asr/azure.py +6 -3
- rasa/core/channels/voice_stream/asr/deepgram.py +1 -1
- rasa/core/channels/voice_stream/audiocodes.py +3 -0
- rasa/core/channels/voice_stream/browser_audio.py +55 -3
- rasa/core/channels/voice_stream/genesys.py +3 -2
- rasa/core/channels/voice_stream/jambonz.py +9 -1
- rasa/core/channels/voice_stream/tts/deepgram.py +140 -0
- rasa/core/channels/voice_stream/twilio_media_streams.py +21 -1
- rasa/core/channels/voice_stream/voice_channel.py +64 -0
- rasa/core/concurrent_lock_store.py +66 -16
- rasa/core/config/__init__.py +0 -0
- rasa/core/{available_endpoints.py → config/available_endpoints.py} +51 -16
- rasa/core/config/configuration.py +260 -0
- rasa/core/config/credentials.py +19 -0
- rasa/core/config/message_procesing_config.py +34 -0
- rasa/core/constants.py +11 -0
- rasa/core/iam_credentials_providers/__init__.py +0 -0
- rasa/core/iam_credentials_providers/aws_iam_credentials_providers.py +226 -0
- rasa/core/iam_credentials_providers/credentials_provider_protocol.py +90 -0
- rasa/core/lock_store.py +46 -10
- rasa/core/nlg/generator.py +1 -1
- rasa/core/policies/enterprise_search_policy.py +5 -3
- rasa/core/policies/flow_policy.py +4 -4
- rasa/core/policies/flows/agent_executor.py +632 -0
- rasa/core/policies/flows/flow_executor.py +137 -76
- rasa/core/policies/flows/mcp_tool_executor.py +298 -0
- rasa/core/policies/intentless_policy.py +1 -1
- rasa/core/policies/ted_policy.py +20 -12
- rasa/core/policies/unexpected_intent_policy.py +6 -0
- rasa/core/processor.py +100 -44
- rasa/core/redis_connection_factory.py +469 -0
- rasa/core/run.py +37 -8
- rasa/core/test.py +4 -0
- rasa/core/tracker_stores/redis_tracker_store.py +32 -14
- rasa/core/tracker_stores/sql_tracker_store.py +57 -1
- rasa/core/tracker_stores/tracker_store.py +3 -7
- rasa/core/train.py +1 -1
- rasa/core/training/interactive.py +20 -18
- rasa/core/training/story_conflict.py +5 -5
- rasa/core/utils.py +22 -23
- rasa/dialogue_understanding/commands/__init__.py +8 -0
- rasa/dialogue_understanding/commands/cancel_flow_command.py +19 -5
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +21 -2
- rasa/dialogue_understanding/commands/clarify_command.py +20 -2
- rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +21 -2
- rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
- rasa/dialogue_understanding/commands/start_flow_command.py +68 -7
- rasa/dialogue_understanding/commands/utils.py +124 -2
- rasa/dialogue_understanding/generator/command_parser.py +4 -0
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +50 -12
- rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +66 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +66 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +89 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +88 -0
- rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +42 -7
- rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +40 -3
- rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +20 -3
- rasa/dialogue_understanding/patterns/cancel.py +27 -6
- rasa/dialogue_understanding/patterns/clarify.py +3 -14
- rasa/dialogue_understanding/patterns/continue_interrupted.py +239 -6
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +46 -8
- rasa/dialogue_understanding/processor/command_processor.py +136 -15
- rasa/dialogue_understanding/stack/dialogue_stack.py +98 -2
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
- rasa/dialogue_understanding/stack/utils.py +57 -3
- rasa/dialogue_understanding/utils.py +24 -4
- rasa/dialogue_understanding_test/du_test_runner.py +8 -3
- rasa/e2e_test/e2e_test_runner.py +13 -3
- rasa/engine/caching.py +2 -2
- rasa/engine/constants.py +1 -1
- rasa/engine/graph.py +5 -1
- rasa/engine/loader.py +12 -0
- rasa/engine/recipes/default_components.py +138 -49
- rasa/engine/recipes/default_recipe.py +108 -11
- rasa/engine/runner/dask.py +8 -5
- rasa/engine/storage/local_model_storage.py +41 -4
- rasa/engine/validation.py +19 -6
- rasa/graph_components/validators/default_recipe_validator.py +86 -28
- rasa/hooks.py +5 -5
- rasa/llm_fine_tuning/utils.py +2 -2
- rasa/model_manager/socket_bridge.py +1 -2
- rasa/model_manager/warm_rasa_process.py +13 -3
- rasa/model_training.py +60 -47
- rasa/nlu/classifiers/diet_classifier.py +198 -98
- rasa/nlu/classifiers/logistic_regression_classifier.py +1 -4
- rasa/nlu/classifiers/mitie_intent_classifier.py +3 -0
- rasa/nlu/classifiers/sklearn_intent_classifier.py +1 -3
- rasa/nlu/extractors/crf_entity_extractor.py +9 -10
- rasa/nlu/extractors/mitie_entity_extractor.py +3 -0
- rasa/nlu/extractors/spacy_entity_extractor.py +3 -0
- rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +4 -0
- rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +5 -0
- rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +2 -0
- rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +3 -0
- rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +4 -2
- rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -0
- rasa/nlu/selectors/response_selector.py +10 -2
- rasa/nlu/tokenizers/jieba_tokenizer.py +3 -4
- rasa/nlu/tokenizers/mitie_tokenizer.py +3 -2
- rasa/nlu/tokenizers/spacy_tokenizer.py +3 -2
- rasa/nlu/utils/mitie_utils.py +3 -0
- rasa/nlu/utils/spacy_utils.py +3 -2
- rasa/plugin.py +8 -8
- rasa/privacy/privacy_manager.py +12 -3
- rasa/server.py +15 -3
- rasa/shared/agents/__init__.py +0 -0
- rasa/shared/agents/auth/__init__.py +0 -0
- rasa/shared/agents/auth/agent_auth_factory.py +105 -0
- rasa/shared/agents/auth/agent_auth_manager.py +92 -0
- rasa/shared/agents/auth/auth_strategy/__init__.py +19 -0
- rasa/shared/agents/auth/auth_strategy/agent_auth_strategy.py +52 -0
- rasa/shared/agents/auth/auth_strategy/api_key_auth_strategy.py +42 -0
- rasa/shared/agents/auth/auth_strategy/bearer_token_auth_strategy.py +28 -0
- rasa/shared/agents/auth/auth_strategy/oauth2_auth_strategy.py +167 -0
- rasa/shared/agents/auth/constants.py +12 -0
- rasa/shared/agents/auth/types.py +12 -0
- rasa/shared/agents/utils.py +35 -0
- rasa/shared/constants.py +8 -0
- rasa/shared/core/constants.py +17 -1
- rasa/shared/core/domain.py +0 -7
- rasa/shared/core/events.py +329 -0
- rasa/shared/core/flows/constants.py +5 -0
- rasa/shared/core/flows/flow.py +1 -1
- rasa/shared/core/flows/flows_list.py +21 -5
- rasa/shared/core/flows/flows_yaml_schema.json +119 -184
- rasa/shared/core/flows/steps/call.py +49 -5
- rasa/shared/core/flows/steps/collect.py +98 -13
- rasa/shared/core/flows/validation.py +372 -8
- rasa/shared/core/flows/yaml_flows_io.py +3 -2
- rasa/shared/core/slots.py +2 -2
- rasa/shared/core/trackers.py +5 -2
- rasa/shared/exceptions.py +16 -0
- rasa/shared/importers/rasa.py +1 -1
- rasa/shared/importers/utils.py +9 -3
- rasa/shared/nlu/training_data/schemas/responses.yml +3 -0
- rasa/shared/providers/llm/_base_litellm_client.py +41 -9
- rasa/shared/providers/llm/litellm_router_llm_client.py +8 -4
- rasa/shared/providers/llm/llm_client.py +7 -3
- rasa/shared/providers/llm/llm_response.py +66 -0
- rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
- rasa/shared/utils/common.py +24 -0
- rasa/shared/utils/health_check/health_check.py +7 -3
- rasa/shared/utils/llm.py +39 -16
- rasa/shared/utils/mcp/__init__.py +0 -0
- rasa/shared/utils/mcp/server_connection.py +247 -0
- rasa/shared/utils/mcp/utils.py +20 -0
- rasa/shared/utils/schemas/events.py +42 -0
- rasa/shared/utils/yaml.py +3 -1
- rasa/studio/pull/pull.py +3 -2
- rasa/studio/train.py +8 -7
- rasa/studio/upload.py +3 -6
- rasa/telemetry.py +69 -5
- rasa/tracing/config.py +45 -12
- rasa/tracing/constants.py +14 -0
- rasa/tracing/instrumentation/attribute_extractors.py +142 -9
- rasa/tracing/instrumentation/instrumentation.py +626 -21
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
- rasa/tracing/instrumentation/metrics.py +32 -0
- rasa/tracing/metric_instrument_provider.py +68 -0
- rasa/utils/common.py +92 -1
- rasa/utils/endpoints.py +11 -2
- rasa/utils/log_utils.py +96 -5
- rasa/utils/ml_utils.py +1 -1
- rasa/utils/pypred.py +38 -0
- rasa/utils/tensorflow/__init__.py +7 -0
- rasa/utils/tensorflow/callback.py +136 -101
- rasa/utils/tensorflow/crf.py +1 -1
- rasa/utils/tensorflow/data_generator.py +21 -8
- rasa/utils/tensorflow/layers.py +21 -11
- rasa/utils/tensorflow/metrics.py +7 -3
- rasa/utils/tensorflow/models.py +56 -8
- rasa/utils/tensorflow/rasa_layers.py +8 -6
- rasa/utils/tensorflow/transformer.py +2 -3
- rasa/utils/train_utils.py +54 -24
- rasa/validator.py +17 -13
- rasa/version.py +1 -1
- {rasa_pro-3.14.0.dev20250901.dist-info → rasa_pro-3.14.0rc1.dist-info}/METADATA +59 -51
- {rasa_pro-3.14.0.dev20250901.dist-info → rasa_pro-3.14.0rc1.dist-info}/RECORD +452 -428
- rasa/builder/scrape_rasa_docs.py +0 -97
- rasa/cli/project_templates/finance/actions/accounts/action_ask_account.py +0 -47
- rasa/cli/project_templates/finance/actions/accounts/action_check_balance.py +0 -40
- rasa/cli/project_templates/finance/actions/action_session_start.py +0 -74
- rasa/cli/project_templates/finance/actions/cards/action_ask_card.py +0 -48
- rasa/cli/project_templates/finance/actions/cards/action_check_card_existence.py +0 -36
- rasa/cli/project_templates/finance/actions/cards/action_update_card_status.py +0 -54
- rasa/cli/project_templates/finance/actions/database.py +0 -277
- rasa/cli/project_templates/finance/actions/transfers/action_add_payee.py +0 -52
- rasa/cli/project_templates/finance/actions/transfers/action_ask_account_from.py +0 -51
- rasa/cli/project_templates/finance/actions/transfers/action_check_payee_existence.py +0 -40
- rasa/cli/project_templates/finance/actions/transfers/action_check_sufficient_funds.py +0 -40
- rasa/cli/project_templates/finance/actions/transfers/action_list_payees.py +0 -46
- rasa/cli/project_templates/finance/actions/transfers/action_remove_payee.py +0 -49
- rasa/cli/project_templates/finance/actions/transfers/action_schedule_payment.py +0 -19
- rasa/cli/project_templates/finance/actions/transfers/action_validate_payment_date.py +0 -36
- rasa/cli/project_templates/finance/csvs/accounts.csv +0 -8
- rasa/cli/project_templates/finance/csvs/advisors.csv +0 -7
- rasa/cli/project_templates/finance/csvs/appointments.csv +0 -211
- rasa/cli/project_templates/finance/csvs/branches.csv +0 -10
- rasa/cli/project_templates/finance/csvs/cards.csv +0 -11
- rasa/cli/project_templates/finance/csvs/payees.csv +0 -11
- rasa/cli/project_templates/finance/csvs/transactions.csv +0 -71
- rasa/cli/project_templates/finance/csvs/users.csv +0 -4
- rasa/cli/project_templates/finance/data/cards/select_card.yml +0 -12
- rasa/cli/project_templates/finance/data/general/bot_identity.yml +0 -6
- rasa/cli/project_templates/finance/data/system/patterns/pattern_chitchat.yml +0 -5
- rasa/cli/project_templates/finance/data/system/source/accounts.json +0 -51
- rasa/cli/project_templates/finance/data/system/source/advisors.json +0 -44
- rasa/cli/project_templates/finance/data/system/source/appointments.json +0 -1474
- rasa/cli/project_templates/finance/data/system/source/branches.json +0 -47
- rasa/cli/project_templates/finance/data/system/source/cards.json +0 -72
- rasa/cli/project_templates/finance/data/system/source/payees.json +0 -74
- rasa/cli/project_templates/finance/data/system/source/transactions.json +0 -492
- rasa/cli/project_templates/finance/data/system/source/users.json +0 -29
- rasa/cli/project_templates/finance/data/transfers/add_payee.yml +0 -29
- rasa/cli/project_templates/finance/data/transfers/list_payees.yml +0 -5
- rasa/cli/project_templates/finance/data/transfers/remove_payee.yml +0 -21
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +0 -7
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +0 -8
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +0 -48
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +0 -47
- rasa/cli/project_templates/finance/domain/cards/select_card.yml +0 -12
- rasa/cli/project_templates/finance/domain/general/assistant_details.yml +0 -12
- rasa/cli/project_templates/finance/domain/general/bot_identity.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/defaults.yml +0 -24
- rasa/cli/project_templates/finance/domain/general/help.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/utils.yml +0 -13
- rasa/cli/project_templates/finance/domain/transfers/add_payee.yml +0 -47
- rasa/cli/project_templates/finance/domain/transfers/list_payees.yml +0 -4
- rasa/cli/project_templates/finance/domain/transfers/remove_payee.yml +0 -16
- rasa/core/channels/inspector/dist/assets/channel-b9b536fc.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-78d2ddcf.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-8b09c060.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-4d4bdf3a.js +0 -1335
- /rasa/cli/project_templates/telco/domain/billing/{domain_undertand_bill.yml → understand_bill.yml} +0 -0
- /rasa/cli/project_templates/telco/domain/network/{domain_reboot_router.yml → reboot_router.yml} +0 -0
- /rasa/cli/project_templates/telco/domain/network/{domain_reset_router.yml → reset_router.yml} +0 -0
- /rasa/cli/project_templates/telco/domain/network/{domain_run_speed_test.yml → run_speed_test.yml} +0 -0
- /rasa/cli/project_templates/telco/domain/network/{domain_solve_internet_issue.yml → solve_internet_issue.yml} +0 -0
- {rasa_pro-3.14.0.dev20250901.dist-info → rasa_pro-3.14.0rc1.dist-info}/NOTICE +0 -0
- {rasa_pro-3.14.0.dev20250901.dist-info → rasa_pro-3.14.0rc1.dist-info}/WHEEL +0 -0
- {rasa_pro-3.14.0.dev20250901.dist-info → rasa_pro-3.14.0rc1.dist-info}/entry_points.txt +0 -0
|
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Dict, List, Optional, Text, Tuple
|
|
|
5
5
|
|
|
6
6
|
import structlog
|
|
7
7
|
import tiktoken
|
|
8
|
-
from deprecated import deprecated # type: ignore[import]
|
|
8
|
+
from deprecated import deprecated # type: ignore[import-untyped]
|
|
9
9
|
from jinja2 import Template
|
|
10
10
|
from langchain.docstore.document import Document
|
|
11
11
|
from langchain.schema.embeddings import Embeddings
|
rasa/core/policies/ted_policy.py
CHANGED
|
@@ -58,6 +58,7 @@ from rasa.shared.nlu.training_data.features import (
|
|
|
58
58
|
save_features,
|
|
59
59
|
)
|
|
60
60
|
from rasa.shared.nlu.training_data.message import Message
|
|
61
|
+
from rasa.shared.utils.io import raise_deprecation_warning
|
|
61
62
|
from rasa.utils import train_utils
|
|
62
63
|
from rasa.utils.tensorflow import rasa_layers
|
|
63
64
|
from rasa.utils.tensorflow.constants import (
|
|
@@ -80,7 +81,6 @@ from rasa.utils.tensorflow.constants import (
|
|
|
80
81
|
EMBEDDING_DIMENSION,
|
|
81
82
|
ENCODING_DIMENSION,
|
|
82
83
|
ENTITY_RECOGNITION,
|
|
83
|
-
EPOCH_OVERRIDE,
|
|
84
84
|
EPOCHS,
|
|
85
85
|
EVAL_NUM_EPOCHS,
|
|
86
86
|
EVAL_NUM_EXAMPLES,
|
|
@@ -363,6 +363,9 @@ class TEDPolicy(Policy):
|
|
|
363
363
|
entity_tag_specs: Optional[List[EntityTagSpec]] = None,
|
|
364
364
|
) -> None:
|
|
365
365
|
"""Declares instance variables with default values."""
|
|
366
|
+
raise_deprecation_warning(
|
|
367
|
+
"TEDPolicy is deprecated and will be removed in a future version."
|
|
368
|
+
)
|
|
366
369
|
super().__init__(
|
|
367
370
|
config, model_storage, resource, execution_context, featurizer=featurizer
|
|
368
371
|
)
|
|
@@ -668,6 +671,7 @@ class TEDPolicy(Policy):
|
|
|
668
671
|
self.model.compile(
|
|
669
672
|
optimizer=tf.keras.optimizers.Adam(self.config[LEARNING_RATE])
|
|
670
673
|
)
|
|
674
|
+
|
|
671
675
|
(
|
|
672
676
|
data_generator,
|
|
673
677
|
validation_data_generator,
|
|
@@ -943,14 +947,16 @@ class TEDPolicy(Policy):
|
|
|
943
947
|
|
|
944
948
|
with self._model_storage.write_to(self._resource) as model_path:
|
|
945
949
|
model_filename = self._metadata_filename()
|
|
946
|
-
tf_model_file = model_path / f"{model_filename}.
|
|
950
|
+
tf_model_file = model_path / f"{model_filename}.weights.h5"
|
|
947
951
|
|
|
948
952
|
rasa.shared.utils.io.create_directory_for_file(tf_model_file)
|
|
949
953
|
|
|
950
954
|
self.featurizer.persist(model_path)
|
|
951
955
|
|
|
952
956
|
if self.config[CHECKPOINT_MODEL] and self.tmp_checkpoint_dir:
|
|
953
|
-
self.model.load_weights(
|
|
957
|
+
self.model.load_weights(
|
|
958
|
+
self.tmp_checkpoint_dir / "checkpoint.weights.h5"
|
|
959
|
+
)
|
|
954
960
|
# Save an empty file to flag that this model has been
|
|
955
961
|
# produced using checkpointing
|
|
956
962
|
checkpoint_marker = model_path / f"{model_filename}.from_checkpoint.pkl"
|
|
@@ -1009,7 +1015,7 @@ class TEDPolicy(Policy):
|
|
|
1009
1015
|
Args:
|
|
1010
1016
|
model_path: Path where model is to be persisted.
|
|
1011
1017
|
"""
|
|
1012
|
-
tf_model_file = model_path / f"{cls._metadata_filename()}.
|
|
1018
|
+
tf_model_file = model_path / f"{cls._metadata_filename()}.weights.h5"
|
|
1013
1019
|
|
|
1014
1020
|
# load data example
|
|
1015
1021
|
loaded_data = deserialize_nested_feature_arrays(
|
|
@@ -1109,8 +1115,6 @@ class TEDPolicy(Policy):
|
|
|
1109
1115
|
model_utilities = cls._load_model_utilities(model_path)
|
|
1110
1116
|
|
|
1111
1117
|
config = cls._update_loaded_params(config)
|
|
1112
|
-
if execution_context.is_finetuning and EPOCH_OVERRIDE in config:
|
|
1113
|
-
config[EPOCHS] = config.get(EPOCH_OVERRIDE)
|
|
1114
1118
|
|
|
1115
1119
|
(
|
|
1116
1120
|
model_data_example,
|
|
@@ -1125,7 +1129,6 @@ class TEDPolicy(Policy):
|
|
|
1125
1129
|
model_data_example,
|
|
1126
1130
|
predict_data_example,
|
|
1127
1131
|
featurizer,
|
|
1128
|
-
execution_context.is_finetuning,
|
|
1129
1132
|
)
|
|
1130
1133
|
|
|
1131
1134
|
return cls._load_policy_with_model(
|
|
@@ -1167,7 +1170,6 @@ class TEDPolicy(Policy):
|
|
|
1167
1170
|
model_data_example: RasaModelData,
|
|
1168
1171
|
predict_data_example: RasaModelData,
|
|
1169
1172
|
featurizer: TrackerFeaturizer,
|
|
1170
|
-
should_finetune: bool,
|
|
1171
1173
|
) -> TED:
|
|
1172
1174
|
model = cls.model_class().load(
|
|
1173
1175
|
str(model_utilities["tf_model_file"]),
|
|
@@ -1180,7 +1182,9 @@ class TEDPolicy(Policy):
|
|
|
1180
1182
|
),
|
|
1181
1183
|
label_data=model_utilities["label_data"],
|
|
1182
1184
|
entity_tag_specs=model_utilities["entity_tag_specs"],
|
|
1183
|
-
|
|
1185
|
+
# This feature is no longer supported as the updated version
|
|
1186
|
+
# of Keras does not allow updating a compiled model anymore.
|
|
1187
|
+
finetune_mode=False,
|
|
1184
1188
|
)
|
|
1185
1189
|
return model
|
|
1186
1190
|
|
|
@@ -1463,7 +1467,7 @@ class TED(TransformerRasaModel):
|
|
|
1463
1467
|
|
|
1464
1468
|
dialogue_transformed, attention_weights = self._tf_layers[
|
|
1465
1469
|
f"transformer.{DIALOGUE}"
|
|
1466
|
-
](dialogue_in, 1 - mask, self._training)
|
|
1470
|
+
](dialogue_in, 1 - mask, training=self._training)
|
|
1467
1471
|
dialogue_transformed = tf.nn.gelu(dialogue_transformed)
|
|
1468
1472
|
|
|
1469
1473
|
if self.max_history_featurizer_is_used:
|
|
@@ -1708,7 +1712,7 @@ class TED(TransformerRasaModel):
|
|
|
1708
1712
|
|
|
1709
1713
|
if attribute in SENTENCE_FEATURES_TO_ENCODE + LABEL_FEATURES_TO_ENCODE:
|
|
1710
1714
|
attribute_features = self._tf_layers[f"encoding_layer.{attribute}"](
|
|
1711
|
-
attribute_features, self._training
|
|
1715
|
+
attribute_features, training=self._training
|
|
1712
1716
|
)
|
|
1713
1717
|
|
|
1714
1718
|
# attribute features have shape
|
|
@@ -2102,7 +2106,11 @@ class TED(TransformerRasaModel):
|
|
|
2102
2106
|
predictions = {
|
|
2103
2107
|
"scores": scores,
|
|
2104
2108
|
"similarities": sim_all,
|
|
2105
|
-
DIAGNOSTIC_DATA: {
|
|
2109
|
+
DIAGNOSTIC_DATA: {
|
|
2110
|
+
"attention_weights": attention_weights.numpy()
|
|
2111
|
+
if attention_weights is not None and hasattr(attention_weights, "numpy")
|
|
2112
|
+
else attention_weights,
|
|
2113
|
+
},
|
|
2106
2114
|
}
|
|
2107
2115
|
|
|
2108
2116
|
if (
|
|
@@ -54,6 +54,7 @@ from rasa.shared.nlu.constants import (
|
|
|
54
54
|
)
|
|
55
55
|
from rasa.shared.nlu.training_data.features import Features
|
|
56
56
|
from rasa.shared.utils import common
|
|
57
|
+
from rasa.shared.utils.io import raise_deprecation_warning
|
|
57
58
|
from rasa.utils import train_utils
|
|
58
59
|
from rasa.utils.tensorflow import layers
|
|
59
60
|
from rasa.utils.tensorflow.constants import (
|
|
@@ -300,6 +301,10 @@ class UnexpecTEDIntentPolicy(TEDPolicy):
|
|
|
300
301
|
label_quantiles: Optional[Dict[int, List[float]]] = None,
|
|
301
302
|
):
|
|
302
303
|
"""Declares instance variables with default values."""
|
|
304
|
+
raise_deprecation_warning(
|
|
305
|
+
"UnexpecTEDIntentPolicy is deprecated and "
|
|
306
|
+
"will be removed in a future version."
|
|
307
|
+
)
|
|
303
308
|
# Set all invalid / non configurable parameters
|
|
304
309
|
config[ENTITY_RECOGNITION] = False
|
|
305
310
|
config[BILOU_FLAG] = False
|
|
@@ -624,6 +629,7 @@ class UnexpecTEDIntentPolicy(TEDPolicy):
|
|
|
624
629
|
query_intent = (
|
|
625
630
|
last_user_uttered_event.intent_name
|
|
626
631
|
if last_user_uttered_event is not None
|
|
632
|
+
and isinstance(last_user_uttered_event, UserUttered)
|
|
627
633
|
else ""
|
|
628
634
|
)
|
|
629
635
|
is_unlikely_intent = self._check_unlikely_intent(
|
rasa/core/processor.py
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import copy
|
|
2
2
|
import inspect
|
|
3
|
-
import logging
|
|
4
3
|
import os
|
|
5
4
|
import re
|
|
6
5
|
import tarfile
|
|
@@ -69,9 +68,11 @@ from rasa.shared.constants import (
|
|
|
69
68
|
UTTER_PREFIX,
|
|
70
69
|
)
|
|
71
70
|
from rasa.shared.core.constants import (
|
|
71
|
+
ACTION_AGENT_REQUEST_USER_INPUT_NAME,
|
|
72
72
|
ACTION_CORRECT_FLOW_SLOT,
|
|
73
73
|
ACTION_EXTRACT_SLOTS,
|
|
74
74
|
ACTION_LISTEN_NAME,
|
|
75
|
+
ACTION_METADATA_EXECUTION_TIME,
|
|
75
76
|
ACTION_SESSION_START_NAME,
|
|
76
77
|
FOLLOWUP_ACTION,
|
|
77
78
|
SESSION_START_METADATA_SLOT,
|
|
@@ -112,10 +113,9 @@ from rasa.utils.common import TempDirectoryPath, get_temp_dir_name
|
|
|
112
113
|
from rasa.utils.endpoints import EndpointConfig
|
|
113
114
|
|
|
114
115
|
if TYPE_CHECKING:
|
|
115
|
-
from rasa.core.available_endpoints import AvailableEndpoints
|
|
116
|
+
from rasa.core.config.available_endpoints import AvailableEndpoints
|
|
116
117
|
from rasa.privacy.privacy_manager import BackgroundPrivacyManager
|
|
117
118
|
|
|
118
|
-
logger = logging.getLogger(__name__)
|
|
119
119
|
structlogger = structlog.get_logger()
|
|
120
120
|
|
|
121
121
|
MAX_NUMBER_OF_PREDICTIONS = int(os.environ.get("MAX_NUMBER_OF_PREDICTIONS", "10"))
|
|
@@ -189,7 +189,11 @@ class MessageProcessor:
|
|
|
189
189
|
except TypeError:
|
|
190
190
|
raise ModelNotFound(f"Model {model_path} can not be loaded.")
|
|
191
191
|
|
|
192
|
-
|
|
192
|
+
structlogger.info(
|
|
193
|
+
"rasa.core.processor.load_model",
|
|
194
|
+
event_info="Loading model.",
|
|
195
|
+
model_path=model_tar,
|
|
196
|
+
)
|
|
193
197
|
with TempDirectoryPath(get_temp_dir_name()) as temporary_directory:
|
|
194
198
|
try:
|
|
195
199
|
metadata, runner = loader.load_predict_graph_runner(
|
|
@@ -207,6 +211,7 @@ class MessageProcessor:
|
|
|
207
211
|
) -> Optional[List[Dict[Text, Any]]]:
|
|
208
212
|
"""Handle a single message with this processor."""
|
|
209
213
|
# preprocess message if necessary
|
|
214
|
+
self.time_turn_start = time.time()
|
|
210
215
|
tracker = await self.log_message(message, should_save_tracker=False)
|
|
211
216
|
|
|
212
217
|
if self.model_metadata.training_type == TrainingType.NLU:
|
|
@@ -363,8 +368,10 @@ class MessageProcessor:
|
|
|
363
368
|
`ActionSessionStart`.
|
|
364
369
|
"""
|
|
365
370
|
if not tracker.applied_events() or self._has_session_expired(tracker):
|
|
366
|
-
|
|
367
|
-
|
|
371
|
+
structlogger.debug(
|
|
372
|
+
"rasa.core.processor._update_tracker_session",
|
|
373
|
+
event_info="Starting a new session.",
|
|
374
|
+
sender_id=tracker.sender_id,
|
|
368
375
|
)
|
|
369
376
|
|
|
370
377
|
action_session_start = self._get_action(ACTION_SESSION_START_NAME)
|
|
@@ -596,9 +603,11 @@ class MessageProcessor:
|
|
|
596
603
|
prediction.max_confidence_index, self.domain, self.action_endpoint
|
|
597
604
|
)
|
|
598
605
|
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
606
|
+
structlogger.debug(
|
|
607
|
+
"rasa.core.processor.predict_next_with_tracker_if_should",
|
|
608
|
+
event_info="Predicted next action.",
|
|
609
|
+
action=action.name(),
|
|
610
|
+
confidence=prediction.max_confidence,
|
|
602
611
|
)
|
|
603
612
|
|
|
604
613
|
return action, prediction
|
|
@@ -648,8 +657,10 @@ class MessageProcessor:
|
|
|
648
657
|
and self._has_message_after_reminder(tracker, reminder_event)
|
|
649
658
|
or not self._is_reminder_still_valid(tracker, reminder_event)
|
|
650
659
|
):
|
|
651
|
-
|
|
652
|
-
|
|
660
|
+
structlogger.debug(
|
|
661
|
+
"rasa.core.processor.handle_reminder",
|
|
662
|
+
event_info="Canceled reminder because it is outdated.",
|
|
663
|
+
reminder_event=reminder_event,
|
|
653
664
|
)
|
|
654
665
|
else:
|
|
655
666
|
intent = reminder_event.intent
|
|
@@ -729,7 +740,7 @@ class MessageProcessor:
|
|
|
729
740
|
if not self.domain or self.domain.is_empty():
|
|
730
741
|
return
|
|
731
742
|
|
|
732
|
-
intent = parse_data[
|
|
743
|
+
intent = parse_data[INTENT][INTENT_NAME_KEY]
|
|
733
744
|
if intent and intent not in self.domain.intents:
|
|
734
745
|
rasa.shared.utils.io.raise_warning(
|
|
735
746
|
f"Parsed an intent '{intent}' "
|
|
@@ -738,7 +749,7 @@ class MessageProcessor:
|
|
|
738
749
|
docs=DOCS_URL_DOMAINS,
|
|
739
750
|
)
|
|
740
751
|
|
|
741
|
-
entities = parse_data[
|
|
752
|
+
entities = parse_data[ENTITIES] or []
|
|
742
753
|
for element in entities:
|
|
743
754
|
entity = element["entity"]
|
|
744
755
|
if entity and entity not in self.domain.entities:
|
|
@@ -822,9 +833,9 @@ class MessageProcessor:
|
|
|
822
833
|
self._update_full_retrieval_intent(parse_data)
|
|
823
834
|
structlogger.debug(
|
|
824
835
|
"processor.message.parse",
|
|
825
|
-
parse_data_text=copy.deepcopy(parse_data[
|
|
826
|
-
parse_data_intent=parse_data[
|
|
827
|
-
parse_data_entities=copy.deepcopy(parse_data[
|
|
836
|
+
parse_data_text=copy.deepcopy(parse_data[TEXT]),
|
|
837
|
+
parse_data_intent=parse_data[INTENT],
|
|
838
|
+
parse_data_entities=copy.deepcopy(parse_data[ENTITIES]),
|
|
828
839
|
)
|
|
829
840
|
|
|
830
841
|
self._check_for_unseen_features(parse_data)
|
|
@@ -973,7 +984,7 @@ class MessageProcessor:
|
|
|
973
984
|
f"invalid intent: {parse_data[INTENT]['name']}. "
|
|
974
985
|
f"Returning CannotHandleCommand() as a fallback."
|
|
975
986
|
),
|
|
976
|
-
invalid_intent=parse_data[INTENT][
|
|
987
|
+
invalid_intent=parse_data[INTENT][INTENT_NAME_KEY],
|
|
977
988
|
)
|
|
978
989
|
commands.append(
|
|
979
990
|
CannotHandleCommand(RASA_PATTERN_CANNOT_HANDLE_INVALID_INTENT)
|
|
@@ -983,7 +994,7 @@ class MessageProcessor:
|
|
|
983
994
|
|
|
984
995
|
def _contains_undefined_intent(self, message: Message) -> bool:
|
|
985
996
|
"""Checks if the message contains an undefined intent."""
|
|
986
|
-
intent_name = message.get(INTENT, {}).get(
|
|
997
|
+
intent_name = message.get(INTENT, {}).get(INTENT_NAME_KEY)
|
|
987
998
|
return intent_name is not None and intent_name not in self.domain.intents
|
|
988
999
|
|
|
989
1000
|
async def _parse_message_with_graph(
|
|
@@ -1033,8 +1044,8 @@ class MessageProcessor:
|
|
|
1033
1044
|
tracker.update(
|
|
1034
1045
|
UserUttered(
|
|
1035
1046
|
message.text,
|
|
1036
|
-
parse_data[
|
|
1037
|
-
parse_data[
|
|
1047
|
+
parse_data[INTENT],
|
|
1048
|
+
parse_data[ENTITIES],
|
|
1038
1049
|
parse_data,
|
|
1039
1050
|
input_channel=message.input_channel,
|
|
1040
1051
|
message_id=message.message_id,
|
|
@@ -1043,13 +1054,16 @@ class MessageProcessor:
|
|
|
1043
1054
|
self.domain,
|
|
1044
1055
|
)
|
|
1045
1056
|
|
|
1046
|
-
if parse_data[
|
|
1057
|
+
if parse_data[ENTITIES]:
|
|
1047
1058
|
self._log_slots(tracker)
|
|
1048
1059
|
|
|
1049
1060
|
plugin_manager().hook.after_new_user_message(tracker=tracker)
|
|
1050
1061
|
|
|
1051
|
-
|
|
1052
|
-
|
|
1062
|
+
structlogger.debug(
|
|
1063
|
+
"rasa.core.processor.handle_message_with_tracker",
|
|
1064
|
+
event_info="Logged UserUtterance.",
|
|
1065
|
+
user_message=message.text,
|
|
1066
|
+
number_of_events=len(tracker.events),
|
|
1053
1067
|
)
|
|
1054
1068
|
|
|
1055
1069
|
@staticmethod
|
|
@@ -1154,6 +1168,7 @@ class MessageProcessor:
|
|
|
1154
1168
|
should_predict_another_action = True
|
|
1155
1169
|
|
|
1156
1170
|
tracker = await self.run_command_processor(tracker)
|
|
1171
|
+
self.time_command_processor = time.time()
|
|
1157
1172
|
|
|
1158
1173
|
# action loop. predicts actions until we hit action listen
|
|
1159
1174
|
while should_predict_another_action and self._should_handle_message(tracker):
|
|
@@ -1163,9 +1178,11 @@ class MessageProcessor:
|
|
|
1163
1178
|
tracker
|
|
1164
1179
|
)
|
|
1165
1180
|
except ActionLimitReached:
|
|
1166
|
-
|
|
1167
|
-
"
|
|
1168
|
-
|
|
1181
|
+
structlogger.warning(
|
|
1182
|
+
"rasa.core.processor.run_prediction_loop",
|
|
1183
|
+
event_info="Circuit breaker tripped. Stopped predicting more "
|
|
1184
|
+
"actions.",
|
|
1185
|
+
sender_id=tracker.sender_id,
|
|
1169
1186
|
)
|
|
1170
1187
|
if self.on_circuit_break:
|
|
1171
1188
|
# call a registered callback
|
|
@@ -1173,9 +1190,11 @@ class MessageProcessor:
|
|
|
1173
1190
|
break
|
|
1174
1191
|
|
|
1175
1192
|
if prediction.is_end_to_end_prediction:
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1193
|
+
structlogger.debug(
|
|
1194
|
+
"rasa.core.processor.run_prediction_loop",
|
|
1195
|
+
event_info="An end-to-end prediction was made which has "
|
|
1196
|
+
"triggered the 2nd execution of the default action.",
|
|
1197
|
+
action=ACTION_EXTRACT_SLOTS,
|
|
1179
1198
|
)
|
|
1180
1199
|
tracker = await self.run_action_extract_slots(output_channel, tracker)
|
|
1181
1200
|
|
|
@@ -1194,7 +1213,11 @@ class MessageProcessor:
|
|
|
1194
1213
|
`False` if `action_name` is `ACTION_LISTEN_NAME` or
|
|
1195
1214
|
`ACTION_SESSION_START_NAME`, otherwise `True`.
|
|
1196
1215
|
"""
|
|
1197
|
-
return action_name not in (
|
|
1216
|
+
return action_name not in (
|
|
1217
|
+
ACTION_LISTEN_NAME,
|
|
1218
|
+
ACTION_SESSION_START_NAME,
|
|
1219
|
+
ACTION_AGENT_REQUEST_USER_INPUT_NAME,
|
|
1220
|
+
)
|
|
1198
1221
|
|
|
1199
1222
|
async def execute_side_effects(
|
|
1200
1223
|
self,
|
|
@@ -1387,10 +1410,11 @@ class MessageProcessor:
|
|
|
1387
1410
|
)
|
|
1388
1411
|
|
|
1389
1412
|
if any(isinstance(e, UserUttered) for e in events):
|
|
1390
|
-
|
|
1391
|
-
|
|
1413
|
+
structlogger.debug(
|
|
1414
|
+
"rasa.core.processor.run_action",
|
|
1415
|
+
message="A `UserUttered` event was returned by executing "
|
|
1392
1416
|
f"action '{action.name()}'. This will run the default action "
|
|
1393
|
-
f"'{ACTION_EXTRACT_SLOTS}'."
|
|
1417
|
+
f"'{ACTION_EXTRACT_SLOTS}'.",
|
|
1394
1418
|
)
|
|
1395
1419
|
tracker = await self.run_action_extract_slots(output_channel, tracker)
|
|
1396
1420
|
|
|
@@ -1403,6 +1427,34 @@ class MessageProcessor:
|
|
|
1403
1427
|
plugin_manager().hook.after_action_executed(tracker=tracker)
|
|
1404
1428
|
return self.should_predict_another_action(action.name())
|
|
1405
1429
|
|
|
1430
|
+
def _add_metadata_if_action_listen(
|
|
1431
|
+
self, action: Action, prediction: PolicyPrediction
|
|
1432
|
+
) -> None:
|
|
1433
|
+
"""Adds execution times to the ActionExecuted event metadata."""
|
|
1434
|
+
if not hasattr(self, "time_turn_start"):
|
|
1435
|
+
return
|
|
1436
|
+
|
|
1437
|
+
if not hasattr(self, "time_command_processor"):
|
|
1438
|
+
return
|
|
1439
|
+
|
|
1440
|
+
if not action.name() == ACTION_LISTEN_NAME:
|
|
1441
|
+
return
|
|
1442
|
+
|
|
1443
|
+
if prediction.action_metadata is None:
|
|
1444
|
+
prediction.action_metadata = {}
|
|
1445
|
+
|
|
1446
|
+
# calculate execution times
|
|
1447
|
+
execution_time_prediction_loop = (
|
|
1448
|
+
time.time() - self.time_command_processor
|
|
1449
|
+
) * 1000
|
|
1450
|
+
execution_time_command_processor = (
|
|
1451
|
+
self.time_command_processor - self.time_turn_start
|
|
1452
|
+
) * 1000
|
|
1453
|
+
prediction.action_metadata[ACTION_METADATA_EXECUTION_TIME] = {
|
|
1454
|
+
"command_processor": execution_time_command_processor,
|
|
1455
|
+
"prediction_loop": execution_time_prediction_loop,
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1406
1458
|
def _log_action_and_events_on_tracker(
|
|
1407
1459
|
self,
|
|
1408
1460
|
tracker: DialogueStateTracker,
|
|
@@ -1448,6 +1500,7 @@ class MessageProcessor:
|
|
|
1448
1500
|
tracker.update_with_events(prediction.events)
|
|
1449
1501
|
|
|
1450
1502
|
# log the action and its produced events
|
|
1503
|
+
self._add_metadata_if_action_listen(action, prediction)
|
|
1451
1504
|
tracker.update(
|
|
1452
1505
|
action.event_for_successful_execution(
|
|
1453
1506
|
prediction, was_successful, error_message
|
|
@@ -1467,11 +1520,9 @@ class MessageProcessor:
|
|
|
1467
1520
|
# tracker has never expired if sessions are disabled
|
|
1468
1521
|
return False
|
|
1469
1522
|
|
|
1470
|
-
user_uttered_event
|
|
1471
|
-
UserUttered
|
|
1472
|
-
)
|
|
1523
|
+
user_uttered_event = tracker.get_last_event_for(UserUttered)
|
|
1473
1524
|
|
|
1474
|
-
if not user_uttered_event:
|
|
1525
|
+
if not user_uttered_event or not isinstance(user_uttered_event, UserUttered):
|
|
1475
1526
|
# there is no user event so far so the session should not be considered
|
|
1476
1527
|
# expired
|
|
1477
1528
|
return False
|
|
@@ -1482,9 +1533,10 @@ class MessageProcessor:
|
|
|
1482
1533
|
> self.domain.session_config.session_expiration_time
|
|
1483
1534
|
)
|
|
1484
1535
|
if has_expired:
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1536
|
+
structlogger.debug(
|
|
1537
|
+
"rasa.core.processor.has_session_expired",
|
|
1538
|
+
event_info="The latest session has expired.",
|
|
1539
|
+
sender_id=tracker.sender_id,
|
|
1488
1540
|
)
|
|
1489
1541
|
|
|
1490
1542
|
return has_expired
|
|
@@ -1510,10 +1562,14 @@ class MessageProcessor:
|
|
|
1510
1562
|
)
|
|
1511
1563
|
return prediction
|
|
1512
1564
|
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
"
|
|
1516
|
-
|
|
1565
|
+
structlogger.error(
|
|
1566
|
+
"rasa.core.processor.predict_next_with_tracker",
|
|
1567
|
+
event_info="Trying to run unknown follow-up action.",
|
|
1568
|
+
message=(
|
|
1569
|
+
"Trying to run unknown follow-up action. Instead of running "
|
|
1570
|
+
"that, Rasa Pro will ignore the action and predict the next action."
|
|
1571
|
+
),
|
|
1572
|
+
followup_action=followup_action,
|
|
1517
1573
|
)
|
|
1518
1574
|
|
|
1519
1575
|
target = self.model_metadata.core_target
|