rasa-pro 3.14.0.dev20250825__py3-none-any.whl β 3.14.0.dev20250922__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/builder/README.md +120 -0
- rasa/builder/__init__.py +0 -0
- rasa/builder/auth.py +176 -0
- rasa/builder/config.py +92 -0
- rasa/builder/copilot/__init__.py +0 -0
- rasa/builder/copilot/constants.py +31 -0
- rasa/builder/copilot/copilot.py +450 -0
- rasa/builder/copilot/copilot_response_handler.py +522 -0
- rasa/builder/copilot/copilot_templated_message_provider.py +58 -0
- rasa/builder/copilot/exceptions.py +32 -0
- rasa/builder/copilot/models.py +500 -0
- rasa/builder/copilot/prompts/__init__.py +0 -0
- rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +766 -0
- rasa/builder/copilot/prompts/latest_user_message_context_prompt.jinja2 +61 -0
- rasa/builder/copilot/signing.py +305 -0
- rasa/builder/copilot/telemetry.py +226 -0
- rasa/builder/copilot/templated_messages/__init__.py +0 -0
- rasa/builder/copilot/templated_messages/copilot_internal_messages_templates.yml +16 -0
- rasa/builder/copilot/templated_messages/copilot_templated_responses.yml +38 -0
- rasa/builder/document_retrieval/__init__.py +0 -0
- rasa/builder/document_retrieval/constants.py +15 -0
- rasa/builder/document_retrieval/inkeep-rag-response-schema.json +64 -0
- rasa/builder/document_retrieval/inkeep_document_retrieval.py +238 -0
- rasa/builder/document_retrieval/models.py +62 -0
- rasa/builder/download.py +140 -0
- rasa/builder/exceptions.py +91 -0
- rasa/builder/guardrails/__init__.py +1 -0
- rasa/builder/guardrails/constants.py +9 -0
- rasa/builder/guardrails/exceptions.py +4 -0
- rasa/builder/guardrails/lakera.py +206 -0
- rasa/builder/guardrails/models.py +231 -0
- rasa/builder/guardrails/store.py +238 -0
- rasa/builder/guardrails/utils.py +328 -0
- rasa/builder/job_manager.py +87 -0
- rasa/builder/jobs.py +282 -0
- rasa/builder/llm_service.py +246 -0
- rasa/builder/logging_utils.py +265 -0
- rasa/builder/main.py +234 -0
- rasa/builder/models.py +216 -0
- rasa/builder/project_generator.py +458 -0
- rasa/builder/project_info.py +72 -0
- rasa/builder/scrape_rasa_docs.py +97 -0
- rasa/builder/service.py +1350 -0
- rasa/builder/shared/tracker_context.py +212 -0
- rasa/builder/skill_to_bot_prompt.jinja2 +164 -0
- rasa/builder/template_cache.py +69 -0
- rasa/builder/training_service.py +194 -0
- rasa/builder/validation_service.py +97 -0
- rasa/cli/project_templates/basic/README.md +23 -0
- rasa/cli/project_templates/basic/actions/__init__ +0 -0
- rasa/cli/project_templates/basic/actions/action_human_handoff.py +40 -0
- rasa/cli/project_templates/basic/actions/actions.md +10 -0
- rasa/cli/project_templates/basic/config.yml +29 -0
- rasa/cli/project_templates/basic/credentials.yml +33 -0
- rasa/cli/project_templates/basic/data/data.md +8 -0
- rasa/cli/project_templates/basic/data/general/feedback.yml +21 -0
- rasa/cli/project_templates/basic/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/basic/data/general/hello.yml +6 -0
- rasa/cli/project_templates/basic/data/general/help.yml +6 -0
- rasa/cli/project_templates/basic/data/general/human_handoff.yml +16 -0
- rasa/cli/project_templates/basic/data/general/show_faqs.yml +6 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_cannot_handle.yml +7 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_completed.yml +7 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_correction.yml +7 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_search.yml +8 -0
- rasa/cli/project_templates/basic/data/system/patterns/pattern_session_start.yml +8 -0
- rasa/cli/project_templates/basic/docs/docs.md +5 -0
- rasa/cli/project_templates/basic/docs/template.txt +28 -0
- rasa/cli/project_templates/basic/domain/domain.md +11 -0
- rasa/cli/project_templates/basic/domain/general/feedback.yml +25 -0
- rasa/cli/project_templates/basic/domain/general/goodbye.yml +9 -0
- rasa/cli/project_templates/basic/domain/general/hello.yml +7 -0
- rasa/cli/project_templates/basic/domain/general/help.yml +21 -0
- rasa/cli/project_templates/basic/domain/general/human_handoff.yml +32 -0
- rasa/cli/project_templates/basic/domain/general/show_faqs.yml +14 -0
- rasa/cli/project_templates/basic/domain/system/patterns/pattern_cannot_handle.yml +5 -0
- rasa/cli/project_templates/basic/domain/system/patterns/pattern_session_start.yml +19 -0
- rasa/cli/project_templates/basic/endpoints.yml +67 -0
- rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +38 -0
- rasa/cli/project_templates/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 -0
- rasa/cli/project_templates/finance/actions/accounts/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/accounts/check_balance.py +18 -0
- rasa/cli/project_templates/finance/actions/actions.md +15 -0
- rasa/cli/project_templates/finance/actions/cards/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/cards/check_that_card_exists.py +21 -0
- rasa/cli/project_templates/finance/actions/cards/list_cards.py +22 -0
- rasa/cli/project_templates/finance/actions/contacts/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/contacts/add_contact.py +30 -0
- rasa/cli/project_templates/finance/actions/contacts/list_contacts.py +22 -0
- rasa/cli/project_templates/finance/actions/contacts/remove_contact.py +35 -0
- rasa/cli/project_templates/finance/actions/db.py +117 -0
- rasa/cli/project_templates/finance/actions/general/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/general/action_human_handoff.py +49 -0
- rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/transfers/check_transfer_funds.py +27 -0
- rasa/cli/project_templates/finance/actions/transfers/check_transfer_limit.py +36 -0
- rasa/cli/project_templates/finance/actions/transfers/execute_recurrent_payment.py +20 -0
- rasa/cli/project_templates/finance/actions/transfers/execute_transfer.py +45 -0
- rasa/cli/project_templates/finance/actions/transfers/list_transactions.py +32 -0
- rasa/cli/project_templates/finance/config.yml +29 -0
- rasa/cli/project_templates/finance/credentials.yml +33 -0
- rasa/cli/project_templates/finance/data/accounts/check_balance.yml +9 -0
- rasa/cli/project_templates/finance/data/accounts/download_statements.yml +26 -0
- rasa/cli/project_templates/finance/data/bills/bill_pay_reminder.yml +25 -0
- rasa/cli/project_templates/finance/data/cards/activate_card.yml +35 -0
- rasa/cli/project_templates/finance/data/cards/block_card.yml +45 -0
- rasa/cli/project_templates/finance/data/cards/list_cards.yml +14 -0
- rasa/cli/project_templates/finance/data/cards/replace_card.yml +16 -0
- rasa/cli/project_templates/finance/data/cards/replace_eligible_card.yml +29 -0
- rasa/cli/project_templates/finance/data/contacts/add_contact.yml +33 -0
- rasa/cli/project_templates/finance/data/contacts/list_contacts.yml +14 -0
- rasa/cli/project_templates/finance/data/contacts/remove_contact.yml +31 -0
- rasa/cli/project_templates/finance/data/data.md +14 -0
- rasa/cli/project_templates/finance/data/general/bot_challenge.yml +6 -0
- rasa/cli/project_templates/finance/data/general/feedback.yml +20 -0
- rasa/cli/project_templates/finance/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/finance/data/general/hello.yml +6 -0
- rasa/cli/project_templates/finance/data/general/help.yml +9 -0
- rasa/cli/project_templates/finance/data/general/human_handoff.yml +16 -0
- rasa/cli/project_templates/finance/data/general/welcome.yml +9 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_completed.yml +7 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_correction.yml +7 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_search.yml +8 -0
- rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +8 -0
- rasa/cli/project_templates/finance/data/transfers/check_transfer_limit.yml +18 -0
- rasa/cli/project_templates/finance/data/transfers/list_transactions.yml +46 -0
- rasa/cli/project_templates/finance/data/transfers/move_money_between_accounts.yml +51 -0
- rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +34 -0
- rasa/cli/project_templates/finance/data/transfers/transfer_money_to_a_third_party.yml +175 -0
- rasa/cli/project_templates/finance/db/cards.json +18 -0
- rasa/cli/project_templates/finance/db/contacts.json +10 -0
- rasa/cli/project_templates/finance/db/my_account.json +6 -0
- rasa/cli/project_templates/finance/db/transactions.json +22 -0
- rasa/cli/project_templates/finance/docs/docs.md +8 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/budgeting_analytics.txt +22 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/multi_currency_accounts.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/account_features/premium_benefits.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/contactless_limits.txt +16 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/freeze_unfreeze_card.txt +16 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/card_management/lost_stolen_card.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/instant_payments.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/money_transfers/international_transfers.txt +19 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/fraud_protection.txt +22 -0
- rasa/cli/project_templates/finance/docs/fenlo_banking_faq/security_fraud/secure_payments.txt +22 -0
- rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +15 -0
- rasa/cli/project_templates/finance/domain/accounts/download_statements.yml +40 -0
- rasa/cli/project_templates/finance/domain/bills/bill_pay_reminder.yml +49 -0
- rasa/cli/project_templates/finance/domain/cards/activate_card.yml +24 -0
- rasa/cli/project_templates/finance/domain/cards/block_card.yml +44 -0
- rasa/cli/project_templates/finance/domain/cards/list_cards.yml +16 -0
- rasa/cli/project_templates/finance/domain/cards/replace_card.yml +43 -0
- rasa/cli/project_templates/finance/domain/cards/shared.yml +15 -0
- rasa/cli/project_templates/finance/domain/contacts/add_contact.yml +37 -0
- rasa/cli/project_templates/finance/domain/contacts/list_contacts.yml +16 -0
- rasa/cli/project_templates/finance/domain/contacts/remove_contact.yml +32 -0
- rasa/cli/project_templates/finance/domain/domain.md +18 -0
- rasa/cli/project_templates/finance/domain/general/_shared.yml +39 -0
- rasa/cli/project_templates/finance/domain/general/bot_challenge.yml +4 -0
- rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +8 -0
- rasa/cli/project_templates/finance/domain/general/feedback.yml +25 -0
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +31 -0
- rasa/cli/project_templates/finance/domain/general/welcome.yml +39 -0
- rasa/cli/project_templates/finance/domain/transfers/check_transfer_limit.yml +32 -0
- rasa/cli/project_templates/finance/domain/transfers/list_transactions.yml +44 -0
- rasa/cli/project_templates/finance/domain/transfers/shared.yml +17 -0
- rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +221 -0
- rasa/cli/project_templates/finance/endpoints.yml +67 -0
- rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +38 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/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/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/actions.md +12 -0
- rasa/cli/project_templates/telco/actions/billing/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/billing/actions_billing.py +204 -0
- rasa/cli/project_templates/telco/actions/general/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/general/action_human_handoff.py +49 -0
- rasa/cli/project_templates/telco/actions/network/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/network/actions_get_data_from_db.py +48 -0
- rasa/cli/project_templates/telco/actions/network/actions_run_diagnostics.py +28 -0
- rasa/cli/project_templates/telco/actions/network/actions_session_start.py +18 -0
- rasa/cli/project_templates/telco/config.yml +29 -0
- rasa/cli/project_templates/telco/credentials.yml +33 -0
- rasa/cli/project_templates/telco/csvs/billing.csv +19 -0
- rasa/cli/project_templates/telco/csvs/customers.csv +5 -0
- rasa/cli/project_templates/telco/data/billing/flow_understand_bill.yml +45 -0
- rasa/cli/project_templates/telco/data/data.md +11 -0
- rasa/cli/project_templates/telco/data/general/bot_challenge.yml +6 -0
- rasa/cli/project_templates/telco/data/general/feedback.yml +20 -0
- rasa/cli/project_templates/telco/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/telco/data/general/hello.yml +6 -0
- rasa/cli/project_templates/telco/data/general/human_handoff.yml +16 -0
- rasa/cli/project_templates/telco/data/general/patterns.yml +30 -0
- rasa/cli/project_templates/telco/data/network/flow_reboot_router.yml +8 -0
- rasa/cli/project_templates/telco/data/network/flow_reset_router.yml +7 -0
- rasa/cli/project_templates/telco/data/network/flow_solve_internet_issue.yml +73 -0
- rasa/cli/project_templates/telco/docs/docs.md +8 -0
- rasa/cli/project_templates/telco/docs/network/reset_vs_rboot_router.txt +1 -0
- rasa/cli/project_templates/telco/docs/network/restart_router.txt +6 -0
- rasa/cli/project_templates/telco/docs/network/run_speed_test.txt +6 -0
- rasa/cli/project_templates/telco/domain/billing/understand_bill.yml +102 -0
- rasa/cli/project_templates/telco/domain/domain.md +13 -0
- rasa/cli/project_templates/telco/domain/general/bot_challenge.yml +4 -0
- rasa/cli/project_templates/telco/domain/general/feedback.yml +25 -0
- rasa/cli/project_templates/telco/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/telco/domain/general/hello.yml +5 -0
- rasa/cli/project_templates/telco/domain/general/human_handoff.yml +26 -0
- rasa/cli/project_templates/telco/domain/general/patterns.yml +33 -0
- rasa/cli/project_templates/telco/domain/network/reboot_router.yml +21 -0
- rasa/cli/project_templates/telco/domain/network/reset_router.yml +12 -0
- rasa/cli/project_templates/telco/domain/network/run_speed_test.yml +25 -0
- rasa/cli/project_templates/telco/domain/network/solve_internet_issue.yml +75 -0
- rasa/cli/project_templates/telco/domain/shared.yml +129 -0
- rasa/cli/project_templates/telco/endpoints.yml +67 -0
- rasa/cli/project_templates/telco/prompts/rephraser_demo_personality_prompt.jinja2 +40 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/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/config.yml +2 -1
- rasa/cli/scaffold.py +46 -2
- rasa/core/actions/action.py +0 -1
- rasa/core/actions/action_run_slot_rejections.py +1 -1
- rasa/core/actions/direct_custom_actions_executor.py +9 -2
- rasa/core/brokers/broker.py +1 -1
- rasa/core/brokers/kafka.py +52 -8
- rasa/core/channels/development_inspector.py +1 -21
- rasa/core/channels/hangouts.py +2 -2
- rasa/core/channels/inspector/dist/assets/{arc-1ddec37b.js β arc-35222594.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-18af387c.js β blockDiagram-38ab4fdb-a0efbfd3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-250127a3.js β c4Diagram-3d4e48cf-0584c0f2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-8e08bed9.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-c3388b34.js β classDiagram-70f12bd4-39f40dbe.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-9c893a82.js β classDiagram-v2-f2320105-1ad755f3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-78c82dea.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-c111213b.js β createText-2e5e7dd3-b0f4f0fe.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-812a729d.js β edges-e0da2a9e-9039bff9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-fd5051bc.js β erDiagram-9861fffd-65c9b127.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-3287ac02.js β flowDb-956e92f1-4f08b38e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-692fb0b2.js β flowDiagram-66a62f08-e95c362a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-2b08f601.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-008376f1.js β flowchart-elk-definition-4a651766-703c3015.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-df330a69.js β ganttDiagram-c361ad54-699328ea.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-e03676fb.js β gitGraphDiagram-72cf32ee-04cf4b05.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-46fad2ba.js β graph-ee94449e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-a484ac55.js β index-3862675e-940162b4.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-a003633f.js β index-c941dcb3.js} +239 -238
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-3f9e6ec2.js β infoDiagram-f8f76790-c79c2866.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-79f72383.js β journeyDiagram-49397b02-84489d30.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-aad098e5.js β layout-a9aa9858.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-219ab7ae.js β line-eb73cf26.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-2cddbe62.js β linear-b3399f9a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-1d41ed99.js β mindmap-definition-fc14e90a-b095bf1a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-cc496ee8.js β pieDiagram-8a3498a8-07644b66.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-84d32884.js β quadrantDiagram-120e2f19-573a3f9c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-c0deb984.js β requirementDiagram-deff3bca-d457e1e1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-b9d7fd62.js β sankeyDiagram-04a897e0-9d26e1a2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-7d517565.js β sequenceDiagram-704730f1-3a9cde10.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-98ef9b27.js β stateDiagram-587899a1-4f3e8cec.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-cee70748.js β stateDiagram-v2-d93cdb3a-e617e5bf.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-3f9d1c96.js β styles-6aaf32cf-eab30d2f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-67471923.js β styles-9a916d00-09994be2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-bd093fb7.js β styles-c10674c1-b7110364.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-675794e8.js β svgDrawCommon-08f97a94-3ebc92ad.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-0ac67617.js β timeline-definition-85554ec2-7d13d2f2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-c018dc37.js β xychartDiagram-e933f94c-488385e1.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 +15 -42
- rasa/core/channels/inspector/src/components/Chat.tsx +2 -3
- rasa/core/channels/inspector/src/components/DialogueInformation.tsx +20 -3
- rasa/core/channels/inspector/src/components/LatencyDisplay.tsx +63 -35
- rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +14 -0
- rasa/core/channels/inspector/src/types.ts +32 -7
- rasa/core/channels/studio_chat.py +43 -43
- 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 +2 -1
- rasa/core/channels/voice_stream/jambonz.py +9 -1
- rasa/core/channels/voice_stream/twilio_media_streams.py +16 -0
- rasa/core/channels/voice_stream/voice_channel.py +61 -0
- rasa/core/concurrent_lock_store.py +66 -16
- rasa/core/constants.py +7 -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 +4 -7
- rasa/core/policies/flows/flow_executor.py +9 -2
- rasa/core/processor.py +32 -0
- rasa/core/redis_connection_factory.py +469 -0
- rasa/core/tracker_stores/redis_tracker_store.py +32 -14
- rasa/core/tracker_stores/sql_tracker_store.py +57 -1
- rasa/dialogue_understanding/generator/flow_retrieval.py +10 -9
- rasa/engine/graph.py +5 -1
- rasa/engine/loader.py +12 -0
- rasa/engine/storage/local_model_storage.py +83 -3
- rasa/model_manager/model_api.py +1 -2
- rasa/model_manager/runner_service.py +1 -1
- rasa/model_manager/socket_bridge.py +1 -2
- rasa/model_manager/trainer_service.py +12 -9
- rasa/model_manager/utils.py +1 -29
- rasa/model_manager/warm_rasa_process.py +13 -3
- rasa/shared/core/constants.py +1 -0
- rasa/shared/core/domain.py +62 -15
- rasa/shared/core/events.py +2 -0
- rasa/shared/core/flows/flow.py +1 -1
- rasa/shared/core/flows/flow_step.py +7 -1
- rasa/shared/core/flows/steps/call.py +8 -1
- rasa/shared/core/flows/yaml_flows_io.py +16 -8
- rasa/shared/core/slots.py +4 -0
- rasa/shared/importers/importer.py +6 -0
- rasa/shared/importers/utils.py +77 -1
- rasa/shared/nlu/training_data/schemas/responses.yml +3 -0
- rasa/studio/upload.py +12 -46
- rasa/telemetry.py +97 -23
- rasa/utils/io.py +27 -9
- rasa/utils/json_utils.py +6 -1
- rasa/utils/log_utils.py +5 -1
- rasa/utils/openapi.py +144 -0
- rasa/utils/pypred.py +38 -0
- rasa/validator.py +19 -11
- rasa/version.py +1 -1
- {rasa_pro-3.14.0.dev20250825.dist-info β rasa_pro-3.14.0.dev20250922.dist-info}/METADATA +27 -25
- {rasa_pro-3.14.0.dev20250825.dist-info β rasa_pro-3.14.0.dev20250922.dist-info}/RECORD +348 -109
- rasa/core/channels/inspector/dist/assets/channel-59f6d54b.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-26177ddb.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-29c03f5a.js +0 -1
- {rasa_pro-3.14.0.dev20250825.dist-info β rasa_pro-3.14.0.dev20250922.dist-info}/NOTICE +0 -0
- {rasa_pro-3.14.0.dev20250825.dist-info β rasa_pro-3.14.0.dev20250922.dist-info}/WHEEL +0 -0
- {rasa_pro-3.14.0.dev20250825.dist-info β rasa_pro-3.14.0.dev20250922.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"""Functions for validating Rasa projects."""
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
from contextlib import contextmanager
|
|
5
|
+
from typing import Any, Dict, Generator, Optional
|
|
6
|
+
|
|
7
|
+
import structlog
|
|
8
|
+
|
|
9
|
+
from rasa.builder import config
|
|
10
|
+
from rasa.builder.exceptions import ValidationError
|
|
11
|
+
from rasa.builder.logging_utils import capture_validation_logs
|
|
12
|
+
from rasa.cli.utils import validate_files
|
|
13
|
+
from rasa.shared.importers.importer import TrainingDataImporter
|
|
14
|
+
|
|
15
|
+
structlogger = structlog.get_logger()
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@contextmanager
|
|
19
|
+
def _mock_sys_exit() -> Generator[Dict[str, bool], Any, None]:
|
|
20
|
+
"""Context manager to prevent sys.exit from being called during validation."""
|
|
21
|
+
was_sys_exit_called = {"value": False}
|
|
22
|
+
|
|
23
|
+
def sys_exit_mock(code: int = 0) -> None:
|
|
24
|
+
was_sys_exit_called["value"] = True
|
|
25
|
+
|
|
26
|
+
original_exit = sys.exit
|
|
27
|
+
sys.exit = sys_exit_mock # type: ignore[assignment]
|
|
28
|
+
|
|
29
|
+
try:
|
|
30
|
+
yield was_sys_exit_called
|
|
31
|
+
finally:
|
|
32
|
+
sys.exit = original_exit
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
async def validate_project(importer: TrainingDataImporter) -> Optional[str]:
|
|
36
|
+
"""Validate a Rasa project.
|
|
37
|
+
|
|
38
|
+
Args:
|
|
39
|
+
importer: Training data importer with domain, flows, and config
|
|
40
|
+
|
|
41
|
+
Returns:
|
|
42
|
+
None if validation passes, error message if validation fails.
|
|
43
|
+
|
|
44
|
+
Raises:
|
|
45
|
+
ValidationError: If validation fails
|
|
46
|
+
"""
|
|
47
|
+
with capture_validation_logs() as captured_logs:
|
|
48
|
+
try:
|
|
49
|
+
with _mock_sys_exit() as exit_tracker:
|
|
50
|
+
validate_files(
|
|
51
|
+
fail_on_warnings=config.VALIDATION_FAIL_ON_WARNINGS,
|
|
52
|
+
max_history=config.VALIDATION_MAX_HISTORY,
|
|
53
|
+
importer=importer,
|
|
54
|
+
)
|
|
55
|
+
|
|
56
|
+
if exit_tracker["value"]:
|
|
57
|
+
error_logs = [
|
|
58
|
+
log for log in captured_logs if log.get("log_level") != "debug"
|
|
59
|
+
]
|
|
60
|
+
structlogger.error(
|
|
61
|
+
"validation.failed.sys_exit",
|
|
62
|
+
error_logs=error_logs,
|
|
63
|
+
)
|
|
64
|
+
raise ValidationError(
|
|
65
|
+
"Validation failed with sys.exit", validation_logs=error_logs
|
|
66
|
+
)
|
|
67
|
+
|
|
68
|
+
structlogger.info("validation.success")
|
|
69
|
+
return None
|
|
70
|
+
|
|
71
|
+
except ValidationError:
|
|
72
|
+
raise
|
|
73
|
+
|
|
74
|
+
except Exception as e:
|
|
75
|
+
error_msg = f"Validation failed with exception: {e}"
|
|
76
|
+
|
|
77
|
+
error_logs = [
|
|
78
|
+
log for log in captured_logs if log.get("log_level") != "debug"
|
|
79
|
+
]
|
|
80
|
+
|
|
81
|
+
structlogger.error(
|
|
82
|
+
"validation.failed.exception", error=str(e), validation_logs=error_logs
|
|
83
|
+
)
|
|
84
|
+
raise ValidationError(error_msg, validation_logs=error_logs)
|
|
85
|
+
|
|
86
|
+
except SystemExit as e:
|
|
87
|
+
error_logs = [
|
|
88
|
+
log for log in captured_logs if log.get("log_level") != "debug"
|
|
89
|
+
]
|
|
90
|
+
|
|
91
|
+
structlogger.error(
|
|
92
|
+
"validation.failed.sys_exit",
|
|
93
|
+
error_logs=error_logs,
|
|
94
|
+
)
|
|
95
|
+
raise ValidationError(
|
|
96
|
+
f"SystemExit during validation: {e}", validation_logs=error_logs
|
|
97
|
+
)
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Basic Rasa Template
|
|
2
|
+
|
|
3
|
+
A simple, general-purpose conversational agent template that provides essential conversational capabilities.
|
|
4
|
+
|
|
5
|
+
## π What's Included
|
|
6
|
+
|
|
7
|
+
This template provides a foundation for building conversational agents with:
|
|
8
|
+
- **Basic conversational flows**: Greetings, help, feedback, and human handoff
|
|
9
|
+
- **Help system**: Users can ask for assistance and get guided responses
|
|
10
|
+
- **Feedback collection**: Gather user feedback to improve the agent
|
|
11
|
+
- **Human handoff**: Seamlessly transfer conversations to human agents when needed
|
|
12
|
+
|
|
13
|
+
## π Directory Structure
|
|
14
|
+
|
|
15
|
+
```
|
|
16
|
+
βββ actions/ # Custom Python logic for agent actions
|
|
17
|
+
βββ data/ # Conversational flows and training data
|
|
18
|
+
βββ domain/ # Agent configuration (slots, responses, actions)
|
|
19
|
+
βββ docs/ # Knowledge base documents (optional)
|
|
20
|
+
βββ prompts/ # LLM prompts for enhanced responses
|
|
21
|
+
βββ config.yml # Training pipeline configuration
|
|
22
|
+
```
|
|
23
|
+
|
|
File without changes
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
from typing import Any, Dict, List, Text
|
|
2
|
+
|
|
3
|
+
import openai
|
|
4
|
+
from rasa_sdk import Action, Tracker
|
|
5
|
+
from rasa_sdk.executor import CollectingDispatcher
|
|
6
|
+
from rasa_sdk.types import DomainDict
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class ActionHumanHandoff(Action):
|
|
10
|
+
def name(self) -> Text:
|
|
11
|
+
return "action_human_handoff"
|
|
12
|
+
|
|
13
|
+
async def run(
|
|
14
|
+
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
15
|
+
) -> List[Dict[Text, Any]]:
|
|
16
|
+
convo: List[str] = []
|
|
17
|
+
for event in tracker.events:
|
|
18
|
+
if event.get("event") == "user":
|
|
19
|
+
user_text = str(event.get("text") or "")
|
|
20
|
+
convo.append(f"user - {user_text}")
|
|
21
|
+
elif event.get("event") == "bot":
|
|
22
|
+
bot_text = str(event.get("text") or "")
|
|
23
|
+
convo.append(f"bot - {bot_text}")
|
|
24
|
+
prompt = (
|
|
25
|
+
f"The following is a conversation between a bot and a human user. "
|
|
26
|
+
f"Please summarise so that a human agent can easily understand the "
|
|
27
|
+
f"important context. Conversation: "
|
|
28
|
+
f"{convo}"
|
|
29
|
+
)
|
|
30
|
+
response = openai.chat.completions.create(
|
|
31
|
+
model="gpt-4o",
|
|
32
|
+
messages=[{"role": "user", "content": prompt}],
|
|
33
|
+
)
|
|
34
|
+
summarised_conversation = (
|
|
35
|
+
response.choices[0].message.content or "No summary available"
|
|
36
|
+
)
|
|
37
|
+
dispatcher.utter_message(
|
|
38
|
+
response="utter_transfer_to_manager", summary=summarised_conversation
|
|
39
|
+
)
|
|
40
|
+
return []
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
## π `actions/` β The Agent's Toolkit
|
|
2
|
+
|
|
3
|
+
This folder contains Python files that define custom actions your agent can perform. Actions are pieces of code that run when your agent needs to do something beyond just responding with text.
|
|
4
|
+
|
|
5
|
+
**What you'll find:**
|
|
6
|
+
- `action_human_handoff.py`: Handles transferring the conversation to a human agent when needed.
|
|
7
|
+
|
|
8
|
+
**Edit Python files in this folder** to add new custom logic, integrate with APIs, or perform calculations and data processing.
|
|
9
|
+
|
|
10
|
+
Learn more about custom actions in the [Rasa documentation](https://rasa.com/docs/pro/build/custom-actions).
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Rasa Agent Configuration
|
|
2
|
+
# This file controls your agent's language, message processing pipeline, and conversation policies.
|
|
3
|
+
# For full documentation, see: https://rasa.com/docs/pro/build/configuring-assistant
|
|
4
|
+
recipe: default.v1
|
|
5
|
+
language: en
|
|
6
|
+
|
|
7
|
+
# The agent project unique identifier
|
|
8
|
+
# This default value must be replaced with a unique agent name within your deployment
|
|
9
|
+
assistant_id: placeholder_default
|
|
10
|
+
|
|
11
|
+
pipeline:
|
|
12
|
+
- name: SearchReadyLLMCommandGenerator
|
|
13
|
+
llm:
|
|
14
|
+
model_group: openai-gpt-4o
|
|
15
|
+
flow_retrieval:
|
|
16
|
+
active: false
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
policies:
|
|
20
|
+
- name: FlowPolicy
|
|
21
|
+
- name: EnterpriseSearchPolicy
|
|
22
|
+
vector_store:
|
|
23
|
+
type: "faiss"
|
|
24
|
+
source: "./docs"
|
|
25
|
+
llm:
|
|
26
|
+
model_group: openai-gpt-4o
|
|
27
|
+
embeddings:
|
|
28
|
+
model_group: openai-embeddings
|
|
29
|
+
check_relevancy: true
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# This file contains the credentials for the voice & chat platforms
|
|
2
|
+
# which your bot is using.
|
|
3
|
+
# https://rasa.com/docs/rasa-pro/connectors/messaging-and-voice-channels/
|
|
4
|
+
|
|
5
|
+
rest:
|
|
6
|
+
# # you don't need to provide anything here - this channel doesn't
|
|
7
|
+
# # require any credentials
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
#facebook:
|
|
11
|
+
# verify: "<verify>"
|
|
12
|
+
# secret: "<your secret>"
|
|
13
|
+
# page-access-token: "<your page access token>"
|
|
14
|
+
|
|
15
|
+
#slack:
|
|
16
|
+
# slack_token: "<your slack token>"
|
|
17
|
+
# slack_channel: "<the slack channel>"
|
|
18
|
+
# slack_signing_secret: "<your slack signing secret>"
|
|
19
|
+
|
|
20
|
+
#socketio:
|
|
21
|
+
# user_message_evt: <event name for user message>
|
|
22
|
+
# bot_message_evt: <event name for bot messages>
|
|
23
|
+
# session_persistence: <true/false>
|
|
24
|
+
|
|
25
|
+
#mattermost:
|
|
26
|
+
# url: "https://<mattermost instance>/api/v4"
|
|
27
|
+
# token: "<bot token>"
|
|
28
|
+
# webhook_url: "<callback URL>"
|
|
29
|
+
|
|
30
|
+
# This entry is needed if you are using Rasa Enterprise. The entry represents credentials
|
|
31
|
+
# for the Rasa Enterprise "channel", i.e. Talk to your bot and Share with guest testers.
|
|
32
|
+
rasa:
|
|
33
|
+
url: "http://localhost:5002/api"
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
## π `data/` β The Agent's Business Logic
|
|
2
|
+
|
|
3
|
+
This folder holds files that define your agentβs skills using "flows". [1](https://rasa.com/docs/pro/build/writing-flows) Each flow is a step-by-step conversation pattern (like a recipe) for handling a user goal (e.g., checking a balance, updating an address).
|
|
4
|
+
|
|
5
|
+
**What you'll find:**
|
|
6
|
+
- **general/**: Basic conversational flows (greetings, help, feedback, human handoff)
|
|
7
|
+
|
|
8
|
+
**Edit YAML files in this folder** to add new skills, change existing flows, or adjust what the agent asks.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# Simple thumbs up/down feedback flow
|
|
2
|
+
flows:
|
|
3
|
+
leave_feedback:
|
|
4
|
+
name: leaving feedback
|
|
5
|
+
description: This flow collects simple thumbs up or thumbs down feedback
|
|
6
|
+
if: False # Flow guard to prevent direct triggering
|
|
7
|
+
steps:
|
|
8
|
+
- collect: feedback_rating
|
|
9
|
+
description: Ask user for thumbs up or thumbs down feedback
|
|
10
|
+
- id: feedback_response
|
|
11
|
+
noop: true
|
|
12
|
+
next:
|
|
13
|
+
- if: slots.feedback_rating == "thumbs_up"
|
|
14
|
+
then: positive_response
|
|
15
|
+
- else: negative_response
|
|
16
|
+
- id: positive_response
|
|
17
|
+
action: utter_thankyou_positive
|
|
18
|
+
next: END
|
|
19
|
+
- id: negative_response
|
|
20
|
+
action: utter_thankyou_negative
|
|
21
|
+
next: END
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
flows:
|
|
3
|
+
human_handoff:
|
|
4
|
+
description: When you are unable to handle the request or the user is frustrated - offers to hand the user over 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,5 @@
|
|
|
1
|
+
## π `docs/` β The Agent's Knowledge Base (optional)
|
|
2
|
+
|
|
3
|
+
If your agent answers knowledge-based questions (FAQs, policies, etc.), you can put markdown, PDFs, or text files in this folder. Rasa can use this content for retrieval-augmented responses if set up with a vector store [2](https://rasa.com/docs/pro/build/retrieval-actions).
|
|
4
|
+
|
|
5
|
+
**Edit here** to update what your agent can retrieve and summarize for users.
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
1. General Questions
|
|
2
|
+
|
|
3
|
+
Q: What is Rasa and what can I build with it?
|
|
4
|
+
A: Rasa is a conversational AI framework that lets you build agents using flows and large language models (LLMs). You can create agents for customer support, automation, or any use case that needs reliable, multi-step conversations.
|
|
5
|
+
|
|
6
|
+
Q: What is CALM in Rasa?
|
|
7
|
+
A: CALM (Conversational AI with Language Models) is Rasaβs architecture for building agents that combine LLM-powered language understanding with deterministic business logic, defined in flows.
|
|
8
|
+
|
|
9
|
+
Q: What is a flow in Rasa?
|
|
10
|
+
A: A flow is a step-by-step definition of a business process or conversation path. Flows specify what information to collect, what actions to perform, and how to branch or complete the conversation.
|
|
11
|
+
|
|
12
|
+
Q: How do I customize what my agent asks or does?
|
|
13
|
+
A: You can edit or add flows in the flows.yml file, providing clear descriptions for each flow and for each step. Slot descriptions help the agent extract the right information from the user.
|
|
14
|
+
|
|
15
|
+
Q: How does Rasa use LLMs?
|
|
16
|
+
A: Rasa uses LLMs to interpret user messages and generate high-level commands. These commands are then executed through flows and actions, ensuring reliable and controlled conversations.
|
|
17
|
+
|
|
18
|
+
Q: What files are important in a CALM-based Rasa project?
|
|
19
|
+
A: Key files include flows.yml (flows and their descriptions), domain.yml (slots, responses, and actions), and actions.py (custom business logic or integrations).
|
|
20
|
+
|
|
21
|
+
Q: How do I test my agent?
|
|
22
|
+
A: You can test your agent using the Rasa shell or Rasa Inspector, which lets you interact with your agent and debug flow execution.
|
|
23
|
+
|
|
24
|
+
Q: Can I extend my agent with custom logic?
|
|
25
|
+
A: Yes, you can implement custom actions in Python in actions.py. These can be used for API calls, database checks, or any other business logic.
|
|
26
|
+
|
|
27
|
+
Q: Do I need to define intents or entities?
|
|
28
|
+
A: No, with CALM and flows, you do not need to define intents or entities unless you have a specific use case for them.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
## π `domain/` β The Agent's Brain
|
|
2
|
+
|
|
3
|
+
This folder contains YAML files that define the agent's:
|
|
4
|
+
- **Slots**: The agent's memory (e.g., user's name, session info) [1](https://rasa.com/docs/reference/primitives/slots/).
|
|
5
|
+
- **Responses**: The messages your agent can say to users (e.g., greetings, confirmations) [2](https://rasa.com/docs/reference/primitives/responses).
|
|
6
|
+
- **Actions**: Custom logic your agent can run (e.g., handling feedback, human handoff) [3](https://rasa.com/docs/reference/primitives/custom-actions).
|
|
7
|
+
|
|
8
|
+
**What you'll find:**
|
|
9
|
+
- **general/**: Basic conversational domain elements (greetings, help, feedback)
|
|
10
|
+
|
|
11
|
+
You can organize the domain as one big file or many small ones. Rasa will automatically merge everything during training [1](https://rasa.com/docs/reference/config/domain).
|
|
@@ -0,0 +1,25 @@
|
|
|
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: "We'd love to hear about your experience! How are we doing?"
|
|
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! We appreciate you taking the time to provide us with feedback. π"
|
|
19
|
+
- text: "So glad we could help! Thanks for the positive feedback! π"
|
|
20
|
+
- text: "Amazing! We're thrilled you had a great experience. Thank you for your feedback! π"
|
|
21
|
+
|
|
22
|
+
utter_thankyou_negative:
|
|
23
|
+
- text: "We appreciate you taking the time to provide us with feedback. We're always working to improve our service."
|
|
24
|
+
- text: "Thank you for your honest feedback. We'll use it to make our service better."
|
|
25
|
+
- text: "Thanks for letting us know. Your feedback helps us improve our agent."
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
|
|
3
|
+
responses:
|
|
4
|
+
utter_goodbye:
|
|
5
|
+
- text: "Thanks for stopping by β take care!"
|
|
6
|
+
- text: "Thanks for the chat. Have a great day!"
|
|
7
|
+
- text: "Catch you later! Feel free to reach out anytime."
|
|
8
|
+
- text: "Goodbye for now β we're here if you need anything."
|
|
9
|
+
- text: "Take care! Let us know if you have any other questions."
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
|
|
3
|
+
slots:
|
|
4
|
+
example_questions:
|
|
5
|
+
type: text
|
|
6
|
+
initial_value: |
|
|
7
|
+
- What can you do?
|
|
8
|
+
- Connect me to a human
|
|
9
|
+
- Browse FAQs
|
|
10
|
+
mappings:
|
|
11
|
+
- type: controlled
|
|
12
|
+
|
|
13
|
+
responses:
|
|
14
|
+
utter_what_can_you_do:
|
|
15
|
+
- text: |
|
|
16
|
+
I can help you with a few basics like:
|
|
17
|
+
- Connecting you to a human
|
|
18
|
+
- Help you try out the FAQs
|
|
19
|
+
- Collect your feedback
|
|
20
|
+
metadata:
|
|
21
|
+
rephrase: True
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
actions:
|
|
3
|
+
- "action_human_handoff"
|
|
4
|
+
|
|
5
|
+
slots:
|
|
6
|
+
confirm_human_handoff:
|
|
7
|
+
type: "categorical"
|
|
8
|
+
mappings:
|
|
9
|
+
- type: "from_llm"
|
|
10
|
+
values:
|
|
11
|
+
- "Yes"
|
|
12
|
+
- "No"
|
|
13
|
+
|
|
14
|
+
responses:
|
|
15
|
+
utter_ask_confirm_human_handoff:
|
|
16
|
+
- text: "Do you want to be connected to a human agent?"
|
|
17
|
+
buttons:
|
|
18
|
+
- payload: "/SetSlots(confirm_human_handoff=Yes)"
|
|
19
|
+
title: "Yes"
|
|
20
|
+
- payload: "/SetSlots(confirm_human_handoff=No)"
|
|
21
|
+
title: "No"
|
|
22
|
+
|
|
23
|
+
utter_transferring_to_human:
|
|
24
|
+
- text: "You will be transfered to a human agent in a few moments."
|
|
25
|
+
|
|
26
|
+
utter_human_handoff_cancelled:
|
|
27
|
+
- text: "Ok, I understand you don't want to be connected to a human agent. Is there something else I can help you with?"
|
|
28
|
+
metadata:
|
|
29
|
+
rephrase: True
|
|
30
|
+
|
|
31
|
+
utter_transfer_to_manager:
|
|
32
|
+
- text: "I will transfer the following summary of our conversation to the Callback Manager:\n{summary}"
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
|
|
3
|
+
responses:
|
|
4
|
+
utter_top_faqs:
|
|
5
|
+
- text: |
|
|
6
|
+
Try out some of these questions you can use to get me to search your knowledge base:
|
|
7
|
+
|
|
8
|
+
- π€ What is Rasa?
|
|
9
|
+
- π¬ What is CALM?
|
|
10
|
+
- π What is a flow?
|
|
11
|
+
- βοΈ How do I customize my agent?
|
|
12
|
+
- π§ How does Rasa use LLMs?
|
|
13
|
+
metadata:
|
|
14
|
+
rephrase: True
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
version: "3.1"
|
|
2
|
+
responses:
|
|
3
|
+
utter_welcome:
|
|
4
|
+
- text: |
|
|
5
|
+
Hi there! I'm {agent_name} π. I'm a starter kit with some example skills to help you get going. Add your own flows and FAQs to make me your own.
|
|
6
|
+
|
|
7
|
+
Try a few examples:
|
|
8
|
+
{example_questions}
|
|
9
|
+
utter_help:
|
|
10
|
+
- text: "What can I help you with?"
|
|
11
|
+
metadata:
|
|
12
|
+
rephrase: True
|
|
13
|
+
|
|
14
|
+
slots:
|
|
15
|
+
agent_name:
|
|
16
|
+
type: text
|
|
17
|
+
initial_value: "Riley"
|
|
18
|
+
mappings:
|
|
19
|
+
- type: controlled
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# This file contains the different endpoints your bot can use.
|
|
2
|
+
|
|
3
|
+
# Server where the models are pulled from.
|
|
4
|
+
# https://rasa.com/docs/rasa-pro/production/model-storage#fetching-models-from-a-server
|
|
5
|
+
|
|
6
|
+
#models:
|
|
7
|
+
# url: http://my-server.com/models/default_core@latest
|
|
8
|
+
# wait_time_between_pulls: 10 # [optional](default: 100)
|
|
9
|
+
|
|
10
|
+
# Server which runs your custom actions.
|
|
11
|
+
# https://rasa.com/docs/rasa-pro/concepts/custom-actions
|
|
12
|
+
|
|
13
|
+
action_endpoint:
|
|
14
|
+
actions_module: "actions"
|
|
15
|
+
|
|
16
|
+
# Tracker store which is used to store the conversations.
|
|
17
|
+
# By default the conversations are stored in memory.
|
|
18
|
+
# https://rasa.com/docs/rasa-pro/production/tracker-stores
|
|
19
|
+
|
|
20
|
+
#tracker_store:
|
|
21
|
+
# type: redis
|
|
22
|
+
# url: <host of the redis instance, e.g. localhost>
|
|
23
|
+
# port: <port of your redis instance, usually 6379>
|
|
24
|
+
# db: <number of your database within redis, e.g. 0>
|
|
25
|
+
# password: <password used for authentication>
|
|
26
|
+
# use_ssl: <whether or not the communication is encrypted, default false>
|
|
27
|
+
|
|
28
|
+
#tracker_store:
|
|
29
|
+
# type: mongod
|
|
30
|
+
# url: <url to your mongo instance, e.g. mongodb://localhost:27017>
|
|
31
|
+
# db: <name of the db within your mongo instance, e.g. rasa>
|
|
32
|
+
# username: <username used for authentication>
|
|
33
|
+
# password: <password used for authentication>
|
|
34
|
+
|
|
35
|
+
# Event broker which all conversation events should be streamed to.
|
|
36
|
+
# https://rasa.com/docs/rasa-pro/production/event-brokers
|
|
37
|
+
|
|
38
|
+
#event_broker:
|
|
39
|
+
# url: localhost
|
|
40
|
+
# username: username
|
|
41
|
+
# password: password
|
|
42
|
+
# queue: queue
|
|
43
|
+
|
|
44
|
+
# The lines below activate contextual rephrasing, using the default OpenAI language model.
|
|
45
|
+
# Ensure the OPENAI_API_KEY is set to prevent any missing API key errors.
|
|
46
|
+
# For more details, refer to the documentation:
|
|
47
|
+
# https://rasa.com/docs/rasa-pro/concepts/contextual-response-rephraser
|
|
48
|
+
# To enable the rephraser, remove the comment symbols in the lines below.
|
|
49
|
+
nlg:
|
|
50
|
+
type: rephrase
|
|
51
|
+
llm:
|
|
52
|
+
model_group: openai-gpt-4o
|
|
53
|
+
prompt_template: prompts/rephraser_demo_personality_prompt.jinja2
|
|
54
|
+
rephrase_all: False
|
|
55
|
+
summarize_history: False
|
|
56
|
+
|
|
57
|
+
model_groups:
|
|
58
|
+
- id: openai-gpt-4o
|
|
59
|
+
models:
|
|
60
|
+
- provider: openai
|
|
61
|
+
model: gpt-4o-2024-11-20
|
|
62
|
+
timeout: 7
|
|
63
|
+
max_completion_tokens: 256
|
|
64
|
+
- id: openai-embeddings
|
|
65
|
+
models:
|
|
66
|
+
- provider: openai
|
|
67
|
+
model: text-embedding-3-large
|