rasa-pro 3.13.1a19__py3-none-any.whl → 3.13.1a20__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 +8 -0
- rasa/builder/auth.py +71 -0
- rasa/builder/config.py +16 -0
- rasa/builder/copilot/constants.py +15 -0
- rasa/builder/copilot/copilot.py +342 -0
- rasa/builder/copilot/copilot_response_handler.py +471 -0
- rasa/builder/copilot/exceptions.py +20 -0
- rasa/builder/copilot/models.py +344 -0
- rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +495 -0
- rasa/builder/copilot/telemetry.py +195 -0
- rasa/builder/document_retrieval/__init__.py +0 -0
- rasa/builder/document_retrieval/constants.py +16 -0
- rasa/builder/{inkeep_document_retrieval.py → document_retrieval/inkeep_document_retrieval.py} +24 -30
- rasa/builder/document_retrieval/models.py +62 -0
- rasa/builder/download.py +140 -0
- rasa/builder/guardrails/__init__.py +1 -0
- rasa/builder/guardrails/constants.py +4 -0
- rasa/builder/guardrails/exceptions.py +4 -0
- rasa/builder/guardrails/lakera.py +188 -0
- rasa/builder/guardrails/models.py +199 -0
- rasa/builder/guardrails/utils.py +305 -0
- rasa/builder/job_manager.py +87 -0
- rasa/builder/jobs.py +232 -0
- rasa/builder/llm_service.py +59 -7
- rasa/builder/logging_utils.py +162 -4
- rasa/builder/main.py +29 -16
- rasa/builder/models.py +90 -233
- rasa/builder/project_generator.py +91 -7
- rasa/builder/scrape_rasa_docs.py +1 -1
- rasa/builder/service.py +632 -440
- rasa/builder/shared/tracker_context.py +212 -0
- rasa/builder/validation_service.py +4 -4
- rasa/cli/data.py +8 -3
- rasa/cli/project_templates/basic/actions/action_api.py +15 -0
- rasa/cli/project_templates/basic/actions/action_human_handoff.py +44 -0
- rasa/cli/project_templates/basic/config.yml +23 -0
- rasa/cli/project_templates/{plain → basic}/credentials.yml +8 -7
- rasa/cli/project_templates/basic/data/general/feedback.yml +20 -0
- rasa/cli/project_templates/basic/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/basic/data/general/hello.yml +7 -0
- rasa/cli/project_templates/basic/data/general/help.yml +6 -0
- rasa/cli/project_templates/basic/data/general/human_handoff.yml +16 -0
- rasa/cli/project_templates/basic/data/general/welcome.yml +9 -0
- rasa/cli/project_templates/{finance/data/patterns → basic/data/system}/pattern_completed.yml +2 -1
- rasa/cli/project_templates/basic/data/system/pattern_correction.yml +7 -0
- rasa/cli/project_templates/basic/data/system/pattern_search.yml +8 -0
- rasa/cli/project_templates/basic/data/system/pattern_session_start.yml +8 -0
- rasa/cli/project_templates/basic/docs/rasa_assistant_qa.txt +65 -0
- rasa/cli/project_templates/basic/docs/template.txt +7 -0
- rasa/cli/project_templates/basic/domain/general/assistant_details.yml +12 -0
- rasa/cli/project_templates/basic/domain/general/bot_identity.yml +5 -0
- rasa/cli/project_templates/basic/domain/general/cannot_handle.yml +5 -0
- rasa/cli/project_templates/basic/domain/general/feedback.yml +28 -0
- rasa/cli/project_templates/basic/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/basic/domain/general/help.yml +5 -0
- rasa/cli/project_templates/basic/domain/general/human_handoff_domain.yml +35 -0
- rasa/cli/project_templates/{finance/domain/default_actions.yml → basic/domain/general/utils.yml} +0 -3
- rasa/cli/project_templates/basic/domain/general/welcome.yml +7 -0
- rasa/cli/project_templates/{plain → basic}/endpoints.yml +42 -27
- rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +19 -0
- rasa/cli/project_templates/defaults.py +25 -3
- rasa/cli/project_templates/finance/actions/__init__.py +46 -0
- rasa/cli/project_templates/finance/actions/accounts/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/{action_ask_account.py → accounts/action_ask_account.py} +6 -9
- rasa/cli/project_templates/finance/actions/{action_check_balance.py → accounts/action_check_balance.py} +4 -4
- rasa/cli/project_templates/finance/actions/action_session_start.py +11 -6
- rasa/cli/project_templates/finance/actions/cards/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/{action_ask_card.py → cards/action_ask_card.py} +4 -3
- rasa/cli/project_templates/finance/actions/{action_check_card_existence.py → cards/action_check_card_existence.py} +4 -3
- rasa/cli/project_templates/finance/actions/{action_update_card_status.py → cards/action_update_card_status.py} +18 -9
- rasa/cli/project_templates/finance/actions/database.py +1 -0
- rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/{action_add_payee.py → transfers/action_add_payee.py} +8 -3
- rasa/cli/project_templates/finance/actions/{action_ask_account_from.py → transfers/action_ask_account_from.py} +5 -4
- rasa/cli/project_templates/finance/actions/{action_check_payee_existence.py → transfers/action_check_payee_existence.py} +3 -3
- rasa/cli/project_templates/finance/actions/{action_check_sufficient_funds.py → transfers/action_check_sufficient_funds.py} +3 -4
- rasa/cli/project_templates/finance/actions/{action_list_payees.py → transfers/action_list_payees.py} +4 -3
- rasa/cli/project_templates/finance/actions/{action_remove_payee.py → transfers/action_remove_payee.py} +4 -4
- rasa/cli/project_templates/finance/config.yml +8 -19
- rasa/cli/project_templates/finance/credentials.yml +6 -7
- rasa/cli/project_templates/finance/csvs/cards.csv +10 -10
- rasa/cli/project_templates/finance/csvs/payees.csv +10 -9
- rasa/cli/project_templates/finance/data/{flows → accounts}/check_balance.yml +2 -1
- rasa/cli/project_templates/finance/data/general/bot_identity.yml +6 -0
- rasa/cli/project_templates/finance/data/general/feedback.yml +20 -0
- rasa/cli/project_templates/finance/data/general/goodbye.yml +6 -0
- rasa/cli/project_templates/finance/data/general/hello.yml +7 -0
- rasa/cli/project_templates/finance/data/{flows/welcome.yml → general/help.yml} +2 -7
- 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/{patterns → system/patterns}/pattern_chitchat.yml +0 -2
- 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/{patterns → system/patterns}/pattern_session_start.yml +0 -1
- rasa/cli/project_templates/finance/domain/{check_balance.yml → accounts/check_balance.yml} +2 -0
- rasa/cli/project_templates/finance/domain/general/assistant_details.yml +12 -0
- rasa/cli/project_templates/finance/domain/general/bot_identity.yml +5 -0
- rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +5 -0
- rasa/cli/project_templates/finance/domain/general/defaults.yml +24 -0
- rasa/cli/project_templates/finance/domain/general/feedback.yml +28 -0
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/finance/domain/general/help.yml +5 -0
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +30 -0
- rasa/cli/project_templates/finance/domain/general/utils.yml +13 -0
- rasa/cli/project_templates/finance/domain/general/welcome.yml +8 -0
- rasa/cli/project_templates/finance/endpoints.yml +1 -0
- rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +3 -3
- rasa/cli/project_templates/telco/actions/actions_billing.py +24 -17
- rasa/cli/project_templates/telco/actions/actions_get_data_from_db.py +6 -1
- rasa/cli/project_templates/telco/actions/actions_run_diagnostics.py +6 -1
- rasa/cli/project_templates/telco/actions/actions_session_start.py +6 -1
- rasa/cli/project_templates/tutorial/config.yml +2 -1
- rasa/cli/scaffold.py +27 -2
- rasa/cli/train.py +8 -0
- rasa/cli/utils.py +31 -15
- rasa/core/actions/action.py +28 -41
- rasa/core/actions/action_run_slot_rejections.py +1 -1
- rasa/core/channels/development_inspector.py +47 -14
- rasa/core/channels/inspector/dist/assets/{arc-371401b1.js → arc-1ddec37b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-3f126156.js → blockDiagram-38ab4fdb-18af387c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-12f22eb7.js → c4Diagram-3d4e48cf-250127a3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-59f6d54b.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-03b1d386.js → classDiagram-70f12bd4-c3388b34.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-84f69d63.js → classDiagram-v2-f2320105-9c893a82.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-26177ddb.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-ca47fd38.js → createText-2e5e7dd3-c111213b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-f837ca8a.js → edges-e0da2a9e-812a729d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-8717ac54.js → erDiagram-9861fffd-fd5051bc.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-94f38b83.js → flowDb-956e92f1-3287ac02.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-b616f9fb.js → flowDiagram-66a62f08-692fb0b2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-29c03f5a.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-f5d24bb8.js → flowchart-elk-definition-4a651766-008376f1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-b43ba8d9.js → ganttDiagram-c361ad54-df330a69.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-c3aafaa5.js → gitGraphDiagram-72cf32ee-e03676fb.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-0d0a2c10.js → graph-46fad2ba.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-58ea0305.js → index-3862675e-a484ac55.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-cce6f8a1.js → index-a003633f.js} +179 -179
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-b8f60461.js → infoDiagram-f8f76790-3f9e6ec2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-95be5545.js → journeyDiagram-49397b02-79f72383.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-da885b9b.js → layout-aad098e5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-f1c817d3.js → line-219ab7ae.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-d42801e6.js → linear-2cddbe62.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-a38923a6.js → mindmap-definition-fc14e90a-1d41ed99.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-ca6e71e9.js → pieDiagram-8a3498a8-cc496ee8.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-b290dae9.js → quadrantDiagram-120e2f19-84d32884.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-03f02ceb.js → requirementDiagram-deff3bca-c0deb984.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-c49eee40.js → sankeyDiagram-04a897e0-b9d7fd62.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-b2cd6a3d.js → sequenceDiagram-704730f1-7d517565.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-e53a2028.js → stateDiagram-587899a1-98ef9b27.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-e1982a03.js → stateDiagram-v2-d93cdb3a-cee70748.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-d0226ca5.js → styles-6aaf32cf-3f9d1c96.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-0e21dc00.js → styles-9a916d00-67471923.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-9588494e.js → styles-c10674c1-bd093fb7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-be478d4f.js → svgDrawCommon-08f97a94-675794e8.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-74631749.js → timeline-definition-85554ec2-0ac67617.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-a043552f.js → xychartDiagram-e933f94c-c018dc37.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +2 -2
- rasa/core/channels/inspector/index.html +1 -1
- rasa/core/channels/inspector/package.json +4 -3
- rasa/core/channels/inspector/src/App.tsx +53 -7
- rasa/core/channels/inspector/src/components/Chat.tsx +3 -2
- rasa/core/channels/inspector/src/components/DiagramFlow.tsx +1 -1
- rasa/core/channels/inspector/src/components/LatencyDisplay.tsx +268 -0
- rasa/core/channels/inspector/src/components/LoadingSpinner.tsx +6 -2
- rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +8 -3
- rasa/core/channels/inspector/src/types.ts +8 -0
- rasa/core/channels/inspector/yarn.lock +12 -12
- rasa/core/channels/studio_chat.py +119 -34
- rasa/core/channels/voice_ready/twilio_voice.py +1 -1
- rasa/core/channels/voice_stream/asr/asr_engine.py +5 -1
- rasa/core/channels/voice_stream/asr/deepgram.py +5 -0
- rasa/core/channels/voice_stream/audiocodes.py +16 -8
- rasa/core/channels/voice_stream/browser_audio.py +39 -4
- rasa/core/channels/voice_stream/call_state.py +13 -2
- rasa/core/channels/voice_stream/genesys.py +16 -13
- rasa/core/channels/voice_stream/jambonz.py +14 -12
- rasa/core/channels/voice_stream/twilio_media_streams.py +14 -13
- rasa/core/channels/voice_stream/util.py +11 -1
- rasa/core/channels/voice_stream/voice_channel.py +108 -29
- rasa/core/nlg/callback.py +1 -1
- rasa/core/nlg/contextual_response_rephraser.py +19 -9
- rasa/core/nlg/generator.py +21 -5
- rasa/core/nlg/response.py +43 -6
- rasa/core/nlg/translate.py +8 -0
- rasa/core/policies/enterprise_search_policy.py +16 -21
- rasa/dialogue_understanding/commands/correct_slots_command.py +38 -10
- rasa/dialogue_understanding/generator/command_generator.py +5 -5
- rasa/dialogue_understanding/generator/command_parser.py +9 -13
- rasa/dialogue_understanding/processor/command_processor.py +149 -55
- rasa/dialogue_understanding/stack/utils.py +13 -3
- rasa/dialogue_understanding_test/du_test_schema.yml +3 -3
- rasa/dialogue_understanding_test/validation.py +9 -10
- rasa/e2e_test/e2e_config.py +18 -11
- rasa/e2e_test/e2e_test_schema.yml +3 -3
- rasa/e2e_test/utils/validation.py +17 -19
- rasa/engine/validation.py +86 -91
- rasa/exceptions.py +26 -1
- rasa/model_manager/model_api.py +2 -2
- rasa/model_manager/socket_bridge.py +8 -2
- rasa/shared/providers/_configs/default_litellm_client_config.py +3 -7
- rasa/shared/utils/cli.py +2 -0
- rasa/shared/utils/common.py +2 -1
- rasa/shared/utils/health_check/health_check.py +10 -14
- rasa/studio/upload.py +6 -2
- rasa/studio/utils.py +33 -22
- rasa/telemetry.py +95 -22
- rasa/utils/licensing.py +21 -10
- rasa/utils/log_utils.py +1 -1
- rasa/utils/tensorflow/transformer.py +3 -3
- rasa/validator.py +7 -5
- rasa/version.py +1 -1
- {rasa_pro-3.13.1a19.dist-info → rasa_pro-3.13.1a20.dist-info}/METADATA +7 -7
- {rasa_pro-3.13.1a19.dist-info → rasa_pro-3.13.1a20.dist-info}/RECORD +242 -205
- rasa/builder/constants.py +0 -4
- rasa/builder/copilot-llm-structured-output-response-schema.json +0 -69
- rasa/builder/copilot.py +0 -233
- rasa/builder/copilot_system_prompt.jinja2 +0 -245
- rasa/builder/create_openai_vector_store.py +0 -228
- rasa/builder/llm_context.py +0 -81
- rasa/cli/project_templates/finance/data/nlu.yml +0 -29
- rasa/cli/project_templates/finance/data/patterns/pattern_search.yml +0 -5
- rasa/cli/project_templates/finance/domain/default_flows.yml +0 -33
- rasa/cli/project_templates/finance/prompts/command-generator.jinja2 +0 -57
- rasa/cli/project_templates/finance/tests/conversation_repair/cancellations.yml +0 -12
- rasa/cli/project_templates/finance/tests/conversation_repair/cannot_handle.yml +0 -7
- rasa/cli/project_templates/finance/tests/conversation_repair/chitchat.yml +0 -7
- rasa/cli/project_templates/finance/tests/conversation_repair/clarification.yml +0 -9
- rasa/cli/project_templates/finance/tests/conversation_repair/completion.yml +0 -18
- rasa/cli/project_templates/finance/tests/conversation_repair/corrections.yml +0 -17
- rasa/cli/project_templates/finance/tests/conversation_repair/digressions.yml +0 -32
- rasa/cli/project_templates/finance/tests/conversation_repair/human_handoff.yml +0 -21
- rasa/cli/project_templates/finance/tests/conversation_repair/skipping_collect_steps.yml +0 -16
- rasa/cli/project_templates/finance/tests/demo_scripts/main.yml +0 -16
- rasa/cli/project_templates/finance/tests/happy_paths/balance_verification.yml +0 -15
- rasa/cli/project_templates/finance/tests/happy_paths/banking_questions.yml +0 -12
- rasa/cli/project_templates/finance/tests/happy_paths/card_blocking.yml +0 -52
- rasa/cli/project_templates/finance/tests/happy_paths/money_transfer.yml +0 -136
- rasa/cli/project_templates/finance/tests/happy_paths/payee_management.yml +0 -27
- rasa/cli/project_templates/finance/tests/happy_paths/user_greeted.yml +0 -5
- rasa/cli/project_templates/plain/config.yml +0 -17
- rasa/cli/project_templates/plain/data/patterns/pattern_session_start.yml +0 -7
- rasa/cli/project_templates/plain/domain.yml +0 -5
- rasa/core/channels/inspector/dist/assets/channel-f1efda17.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-fdf164e2.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-7d7a1629.js +0 -1
- rasa/shared/importers/static.py +0 -63
- /rasa/{cli/project_templates/plain/actions → builder/copilot}/__init__.py +0 -0
- /rasa/builder/{inkeep-rag-response-schema.json → document_retrieval/inkeep-rag-response-schema.json} +0 -0
- /rasa/cli/project_templates/finance/actions/{action_process_immediate_payment.py → transfers/action_process_immediate_payment.py} +0 -0
- /rasa/cli/project_templates/finance/actions/{action_schedule_payment.py → transfers/action_schedule_payment.py} +0 -0
- /rasa/cli/project_templates/finance/actions/{action_validate_payment_date.py → transfers/action_validate_payment_date.py} +0 -0
- /rasa/cli/project_templates/finance/data/{flows → cards}/block_card.yml +0 -0
- /rasa/cli/project_templates/finance/data/{flows → cards}/select_card.yml +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/accounts.json +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/advisors.json +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/appointments.json +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/branches.json +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/cards.json +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/payees.json +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/transactions.json +0 -0
- /rasa/cli/project_templates/finance/data/{source → system/source}/users.json +0 -0
- /rasa/cli/project_templates/finance/data/{flows → transfers}/add_payee.yml +0 -0
- /rasa/cli/project_templates/finance/data/{flows → transfers}/list_payees.yml +0 -0
- /rasa/cli/project_templates/finance/data/{flows → transfers}/remove_payee.yml +0 -0
- /rasa/cli/project_templates/finance/data/{flows → transfers}/transfer_money.yml +0 -0
- /rasa/cli/project_templates/finance/domain/{block_card.yml → cards/block_card.yml} +0 -0
- /rasa/cli/project_templates/finance/domain/{select_card.yml → cards/select_card.yml} +0 -0
- /rasa/cli/project_templates/finance/domain/{add_payee.yml → transfers/add_payee.yml} +0 -0
- /rasa/cli/project_templates/finance/domain/{list_payees.yml → transfers/list_payees.yml} +0 -0
- /rasa/cli/project_templates/finance/domain/{remove_payee.yml → transfers/remove_payee.yml} +0 -0
- /rasa/cli/project_templates/finance/domain/{transfer_money.yml → transfers/transfer_money.yml} +0 -0
- {rasa_pro-3.13.1a19.dist-info → rasa_pro-3.13.1a20.dist-info}/NOTICE +0 -0
- {rasa_pro-3.13.1a19.dist-info → rasa_pro-3.13.1a20.dist-info}/WHEEL +0 -0
- {rasa_pro-3.13.1a19.dist-info → rasa_pro-3.13.1a20.dist-info}/entry_points.txt +0 -0
|
@@ -1,228 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""Script to create and populate OpenAI vector store with Rasa documentation."""
|
|
3
|
-
|
|
4
|
-
import json
|
|
5
|
-
import sys
|
|
6
|
-
from pathlib import Path
|
|
7
|
-
from typing import Dict, List
|
|
8
|
-
|
|
9
|
-
import openai
|
|
10
|
-
import structlog
|
|
11
|
-
|
|
12
|
-
structlogger = structlog.get_logger()
|
|
13
|
-
|
|
14
|
-
# Configuration
|
|
15
|
-
DOCS_DIR = "rasa_docs_md"
|
|
16
|
-
FILE_IDS_FILE = "file_ids.json"
|
|
17
|
-
MARKDOWN_TO_URL_FILE = "markdown_to_url.json"
|
|
18
|
-
ASSISTANT_NAME = "Rasa Docs Assistant"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
def load_url_mapping() -> Dict[str, str]:
|
|
22
|
-
"""Load the markdown filename to URL mapping."""
|
|
23
|
-
markdown_to_url_file = Path(MARKDOWN_TO_URL_FILE)
|
|
24
|
-
|
|
25
|
-
if not markdown_to_url_file.exists():
|
|
26
|
-
raise FileNotFoundError(
|
|
27
|
-
f"URL mapping file {markdown_to_url_file} not found. "
|
|
28
|
-
"Please run scrape_rasa_docs.py first."
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
with open(markdown_to_url_file, "r") as f:
|
|
32
|
-
return json.load(f)
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def get_markdown_files(docs_dir: str = DOCS_DIR) -> List[Path]:
|
|
36
|
-
"""Get all markdown files in the docs directory."""
|
|
37
|
-
docs_path = Path(docs_dir)
|
|
38
|
-
|
|
39
|
-
if not docs_path.exists():
|
|
40
|
-
raise FileNotFoundError(f"Documentation directory {docs_dir} not found")
|
|
41
|
-
|
|
42
|
-
md_files = list(docs_path.glob("*.md"))
|
|
43
|
-
if not md_files:
|
|
44
|
-
raise FileNotFoundError(f"No markdown files found in {docs_dir}")
|
|
45
|
-
|
|
46
|
-
structlogger.info("vector_store.found_files", count=len(md_files))
|
|
47
|
-
return md_files
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
def load_or_upload_files(client: openai.OpenAI) -> List[Dict[str, str]]:
|
|
51
|
-
"""Load existing file IDs or upload files to OpenAI."""
|
|
52
|
-
file_ids_file = Path(FILE_IDS_FILE)
|
|
53
|
-
|
|
54
|
-
if file_ids_file.exists():
|
|
55
|
-
structlogger.info("vector_store.loading_existing_files")
|
|
56
|
-
with open(file_ids_file, "r") as f:
|
|
57
|
-
return json.load(f)
|
|
58
|
-
|
|
59
|
-
return upload_files(client)
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
def upload_files(client: openai.OpenAI) -> List[Dict[str, str]]:
|
|
63
|
-
"""Upload markdown files to OpenAI."""
|
|
64
|
-
structlogger.info("vector_store.uploading_files")
|
|
65
|
-
|
|
66
|
-
md_files = get_markdown_files()
|
|
67
|
-
uploaded_files = []
|
|
68
|
-
|
|
69
|
-
for md_file in md_files:
|
|
70
|
-
try:
|
|
71
|
-
with open(md_file, "rb") as f:
|
|
72
|
-
uploaded = client.files.create(file=f, purpose="assistants")
|
|
73
|
-
|
|
74
|
-
file_info = {"file_id": uploaded.id, "file_name": md_file.name}
|
|
75
|
-
uploaded_files.append(file_info)
|
|
76
|
-
|
|
77
|
-
structlogger.info(
|
|
78
|
-
"vector_store.file_uploaded",
|
|
79
|
-
file_name=md_file.name,
|
|
80
|
-
file_id=uploaded.id,
|
|
81
|
-
)
|
|
82
|
-
|
|
83
|
-
except Exception as e:
|
|
84
|
-
structlogger.error(
|
|
85
|
-
"vector_store.upload_failed", file_name=md_file.name, error=str(e)
|
|
86
|
-
)
|
|
87
|
-
raise
|
|
88
|
-
|
|
89
|
-
# Save file IDs for future use
|
|
90
|
-
with open(FILE_IDS_FILE, "w") as f:
|
|
91
|
-
json.dump(uploaded_files, f, indent=2)
|
|
92
|
-
|
|
93
|
-
structlogger.info("vector_store.upload_complete", count=len(uploaded_files))
|
|
94
|
-
return uploaded_files
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
def prepare_files_with_metadata(files: List[Dict[str, str]]) -> List[Dict[str, str]]:
|
|
98
|
-
"""Prepare files with URL metadata."""
|
|
99
|
-
url_mapping = load_url_mapping()
|
|
100
|
-
|
|
101
|
-
files_with_metadata = []
|
|
102
|
-
for file_info in files:
|
|
103
|
-
file_name = file_info["file_name"]
|
|
104
|
-
url = url_mapping.get(file_name, "")
|
|
105
|
-
|
|
106
|
-
if not url:
|
|
107
|
-
structlogger.warning("vector_store.missing_url", file_name=file_name)
|
|
108
|
-
|
|
109
|
-
files_with_metadata.append(
|
|
110
|
-
{"file_id": file_info["file_id"], "file_name": file_name, "url": url}
|
|
111
|
-
)
|
|
112
|
-
|
|
113
|
-
return files_with_metadata
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
def create_vector_store(
|
|
117
|
-
client: openai.OpenAI, files_with_metadata: List[Dict[str, str]]
|
|
118
|
-
) -> str:
|
|
119
|
-
"""Create vector store and add files."""
|
|
120
|
-
try:
|
|
121
|
-
# Create vector store
|
|
122
|
-
structlogger.info("vector_store.creating")
|
|
123
|
-
vector_store = client.vector_stores.create(name=ASSISTANT_NAME)
|
|
124
|
-
|
|
125
|
-
# Add files to vector store
|
|
126
|
-
for file_meta in files_with_metadata:
|
|
127
|
-
try:
|
|
128
|
-
client.vector_stores.files.create(
|
|
129
|
-
vector_store_id=vector_store.id,
|
|
130
|
-
file_id=file_meta["file_id"],
|
|
131
|
-
attributes={"url": file_meta["url"]},
|
|
132
|
-
)
|
|
133
|
-
|
|
134
|
-
structlogger.info(
|
|
135
|
-
"vector_store.file_added",
|
|
136
|
-
file_name=file_meta["file_name"],
|
|
137
|
-
url=file_meta["url"],
|
|
138
|
-
)
|
|
139
|
-
|
|
140
|
-
except Exception as e:
|
|
141
|
-
structlogger.error(
|
|
142
|
-
"vector_store.file_add_failed",
|
|
143
|
-
file_name=file_meta["file_name"],
|
|
144
|
-
error=str(e),
|
|
145
|
-
)
|
|
146
|
-
# Continue with other files
|
|
147
|
-
|
|
148
|
-
structlogger.info(
|
|
149
|
-
"vector_store.created",
|
|
150
|
-
vector_store_id=vector_store.id,
|
|
151
|
-
files_count=len(files_with_metadata),
|
|
152
|
-
)
|
|
153
|
-
|
|
154
|
-
return vector_store.id
|
|
155
|
-
|
|
156
|
-
except Exception as e:
|
|
157
|
-
structlogger.error("vector_store.creation_failed", error=str(e))
|
|
158
|
-
raise
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
def run_vector_store_creation() -> str:
|
|
162
|
-
"""Run the complete vector store creation process."""
|
|
163
|
-
client = openai.OpenAI()
|
|
164
|
-
|
|
165
|
-
try:
|
|
166
|
-
# Load or upload files
|
|
167
|
-
files = load_or_upload_files(client)
|
|
168
|
-
|
|
169
|
-
# Prepare files with metadata
|
|
170
|
-
files_with_metadata = prepare_files_with_metadata(files)
|
|
171
|
-
|
|
172
|
-
# Create vector store
|
|
173
|
-
vector_store_id = create_vector_store(client, files_with_metadata)
|
|
174
|
-
|
|
175
|
-
print("\n🎉 Vector store created successfully!")
|
|
176
|
-
print(f"Vector store ID: {vector_store_id}")
|
|
177
|
-
print(f"Files processed: {len(files_with_metadata)}")
|
|
178
|
-
|
|
179
|
-
return vector_store_id
|
|
180
|
-
|
|
181
|
-
except Exception as e:
|
|
182
|
-
structlogger.error("vector_store.process_failed", error=str(e))
|
|
183
|
-
print(f"\n❌ Vector store creation failed: {e}")
|
|
184
|
-
raise
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
def setup_logging():
|
|
188
|
-
"""Setup basic logging."""
|
|
189
|
-
import logging.config
|
|
190
|
-
|
|
191
|
-
logging_config = {
|
|
192
|
-
"version": 1,
|
|
193
|
-
"disable_existing_loggers": False,
|
|
194
|
-
"formatters": {
|
|
195
|
-
"standard": {"format": "%(asctime)s [%(levelname)s] %(name)s: %(message)s"},
|
|
196
|
-
},
|
|
197
|
-
"handlers": {
|
|
198
|
-
"default": {
|
|
199
|
-
"level": "INFO",
|
|
200
|
-
"formatter": "standard",
|
|
201
|
-
"class": "logging.StreamHandler",
|
|
202
|
-
},
|
|
203
|
-
},
|
|
204
|
-
"loggers": {"": {"handlers": ["default"], "level": "INFO", "propagate": False}},
|
|
205
|
-
}
|
|
206
|
-
|
|
207
|
-
logging.config.dictConfig(logging_config)
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
def main():
|
|
211
|
-
"""Main entry point for the script."""
|
|
212
|
-
setup_logging()
|
|
213
|
-
|
|
214
|
-
try:
|
|
215
|
-
run_vector_store_creation()
|
|
216
|
-
return 0
|
|
217
|
-
|
|
218
|
-
except KeyboardInterrupt:
|
|
219
|
-
print("\n⏹️ Process interrupted by user")
|
|
220
|
-
return 1
|
|
221
|
-
|
|
222
|
-
except Exception as e:
|
|
223
|
-
print(f"\n💥 Unexpected error: {e}")
|
|
224
|
-
return 1
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
if __name__ == "__main__":
|
|
228
|
-
sys.exit(main())
|
rasa/builder/llm_context.py
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import json
|
|
2
|
-
from typing import Optional
|
|
3
|
-
|
|
4
|
-
from rasa.shared.core.constants import DEFAULT_SLOT_NAMES
|
|
5
|
-
from rasa.shared.core.events import (
|
|
6
|
-
ActionExecuted,
|
|
7
|
-
BotUttered,
|
|
8
|
-
FlowCompleted,
|
|
9
|
-
FlowStarted,
|
|
10
|
-
SlotSet,
|
|
11
|
-
UserUttered,
|
|
12
|
-
)
|
|
13
|
-
from rasa.shared.core.trackers import DialogueStateTracker
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def tracker_as_llm_context(tracker: Optional[DialogueStateTracker]) -> str:
|
|
17
|
-
"""Convert a tracker to a string that can be used as context for the LLM."""
|
|
18
|
-
if not tracker or not tracker.events:
|
|
19
|
-
return "No conversation history available."
|
|
20
|
-
|
|
21
|
-
context_parts = []
|
|
22
|
-
current_turn = []
|
|
23
|
-
|
|
24
|
-
for event in tracker.events:
|
|
25
|
-
if isinstance(event, UserUttered):
|
|
26
|
-
if current_turn:
|
|
27
|
-
context_parts.append(" | ".join(current_turn))
|
|
28
|
-
current_turn = []
|
|
29
|
-
current_turn.append(f"User: {event.text}")
|
|
30
|
-
if event.intent:
|
|
31
|
-
current_turn.append(f"Intent: {event.intent.get('name')}")
|
|
32
|
-
if event.entities:
|
|
33
|
-
current_turn.append(
|
|
34
|
-
f"Entities: {[e.get('entity') for e in event.entities]}"
|
|
35
|
-
)
|
|
36
|
-
if event.commands:
|
|
37
|
-
current_turn.append(
|
|
38
|
-
f"Commands: {[cmd.get('name') for cmd in event.commands]}"
|
|
39
|
-
)
|
|
40
|
-
|
|
41
|
-
elif isinstance(event, BotUttered):
|
|
42
|
-
if event.text:
|
|
43
|
-
current_turn.append(f"Bot: {event.text}")
|
|
44
|
-
|
|
45
|
-
elif isinstance(event, ActionExecuted):
|
|
46
|
-
current_turn.append(f"Action: {event.action_name}")
|
|
47
|
-
if event.confidence:
|
|
48
|
-
current_turn.append(f"Confidence: {event.confidence:.2f}")
|
|
49
|
-
|
|
50
|
-
elif isinstance(event, SlotSet) and event.key not in DEFAULT_SLOT_NAMES:
|
|
51
|
-
current_turn.append(f"Slot Set: {event.key}={event.value}")
|
|
52
|
-
|
|
53
|
-
elif isinstance(event, FlowStarted):
|
|
54
|
-
current_turn.append(f"# Flow Started: {event.flow_id}")
|
|
55
|
-
|
|
56
|
-
elif isinstance(event, FlowCompleted):
|
|
57
|
-
current_turn.append(f"# Flow Completed: {event.flow_id}")
|
|
58
|
-
|
|
59
|
-
if current_turn:
|
|
60
|
-
context_parts.append(" | ".join(current_turn))
|
|
61
|
-
|
|
62
|
-
# Add final state information
|
|
63
|
-
context_parts.append("\nCurrent State:")
|
|
64
|
-
context_parts.append(f"Latest Message: {tracker.latest_message.text or '-'}")
|
|
65
|
-
|
|
66
|
-
# Add active flows from stack
|
|
67
|
-
if tracker.active_flow:
|
|
68
|
-
context_parts.append(f"Active Flow: {tracker.active_flow}")
|
|
69
|
-
if tracker.stack:
|
|
70
|
-
context_parts.append(f"Flow Stack: {json.dumps(tracker.stack.as_dict())}")
|
|
71
|
-
|
|
72
|
-
# Add slot values that are not None
|
|
73
|
-
non_empty_slots = {
|
|
74
|
-
k: str(v.value)
|
|
75
|
-
for k, v in tracker.slots.items()
|
|
76
|
-
if v is not None and k not in DEFAULT_SLOT_NAMES
|
|
77
|
-
}
|
|
78
|
-
if non_empty_slots:
|
|
79
|
-
context_parts.append(f"Slots: {json.dumps(non_empty_slots)}")
|
|
80
|
-
|
|
81
|
-
return "\n".join(context_parts)
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
version: "3.1"
|
|
2
|
-
|
|
3
|
-
nlu:
|
|
4
|
-
- intent: greet
|
|
5
|
-
examples: |
|
|
6
|
-
- Hello!
|
|
7
|
-
- Hi there
|
|
8
|
-
- Good morning
|
|
9
|
-
- Good afternoon
|
|
10
|
-
- Good evening
|
|
11
|
-
- Hey!
|
|
12
|
-
- Hi
|
|
13
|
-
- Greetings
|
|
14
|
-
- How are you?
|
|
15
|
-
- What's up?
|
|
16
|
-
|
|
17
|
-
- intent: help
|
|
18
|
-
examples: |
|
|
19
|
-
- Who are you?
|
|
20
|
-
- What can you do?
|
|
21
|
-
- How can you assist me?
|
|
22
|
-
- Please list your skills.
|
|
23
|
-
- What services do you provide?
|
|
24
|
-
- Can you explain your capabilities?
|
|
25
|
-
- What do you specialise in?
|
|
26
|
-
- What kind of support can you offer?
|
|
27
|
-
- Can you tell me about your expertise?
|
|
28
|
-
- How do you help users?
|
|
29
|
-
- What tasks are you capable of doing?
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
version: "3.1"
|
|
2
|
-
|
|
3
|
-
intents:
|
|
4
|
-
- welcome
|
|
5
|
-
- help
|
|
6
|
-
|
|
7
|
-
responses:
|
|
8
|
-
utter_greeting:
|
|
9
|
-
- text: "Hey! I'm Rasano, your helpful banking assistant."
|
|
10
|
-
metadata:
|
|
11
|
-
rephrase: True
|
|
12
|
-
utter_help:
|
|
13
|
-
- text: "I am your Banking assistant. I can help you with transferring money, managing authorised payees, checking an account balance, blocking a card, and answering your general finance enquiries"
|
|
14
|
-
metadata:
|
|
15
|
-
rephrase: True
|
|
16
|
-
utter_show_greeting_accordion:
|
|
17
|
-
- custom:
|
|
18
|
-
type: "accordion"
|
|
19
|
-
elements:
|
|
20
|
-
- title: "Money Transfer"
|
|
21
|
-
text: 'I can send money to friends, family, or businesses. You can say, “send $100” or “transfer from my savings account”.'
|
|
22
|
-
- title: "Account Balance Verification"
|
|
23
|
-
text: 'I can check your account balance. For example, “what is my checking balance?” or “how much money do I have?”.'
|
|
24
|
-
- title: "Payee Management"
|
|
25
|
-
text: 'I can help you manage your payees, including adding new payees or listing your existing ones. For instance, “add a new payee” or “show me my payees.”'
|
|
26
|
-
- title: "Card Blocking"
|
|
27
|
-
text: 'I can permanently or temporarily block your card in case it is lost, stolen, or if you are traveling. Tell me, “block my card” or “temporarily disable my card”.'
|
|
28
|
-
- title: "Banking Questions"
|
|
29
|
-
text: 'I can also answer your general finance questions, such as how to dispute a charge or how to increase your credit limit.'
|
|
30
|
-
utter_chitchat:
|
|
31
|
-
- text: "Hello, how can I help you today?"
|
|
32
|
-
metadata:
|
|
33
|
-
rephrase: True
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
## Task Description
|
|
2
|
-
Your task is to analyze the current conversation context and generate a list of actions to start new business processes that we call flows, to extract slots, or respond to small talk and knowledge requests.
|
|
3
|
-
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## Available Flows and Slots
|
|
7
|
-
Use the following structured data:
|
|
8
|
-
```json
|
|
9
|
-
{"flows":[{% for flow in available_flows %}{"name":"{{ flow.name }}","description":"{{ flow.description }}"{% if flow.slots %},"slots":[{% for slot in flow.slots %}{"name":"{{ slot.name }}"{% if slot.description %},"description":"{{ slot.description }}"{% endif %}{% if slot.allowed_values %},"allowed_values":{{ slot.allowed_values }}{% endif %}}{% if not loop.last %},{% endif %}{% endfor %}]{% endif %}}{% if not loop.last %},{% endif %}{% endfor %}]}
|
|
10
|
-
```
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Available Actions:
|
|
15
|
-
* `start flow flow_name`: Starting a flow. For example, `start flow transfer_money` or `start flow list_contacts`.
|
|
16
|
-
* `set slot slot_name slot_value`: Slot setting. For example, `set slot transfer_money_recipient Freddy`. Can be used to correct and change previously set values.
|
|
17
|
-
* `cancel flow`: Cancelling the current flow.
|
|
18
|
-
* `disambiguate flows flow_name1 flow_name2 ... flow_name_n`: Disambiguate which flow should be started when user input is ambiguous by listing the potential flows as options. For example, `disambiguate flows list_contacts add_contact remove_contact ...` if the user just wrote "contacts".
|
|
19
|
-
* `provide info`: Responding to the user's questions by supplying relevant information, such as answering FAQs or explaining services.
|
|
20
|
-
* `offtopic reply`: Responding to casual or social user messages that are unrelated to any flows, engaging in friendly conversation and addressing off-topic remarks.
|
|
21
|
-
* `hand over`: Handing over to a human, in case the user seems frustrated or explicitly asks to speak to one.
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## General Tips
|
|
26
|
-
* Do not fill slots with abstract values or placeholders.
|
|
27
|
-
* For categorical slots try to match the user message with allowed slot values. Use "other" if you cannot match it.
|
|
28
|
-
* Set the boolean slots based on the user response. Map positive responses to `True`, and negative to `False`.
|
|
29
|
-
* Extract text slot values exactly as provided by the user. Avoid assumptions, format changes, or partial extractions.
|
|
30
|
-
* Only use information provided by the user.
|
|
31
|
-
* Use clarification in ambiguous cases.
|
|
32
|
-
* Multiple flows can be started. If a user wants to digress into a second flow, you do not need to cancel the current flow.
|
|
33
|
-
* Do not cancel the flow unless the user explicitly requests it.
|
|
34
|
-
* Strictly adhere to the provided action format.
|
|
35
|
-
* Focus on the last message and take it one step at a time.
|
|
36
|
-
* Use the previous conversation steps only to aid understanding.
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Current State
|
|
41
|
-
{% if current_flow != None %}Use the following structured data:
|
|
42
|
-
```json
|
|
43
|
-
{"active_flow":"{{ current_flow }}","current_step":{"requested_slot":"{{ current_slot }}","requested_slot_description":"{{ current_slot_description }}"},"slots":[{% for slot in flow_slots %}{"name":"{{ slot.name }}","value":"{{ slot.value }}","type":"{{ slot.type }}"{% if slot.description %},"description":"{{ slot.description }}"{% endif %}{% if slot.allowed_values %},"allowed_values":"{{ slot.allowed_values }}"{% endif %}}{% if not loop.last %},{% endif %}{% endfor %}]}
|
|
44
|
-
```{% else %}
|
|
45
|
-
You are currently not inside any flow.{% endif %}
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Conversation History
|
|
50
|
-
{{ current_conversation }}
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
## Task
|
|
55
|
-
Create an action list with one action per line in response to the user's last message: """{{ user_message }}""".
|
|
56
|
-
|
|
57
|
-
Your action list:
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_simple_cancellation
|
|
3
|
-
steps:
|
|
4
|
-
- user: "hello"
|
|
5
|
-
- utter: utter_chitchat
|
|
6
|
-
- user: "who are my payees"
|
|
7
|
-
- bot: "You are authorised to transfer money to: Amy, Fitness Gym and William"
|
|
8
|
-
- user: "I want to transfer 55 to Amy"
|
|
9
|
-
- utter: utter_transfer_money_understand
|
|
10
|
-
- bot: "Which account would you like to transfer money from?"
|
|
11
|
-
- user: "sorry, I want to cancel that"
|
|
12
|
-
- utter: utter_flow_cancelled_rasa
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_chitchat
|
|
3
|
-
steps:
|
|
4
|
-
- user: "hello,"
|
|
5
|
-
- utter: utter_chitchat
|
|
6
|
-
- user: "How can we solve world hunger?"
|
|
7
|
-
- bot: "Based on the provided documents and the context of the recent conversation, the question about solving world hunger is not directly addressed. If you have any specific questions related to the documents or conversation context, feel free to ask for more information."
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_clarification
|
|
3
|
-
steps:
|
|
4
|
-
- user: "hello"
|
|
5
|
-
- utter: utter_chitchat
|
|
6
|
-
- user: "payee"
|
|
7
|
-
- utter: utter_clarification_options_rasa
|
|
8
|
-
- user: "view a list"
|
|
9
|
-
- bot: "You are authorised to transfer money to: Robert, James and Food Market"
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_completion
|
|
3
|
-
steps:
|
|
4
|
-
- user: "hello"
|
|
5
|
-
- utter: utter_chitchat
|
|
6
|
-
- user: "Who are my payees"
|
|
7
|
-
- bot: "You are authorised to transfer money to: Amy, Fitness Gym and William"
|
|
8
|
-
- user: "I want to transfer money to William"
|
|
9
|
-
- utter: utter_transfer_money_understand
|
|
10
|
-
- bot: "Which account would you like to transfer money from?"
|
|
11
|
-
- user: "78901234"
|
|
12
|
-
- utter: utter_ask_amount
|
|
13
|
-
- user: "120"
|
|
14
|
-
- utter: utter_ask_timing
|
|
15
|
-
- user: "/SetSlots(timing=now)"
|
|
16
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
17
|
-
- user: "yes"
|
|
18
|
-
- utter: utter_transfer_successful
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_corrections
|
|
3
|
-
steps:
|
|
4
|
-
- user: "who are my payees"
|
|
5
|
-
- bot: "You are authorised to transfer money to: Amy, Fitness Gym and William"
|
|
6
|
-
- user: "I want to transfer 55 to Amy"
|
|
7
|
-
- utter: utter_transfer_money_understand
|
|
8
|
-
- bot: "Which account would you like to transfer money from?"
|
|
9
|
-
- user: "67890123"
|
|
10
|
-
- utter: utter_ask_timing
|
|
11
|
-
- user: "/SetSlots(timing=now)"
|
|
12
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
13
|
-
- user: "Sorry, I meant 65 and from Current"
|
|
14
|
-
- utter: utter_corrected_previous_input
|
|
15
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
16
|
-
- user: "yes"
|
|
17
|
-
- utter: utter_transfer_successful
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_digressions
|
|
3
|
-
steps:
|
|
4
|
-
- user: "I want to transfer money"
|
|
5
|
-
- utter: utter_transfer_money_understand
|
|
6
|
-
- bot: "Which account would you like to transfer money from?"
|
|
7
|
-
- user: "who are my payees"
|
|
8
|
-
- bot: "You are authorised to transfer money to: Richard, Susan and Electric Company"
|
|
9
|
-
- utter: utter_flow_continue_interrupted
|
|
10
|
-
- bot: "Which account would you like to transfer money from?"
|
|
11
|
-
- user: "I would like to add Brad as a payee"
|
|
12
|
-
- utter: utter_ask_account_number
|
|
13
|
-
- user: "123456"
|
|
14
|
-
- utter: utter_ask_payee_type
|
|
15
|
-
- user: "/SetSlots(payee_type=person)"
|
|
16
|
-
- utter: utter_ask_reference
|
|
17
|
-
- user: "Facebook Marketplace"
|
|
18
|
-
- utter: utter_ask_confirm_payee_details
|
|
19
|
-
- user: "/SetSlots(confirm_payee_details=True)"
|
|
20
|
-
- utter: utter_payee_added_success
|
|
21
|
-
- utter: utter_flow_continue_interrupted
|
|
22
|
-
- bot: "Which account would you like to transfer money from?"
|
|
23
|
-
- user: "12345678"
|
|
24
|
-
- utter: utter_ask_payee_name
|
|
25
|
-
- user: "Brad"
|
|
26
|
-
- utter: utter_ask_amount
|
|
27
|
-
- user: "55.23"
|
|
28
|
-
- utter: utter_ask_timing
|
|
29
|
-
- user: "immediate"
|
|
30
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
31
|
-
- user: "yup"
|
|
32
|
-
- utter: utter_transfer_successful
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_human_handoff
|
|
3
|
-
steps:
|
|
4
|
-
- user: "hello"
|
|
5
|
-
- utter: utter_chitchat
|
|
6
|
-
- user: "i want to transfer 999 from savings"
|
|
7
|
-
- utter: utter_transfer_money_understand
|
|
8
|
-
- utter: utter_ask_payee_name
|
|
9
|
-
- user: "who are my payees"
|
|
10
|
-
- bot: "You are authorised to transfer money to: Amy, Fitness Gym and William"
|
|
11
|
-
- utter: utter_flow_continue_interrupted
|
|
12
|
-
- utter: utter_ask_payee_name
|
|
13
|
-
- user: "Amy"
|
|
14
|
-
- utter: utter_ask_timing
|
|
15
|
-
- user: "/SetSlots(timing=now)"
|
|
16
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
17
|
-
- user: "I want to talk to a human"
|
|
18
|
-
- utter: utter_human_handoff_not_available
|
|
19
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
20
|
-
- user: "no"
|
|
21
|
-
- utter: utter_cancel_transfer
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: conversation_repair_skipping_collect_step
|
|
3
|
-
steps:
|
|
4
|
-
- user: "I want to transfer 55 to Amy from savings right now"
|
|
5
|
-
- utter: utter_transfer_money_understand
|
|
6
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
7
|
-
- user: "sorry, I meant 65"
|
|
8
|
-
- utter: utter_corrected_previous_input
|
|
9
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
10
|
-
- user: "sorry, I meant in the future"
|
|
11
|
-
- utter: utter_corrected_previous_input
|
|
12
|
-
- utter: utter_ask_payment_date
|
|
13
|
-
- user: "12/12/2025"
|
|
14
|
-
- utter: utter_ask_confirm_future_payment
|
|
15
|
-
- user: "yes"
|
|
16
|
-
- utter: utter_payment_scheduled
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: A simple test scripts used in standard demos for Starterpack - Financial Services (en)
|
|
3
|
-
steps:
|
|
4
|
-
- user: "I want to transfer money"
|
|
5
|
-
- utter: utter_transfer_money_understand
|
|
6
|
-
- bot: "Which account would you like to transfer money from?"
|
|
7
|
-
- user: "56789012"
|
|
8
|
-
- utter: utter_ask_payee_name
|
|
9
|
-
- user: "Susan"
|
|
10
|
-
- utter: utter_ask_amount
|
|
11
|
-
- user: "55.10"
|
|
12
|
-
- utter: utter_ask_timing
|
|
13
|
-
- user: "/SetSlots(timing=now)"
|
|
14
|
-
- utter: utter_ask_confirm_immediate_payment
|
|
15
|
-
- user: "Yes"
|
|
16
|
-
- utter: utter_transfer_successful
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: various_tests_for_account_balance
|
|
3
|
-
steps:
|
|
4
|
-
- user: "I want to view my account balance"
|
|
5
|
-
- bot: "Which account would you like the balance for?"
|
|
6
|
-
- user: "12345678"
|
|
7
|
-
- bot: "The balance is: $10123.45"
|
|
8
|
-
- user: "I want to query the balance of my acccounts"
|
|
9
|
-
- bot: "Which account would you like the balance for?"
|
|
10
|
-
- user: "12345678"
|
|
11
|
-
- bot: "The balance is: $10123.45"
|
|
12
|
-
- user: "I want to know the balance of one of my accounts"
|
|
13
|
-
- bot: "Which account would you like the balance for?"
|
|
14
|
-
- user: "23456789"
|
|
15
|
-
- bot: "The balance is: $4923.67"
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
test_cases:
|
|
2
|
-
- test_case: banking_questions - Happy paths no 1
|
|
3
|
-
steps:
|
|
4
|
-
- user: "Are there any fees to transfer money to my friends?"
|
|
5
|
-
- bot: "Yes, there may be fees associated with transferring money, especially for international transfers. To avoid fees, consider using bank-to-bank transfers within the UK whenever possible. You will be notified of any applicable fees before confirming the transfer."
|
|
6
|
-
|
|
7
|
-
- test_case: banking_questions - Happy paths no 2
|
|
8
|
-
steps:
|
|
9
|
-
- user: "I have a question on prepaid card"
|
|
10
|
-
- utter: utter_help
|
|
11
|
-
- user: "are there fees to transfer from or to prepaid cards"
|
|
12
|
-
- bot: "Yes, there may be fees associated with transferring funds to or from prepaid cards. It is advisable to check your account details for specific charges related to these transactions."
|