rasa-pro 3.14.0.dev5__py3-none-any.whl → 3.14.0.dev6__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/agents/agent_factory.py +122 -0
- rasa/agents/agent_manager.py +163 -0
- rasa/agents/constants.py +40 -0
- rasa/agents/core/agent_protocol.py +107 -0
- rasa/agents/core/types.py +70 -0
- rasa/agents/exceptions.py +8 -0
- rasa/agents/protocol/__init__.py +5 -0
- rasa/agents/protocol/a2a/a2a_agent.py +662 -0
- rasa/agents/protocol/mcp/mcp_base_agent.py +684 -0
- rasa/agents/protocol/mcp/mcp_open_agent.py +290 -0
- rasa/agents/protocol/mcp/mcp_task_agent.py +484 -0
- rasa/agents/schemas/__init__.py +12 -0
- rasa/agents/schemas/agent_input.py +38 -0
- rasa/agents/schemas/agent_output.py +26 -0
- rasa/agents/schemas/agent_tool_result.py +67 -0
- rasa/agents/schemas/agent_tool_schema.py +134 -0
- rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +15 -0
- rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +17 -0
- rasa/agents/utils.py +72 -0
- rasa/api.py +5 -0
- rasa/cli/arguments/default_arguments.py +12 -0
- rasa/cli/arguments/run.py +2 -0
- rasa/cli/dialogue_understanding_test.py +4 -0
- rasa/cli/e2e_test.py +4 -0
- rasa/cli/inspect.py +3 -0
- rasa/cli/llm_fine_tuning.py +5 -0
- rasa/cli/project_templates/tutorial/config.yml +1 -2
- rasa/cli/run.py +4 -0
- rasa/cli/scaffold.py +2 -46
- rasa/cli/shell.py +3 -0
- rasa/constants.py +6 -0
- rasa/core/actions/action.py +56 -10
- rasa/core/agent.py +19 -1
- rasa/core/available_agents.py +199 -0
- rasa/core/available_endpoints.py +30 -0
- rasa/core/channels/channel.py +3 -4
- rasa/core/channels/development_inspector.py +4 -4
- rasa/core/channels/hangouts.py +2 -2
- rasa/core/channels/inspector/dist/assets/{arc-18042c22.js → arc-63212852.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-fdd6bcfa.js → blockDiagram-38ab4fdb-eecf6b13.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-f5ae6786.js → c4Diagram-3d4e48cf-8f798a9a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-0cd70adf.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-81efba3e.js → classDiagram-70f12bd4-df71a04c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-3b6b6a92.js → classDiagram-v2-f2320105-9b275968.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-a0f9c4ed.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-31422447.js → createText-2e5e7dd3-1c669cad.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-518a90db.js → edges-e0da2a9e-b1553799.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-a6d3c25a.js → erDiagram-9861fffd-112388d6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-e048c2be.js → flowDb-956e92f1-fdebec47.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-c7474c91.js → flowDiagram-66a62f08-6280ede1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-de9cc4aa.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-cb4d8723.js → flowchart-elk-definition-4a651766-e1dc03e5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-346636a2.js → ganttDiagram-c361ad54-83f68c51.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-7c508874.js → gitGraphDiagram-72cf32ee-22f8666f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-14702d8a.js → graph-ca9e6217.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-f18b534b.js → index-3862675e-c5ceb692.js} +1 -1
- rasa/core/channels/inspector/dist/assets/index-3e293924.js +1353 -0
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-64154b83.js → infoDiagram-f8f76790-faa9999b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-833a5f95.js → journeyDiagram-49397b02-c4dda8d9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-5a3b2123.js → layout-d4307784.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-2272a8c7.js → line-0567aaa7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-35bcf273.js → linear-c11b95cf.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-92dcb0e9.js → mindmap-definition-fc14e90a-0c7d3ca9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-94dbc900.js → pieDiagram-8a3498a8-34b433fa.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-8b7a9c33.js → quadrantDiagram-120e2f19-4cab816e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-6f7eab81.js → requirementDiagram-deff3bca-8c22fa9e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-f43e581d.js → sankeyDiagram-04a897e0-70ce9e8e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-0bcbefc3.js → sequenceDiagram-704730f1-fbcd7fc9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-b8a74083.js → stateDiagram-587899a1-45f05ea6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-2070218f.js → stateDiagram-v2-d93cdb3a-beab1ea6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-f1d54e34.js → styles-6aaf32cf-2f29dbd5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-980de489.js → styles-9a916d00-951eac83.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-3c03abde.js → styles-c10674c1-897fbfdd.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-46ba068f.js → svgDrawCommon-08f97a94-d667fac1.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-901f5e3d.js → timeline-definition-85554ec2-e3205144.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-acbc628a.js → xychartDiagram-e933f94c-4abeb0e2.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 +11 -10
- rasa/core/channels/inspector/src/components/DialogueInformation.tsx +3 -12
- rasa/core/channels/inspector/src/components/DialogueStack.tsx +6 -4
- rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
- rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
- rasa/core/channels/inspector/src/types.ts +4 -0
- rasa/core/channels/socketio.py +51 -212
- rasa/core/channels/studio_chat.py +29 -49
- rasa/core/channels/voice_stream/genesys.py +1 -1
- rasa/core/channels/voice_stream/voice_channel.py +3 -5
- rasa/core/constants.py +4 -0
- rasa/core/policies/enterprise_search_policy.py +11 -6
- rasa/core/policies/flow_policy.py +4 -4
- rasa/core/policies/flows/flow_executor.py +470 -45
- rasa/core/policies/flows/mcp_tool_executor.py +277 -0
- rasa/core/policies/intentless_policy.py +1 -1
- rasa/core/policies/unexpected_intent_policy.py +1 -0
- rasa/core/processor.py +18 -15
- rasa/core/run.py +11 -14
- rasa/core/tracker_stores/tracker_store.py +3 -7
- rasa/core/train.py +1 -1
- rasa/core/training/interactive.py +16 -16
- rasa/core/training/story_conflict.py +5 -5
- rasa/core/utils.py +21 -1
- rasa/dialogue_understanding/commands/__init__.py +8 -0
- rasa/dialogue_understanding/commands/cancel_flow_command.py +97 -4
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +11 -0
- rasa/dialogue_understanding/commands/clarify_command.py +10 -0
- rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +11 -0
- rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
- rasa/dialogue_understanding/commands/start_flow_command.py +164 -8
- rasa/dialogue_understanding/commands/utils.py +6 -2
- rasa/dialogue_understanding/generator/command_parser.py +4 -0
- rasa/dialogue_understanding/generator/flow_retrieval.py +9 -10
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +50 -12
- rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +61 -0
- rasa/{cli/project_templates/telco/prompts/command-generator.jinja2 → dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2} +7 -3
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +81 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +81 -0
- rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +7 -6
- rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +7 -6
- rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +41 -2
- rasa/dialogue_understanding/patterns/continue_interrupted.py +163 -1
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +52 -8
- rasa/dialogue_understanding/processor/command_processor.py +31 -15
- rasa/dialogue_understanding/stack/dialogue_stack.py +123 -2
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
- rasa/dialogue_understanding/stack/utils.py +17 -2
- rasa/dialogue_understanding_test/du_test_runner.py +7 -2
- rasa/e2e_test/e2e_test_runner.py +12 -2
- rasa/engine/caching.py +2 -2
- rasa/engine/recipes/default_components.py +10 -18
- rasa/engine/storage/local_model_storage.py +2 -45
- rasa/graph_components/validators/default_recipe_validator.py +134 -134
- rasa/hooks.py +5 -5
- rasa/llm_fine_tuning/utils.py +2 -2
- rasa/model_manager/model_api.py +5 -4
- rasa/model_manager/runner_service.py +1 -1
- rasa/model_manager/socket_bridge.py +14 -20
- rasa/model_manager/trainer_service.py +9 -12
- rasa/model_manager/utils.py +29 -1
- rasa/model_manager/warm_rasa_process.py +1 -1
- rasa/nlu/extractors/extractor.py +2 -1
- rasa/plugin.py +8 -8
- rasa/privacy/privacy_manager.py +11 -2
- rasa/server.py +14 -2
- rasa/shared/agents/utils.py +35 -0
- rasa/shared/constants.py +5 -0
- rasa/shared/core/constants.py +12 -1
- rasa/shared/core/domain.py +11 -58
- rasa/shared/core/events.py +327 -0
- rasa/shared/core/flows/flow_step.py +1 -7
- rasa/shared/core/flows/flows_list.py +15 -5
- rasa/shared/core/flows/flows_yaml_schema.json +112 -186
- rasa/shared/core/flows/steps/call.py +53 -5
- rasa/shared/core/flows/validation.py +177 -7
- rasa/shared/core/flows/yaml_flows_io.py +9 -17
- rasa/shared/core/slots.py +2 -6
- rasa/shared/core/trackers.py +5 -2
- rasa/shared/exceptions.py +4 -0
- rasa/shared/importers/importer.py +0 -6
- rasa/shared/importers/rasa.py +1 -1
- rasa/shared/importers/utils.py +10 -80
- rasa/shared/providers/_utils.py +44 -60
- rasa/shared/providers/embedding/default_litellm_embedding_client.py +0 -2
- rasa/shared/providers/llm/_base_litellm_client.py +39 -7
- rasa/shared/providers/llm/default_litellm_llm_client.py +0 -2
- rasa/shared/providers/llm/litellm_router_llm_client.py +8 -4
- rasa/shared/providers/llm/llm_client.py +7 -3
- rasa/shared/providers/llm/llm_response.py +66 -0
- rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
- rasa/shared/utils/llm.py +28 -5
- rasa/shared/utils/mcp/server_connection.py +166 -0
- rasa/shared/utils/schemas/events.py +42 -0
- rasa/shared/utils/yaml.py +3 -1
- rasa/studio/upload.py +47 -16
- rasa/telemetry.py +23 -97
- rasa/tracing/instrumentation/instrumentation.py +14 -10
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
- rasa/utils/common.py +79 -0
- rasa/utils/io.py +9 -27
- rasa/utils/json_utils.py +1 -6
- rasa/utils/log_utils.py +2 -6
- rasa/utils/ml_utils.py +1 -1
- rasa/utils/tensorflow/rasa_layers.py +1 -1
- rasa/utils/train_utils.py +15 -15
- rasa/validator.py +19 -21
- rasa/version.py +1 -1
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev6.dist-info}/METADATA +14 -17
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev6.dist-info}/RECORD +201 -432
- rasa/builder/README.md +0 -120
- rasa/builder/auth.py +0 -176
- rasa/builder/config.py +0 -115
- rasa/builder/copilot/constants.py +0 -25
- rasa/builder/copilot/copilot.py +0 -372
- rasa/builder/copilot/copilot_response_handler.py +0 -487
- rasa/builder/copilot/copilot_templated_message_provider.py +0 -58
- rasa/builder/copilot/exceptions.py +0 -20
- rasa/builder/copilot/models.py +0 -431
- rasa/builder/copilot/prompts/copilot_system_prompt.jinja2 +0 -726
- rasa/builder/copilot/telemetry.py +0 -195
- rasa/builder/copilot/templated_messages/copilot_internal_messages_templates.yml +0 -16
- rasa/builder/copilot/templated_messages/copilot_templated_responses.yml +0 -26
- rasa/builder/document_retrieval/constants.py +0 -15
- rasa/builder/document_retrieval/inkeep-rag-response-schema.json +0 -64
- rasa/builder/document_retrieval/inkeep_document_retrieval.py +0 -238
- rasa/builder/document_retrieval/models.py +0 -62
- rasa/builder/download.py +0 -140
- rasa/builder/exceptions.py +0 -55
- rasa/builder/guardrails/__init__.py +0 -1
- rasa/builder/guardrails/constants.py +0 -3
- rasa/builder/guardrails/exceptions.py +0 -4
- rasa/builder/guardrails/lakera.py +0 -206
- rasa/builder/guardrails/models.py +0 -199
- rasa/builder/guardrails/utils.py +0 -305
- rasa/builder/job_manager.py +0 -87
- rasa/builder/jobs.py +0 -234
- rasa/builder/llm_service.py +0 -246
- rasa/builder/logging_utils.py +0 -209
- rasa/builder/main.py +0 -174
- rasa/builder/models.py +0 -197
- rasa/builder/project_generator.py +0 -450
- rasa/builder/project_info.py +0 -72
- rasa/builder/scrape_rasa_docs.py +0 -97
- rasa/builder/service.py +0 -1142
- rasa/builder/shared/tracker_context.py +0 -212
- rasa/builder/skill_to_bot_prompt.jinja2 +0 -164
- rasa/builder/training_service.py +0 -132
- rasa/builder/validation_service.py +0 -93
- rasa/cli/project_templates/basic/actions/action_api.py +0 -15
- rasa/cli/project_templates/basic/actions/action_human_handoff.py +0 -44
- rasa/cli/project_templates/basic/config.yml +0 -23
- rasa/cli/project_templates/basic/credentials.yml +0 -34
- rasa/cli/project_templates/basic/data/general/feedback.yml +0 -20
- rasa/cli/project_templates/basic/data/general/goodbye.yml +0 -6
- rasa/cli/project_templates/basic/data/general/hello.yml +0 -7
- rasa/cli/project_templates/basic/data/general/help.yml +0 -6
- rasa/cli/project_templates/basic/data/general/human_handoff.yml +0 -16
- rasa/cli/project_templates/basic/data/general/welcome.yml +0 -9
- rasa/cli/project_templates/basic/data/system/pattern_completed.yml +0 -7
- rasa/cli/project_templates/basic/data/system/pattern_correction.yml +0 -7
- rasa/cli/project_templates/basic/data/system/pattern_search.yml +0 -8
- rasa/cli/project_templates/basic/data/system/pattern_session_start.yml +0 -8
- rasa/cli/project_templates/basic/docs/rasa_assistant_qa.txt +0 -65
- rasa/cli/project_templates/basic/docs/template.txt +0 -7
- rasa/cli/project_templates/basic/domain/general/assistant_details.yml +0 -12
- rasa/cli/project_templates/basic/domain/general/bot_identity.yml +0 -5
- rasa/cli/project_templates/basic/domain/general/cannot_handle.yml +0 -5
- rasa/cli/project_templates/basic/domain/general/feedback.yml +0 -28
- rasa/cli/project_templates/basic/domain/general/goodbye.yml +0 -7
- rasa/cli/project_templates/basic/domain/general/help.yml +0 -5
- rasa/cli/project_templates/basic/domain/general/human_handoff_domain.yml +0 -35
- rasa/cli/project_templates/basic/domain/general/utils.yml +0 -13
- rasa/cli/project_templates/basic/domain/general/welcome.yml +0 -7
- rasa/cli/project_templates/basic/endpoints.yml +0 -73
- rasa/cli/project_templates/basic/prompts/rephraser_demo_personality_prompt.jinja2 +0 -19
- rasa/cli/project_templates/finance/actions/__init__.py +0 -46
- rasa/cli/project_templates/finance/actions/accounts/action_ask_account.py +0 -47
- rasa/cli/project_templates/finance/actions/accounts/action_check_balance.py +0 -40
- rasa/cli/project_templates/finance/actions/action_session_start.py +0 -74
- rasa/cli/project_templates/finance/actions/cards/action_ask_card.py +0 -48
- rasa/cli/project_templates/finance/actions/cards/action_check_card_existence.py +0 -36
- rasa/cli/project_templates/finance/actions/cards/action_update_card_status.py +0 -54
- rasa/cli/project_templates/finance/actions/database.py +0 -277
- rasa/cli/project_templates/finance/actions/transfers/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/transfers/action_add_payee.py +0 -52
- rasa/cli/project_templates/finance/actions/transfers/action_ask_account_from.py +0 -51
- rasa/cli/project_templates/finance/actions/transfers/action_check_payee_existence.py +0 -40
- rasa/cli/project_templates/finance/actions/transfers/action_check_sufficient_funds.py +0 -40
- rasa/cli/project_templates/finance/actions/transfers/action_list_payees.py +0 -46
- rasa/cli/project_templates/finance/actions/transfers/action_process_immediate_payment.py +0 -18
- rasa/cli/project_templates/finance/actions/transfers/action_remove_payee.py +0 -49
- rasa/cli/project_templates/finance/actions/transfers/action_schedule_payment.py +0 -19
- rasa/cli/project_templates/finance/actions/transfers/action_validate_payment_date.py +0 -36
- rasa/cli/project_templates/finance/config.yml +0 -21
- rasa/cli/project_templates/finance/credentials.yml +0 -32
- rasa/cli/project_templates/finance/csvs/accounts.csv +0 -8
- rasa/cli/project_templates/finance/csvs/advisors.csv +0 -7
- rasa/cli/project_templates/finance/csvs/appointments.csv +0 -211
- rasa/cli/project_templates/finance/csvs/branches.csv +0 -10
- rasa/cli/project_templates/finance/csvs/cards.csv +0 -11
- rasa/cli/project_templates/finance/csvs/payees.csv +0 -11
- rasa/cli/project_templates/finance/csvs/transactions.csv +0 -71
- rasa/cli/project_templates/finance/csvs/users.csv +0 -4
- rasa/cli/project_templates/finance/data/accounts/check_balance.yml +0 -10
- rasa/cli/project_templates/finance/data/cards/block_card.yml +0 -66
- rasa/cli/project_templates/finance/data/cards/select_card.yml +0 -12
- rasa/cli/project_templates/finance/data/general/bot_identity.yml +0 -6
- rasa/cli/project_templates/finance/data/general/feedback.yml +0 -20
- rasa/cli/project_templates/finance/data/general/goodbye.yml +0 -6
- rasa/cli/project_templates/finance/data/general/hello.yml +0 -7
- rasa/cli/project_templates/finance/data/general/help.yml +0 -9
- rasa/cli/project_templates/finance/data/general/human_handoff.yml +0 -16
- rasa/cli/project_templates/finance/data/general/welcome.yml +0 -9
- rasa/cli/project_templates/finance/data/system/patterns/pattern_chitchat.yml +0 -5
- rasa/cli/project_templates/finance/data/system/patterns/pattern_completed.yml +0 -7
- rasa/cli/project_templates/finance/data/system/patterns/pattern_correction.yml +0 -7
- rasa/cli/project_templates/finance/data/system/patterns/pattern_search.yml +0 -8
- rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +0 -8
- rasa/cli/project_templates/finance/data/system/source/accounts.json +0 -51
- rasa/cli/project_templates/finance/data/system/source/advisors.json +0 -44
- rasa/cli/project_templates/finance/data/system/source/appointments.json +0 -1474
- rasa/cli/project_templates/finance/data/system/source/branches.json +0 -47
- rasa/cli/project_templates/finance/data/system/source/cards.json +0 -72
- rasa/cli/project_templates/finance/data/system/source/payees.json +0 -74
- rasa/cli/project_templates/finance/data/system/source/transactions.json +0 -492
- rasa/cli/project_templates/finance/data/system/source/users.json +0 -29
- rasa/cli/project_templates/finance/data/transfers/add_payee.yml +0 -29
- rasa/cli/project_templates/finance/data/transfers/list_payees.yml +0 -5
- rasa/cli/project_templates/finance/data/transfers/remove_payee.yml +0 -21
- rasa/cli/project_templates/finance/data/transfers/transfer_money.yml +0 -67
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/consequences_of_blocking_card.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/reasons_to_block_card.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/recovering_from_card_fraud.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/tips_for_card_security.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/block_card/what_to_do_if_card_is_lost.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/account_balance_security.txt +0 -7
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/common_balance_inquiries.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/methods_to_check_balance.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/understanding_balance_updates.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/check_balance/what_to_do_if_balance_is_incorrect.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/benefits_of_authorised_payees.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/common_issues_with_payees.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/general_payee_information.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/payee_management_tips.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/manage_payees/understanding_payee_types.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/common_transfer_errors.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/fees_for_transfers.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/general_transfer_information.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/security_tips_for_transfers.txt +0 -8
- rasa/cli/project_templates/finance/docs/bank_of_rasa_faq/transfer_money/transfer_processing_times.txt +0 -8
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part1.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part10.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part11.txt +0 -48
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part12.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part13.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part14.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part15.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part16.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part17.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part18.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part19.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part2.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part20.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part21.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part22.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part23.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part24.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part25.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part26.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part27.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part28.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part29.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part3.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part30.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part31.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part32.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part33.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part34.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part35.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part36.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part37.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part38.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part39.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part4.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part40.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part41.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part42.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part43.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part44.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part45.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part46.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part47.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part48.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part49.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part5.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part50.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part51.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part52.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part53.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part54.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part55.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part56.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part57.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part58.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part59.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part6.txt +0 -47
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part60.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part61.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part7.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part8.txt +0 -50
- rasa/cli/project_templates/finance/docs/huggingface_alpaca_dataset/questions_part9.txt +0 -47
- rasa/cli/project_templates/finance/domain/accounts/check_balance.yml +0 -11
- rasa/cli/project_templates/finance/domain/cards/block_card.yml +0 -101
- rasa/cli/project_templates/finance/domain/cards/select_card.yml +0 -12
- rasa/cli/project_templates/finance/domain/general/assistant_details.yml +0 -12
- rasa/cli/project_templates/finance/domain/general/bot_identity.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/cannot_handle.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/defaults.yml +0 -24
- rasa/cli/project_templates/finance/domain/general/feedback.yml +0 -28
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +0 -7
- rasa/cli/project_templates/finance/domain/general/help.yml +0 -5
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +0 -30
- rasa/cli/project_templates/finance/domain/general/utils.yml +0 -13
- rasa/cli/project_templates/finance/domain/general/welcome.yml +0 -8
- rasa/cli/project_templates/finance/domain/transfers/add_payee.yml +0 -47
- rasa/cli/project_templates/finance/domain/transfers/list_payees.yml +0 -4
- rasa/cli/project_templates/finance/domain/transfers/remove_payee.yml +0 -16
- rasa/cli/project_templates/finance/domain/transfers/transfer_money.yml +0 -79
- rasa/cli/project_templates/finance/endpoints.yml +0 -63
- rasa/cli/project_templates/finance/prompts/rephraser_demo_personality_prompt.jinja2 +0 -19
- rasa/cli/project_templates/telco/actions/__init__.py +0 -0
- rasa/cli/project_templates/telco/actions/actions_billing.py +0 -204
- rasa/cli/project_templates/telco/actions/actions_get_data_from_db.py +0 -48
- rasa/cli/project_templates/telco/actions/actions_run_diagnostics.py +0 -28
- rasa/cli/project_templates/telco/actions/actions_session_start.py +0 -18
- rasa/cli/project_templates/telco/config.yml +0 -25
- rasa/cli/project_templates/telco/credentials.yml +0 -33
- rasa/cli/project_templates/telco/csvs/billing.csv +0 -10
- rasa/cli/project_templates/telco/csvs/customers.csv +0 -5
- rasa/cli/project_templates/telco/data/flows/flow_global.yml +0 -5
- rasa/cli/project_templates/telco/data/flows/flow_reboot_router.yml +0 -8
- rasa/cli/project_templates/telco/data/flows/flow_reset_router.yml +0 -7
- rasa/cli/project_templates/telco/data/flows/flow_solve_internet_issue.yml +0 -73
- rasa/cli/project_templates/telco/data/flows/flow_undertand_bill.yml +0 -45
- rasa/cli/project_templates/telco/data/patterns/pattern_completed.yml +0 -7
- rasa/cli/project_templates/telco/data/patterns/pattern_human_handoff.yml +0 -6
- rasa/cli/project_templates/telco/data/patterns/pattern_search.yml +0 -7
- rasa/cli/project_templates/telco/data/patterns/pattern_session_start.yml +0 -9
- rasa/cli/project_templates/telco/docs/reset_vs_rboot_router.txt +0 -1
- rasa/cli/project_templates/telco/docs/restart_router.txt +0 -6
- rasa/cli/project_templates/telco/docs/run_speed_test.txt +0 -6
- rasa/cli/project_templates/telco/domain/domain_global.yml +0 -29
- rasa/cli/project_templates/telco/domain/domain_patterns.yml +0 -17
- rasa/cli/project_templates/telco/domain/domain_reboot_router.yml +0 -20
- rasa/cli/project_templates/telco/domain/domain_reset_router.yml +0 -11
- rasa/cli/project_templates/telco/domain/domain_run_speed_test.yml +0 -24
- rasa/cli/project_templates/telco/domain/domain_solve_internet_issue.yml +0 -74
- rasa/cli/project_templates/telco/domain/domain_undertand_bill.yml +0 -102
- rasa/cli/project_templates/telco/endpoints.yml +0 -60
- rasa/cli/project_templates/telco/tests/e2e_results_failed.yml +0 -62
- rasa/cli/project_templates/telco/tests/e2e_results_passed.yml +0 -130
- rasa/cli/project_templates/telco/tests/e2e_test_cases/billing_test_cases.yml +0 -68
- rasa/cli/project_templates/telco/tests/e2e_test_cases/global_test_cases.yml +0 -13
- rasa/cli/project_templates/telco/tests/e2e_test_cases/internet_slow_test_case.yml +0 -47
- rasa/cli/project_templates/telco/tests/e2e_test_cases/out_of_scope_test_case.yml +0 -21
- rasa/cli/project_templates/telco/tests/e2e_test_cases/patterns_test_cases.yml +0 -15
- rasa/core/channels/constants.py +0 -3
- rasa/core/channels/inspector/dist/assets/channel-b9b536fc.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-78d2ddcf.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-8b09c060.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-4d4bdf3a.js +0 -1335
- rasa/utils/openapi.py +0 -144
- /rasa/{builder → agents}/__init__.py +0 -0
- /rasa/{builder/copilot → agents/core}/__init__.py +0 -0
- /rasa/{builder/copilot/prompts → agents/protocol/a2a}/__init__.py +0 -0
- /rasa/{builder/copilot/templated_messages → agents/protocol/mcp}/__init__.py +0 -0
- /rasa/{builder/document_retrieval → agents/templates}/__init__.py +0 -0
- /rasa/{cli/project_templates/finance/actions/accounts → shared/agents}/__init__.py +0 -0
- /rasa/{cli/project_templates/finance/actions/cards → shared/utils/mcp}/__init__.py +0 -0
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev6.dist-info}/NOTICE +0 -0
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev6.dist-info}/WHEEL +0 -0
- {rasa_pro-3.14.0.dev5.dist-info → rasa_pro-3.14.0.dev6.dist-info}/entry_points.txt +0 -0
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
version: "3.1"
|
|
2
|
-
|
|
3
|
-
slots:
|
|
4
|
-
account_from:
|
|
5
|
-
type: text
|
|
6
|
-
payee_name:
|
|
7
|
-
type: text
|
|
8
|
-
payee_exists:
|
|
9
|
-
type: bool
|
|
10
|
-
amount:
|
|
11
|
-
type: float
|
|
12
|
-
sufficient_funds:
|
|
13
|
-
type: bool
|
|
14
|
-
timing:
|
|
15
|
-
type: categorical
|
|
16
|
-
values:
|
|
17
|
-
- now
|
|
18
|
-
- future
|
|
19
|
-
payment_date:
|
|
20
|
-
type: text
|
|
21
|
-
confirm_immediate_payment:
|
|
22
|
-
type: bool
|
|
23
|
-
confirm_future_payment:
|
|
24
|
-
type: bool
|
|
25
|
-
payment_processed:
|
|
26
|
-
type: bool
|
|
27
|
-
payment_scheduled:
|
|
28
|
-
type: bool
|
|
29
|
-
valid_payment_date:
|
|
30
|
-
type: bool
|
|
31
|
-
future_payment_date:
|
|
32
|
-
type: bool
|
|
33
|
-
|
|
34
|
-
responses:
|
|
35
|
-
utter_transfer_money_understand:
|
|
36
|
-
- text: "Okay lets transfer money"
|
|
37
|
-
metadata:
|
|
38
|
-
rephrase: True
|
|
39
|
-
utter_ask_payee_name:
|
|
40
|
-
- text: "Which payee would you like to send money to?"
|
|
41
|
-
utter_ask_amount:
|
|
42
|
-
- text: "How much money would you like to transfer?"
|
|
43
|
-
utter_insufficient_funds:
|
|
44
|
-
- text: "I'm sorry, but you have insufficient funds for this transfer. Please enter a different amount"
|
|
45
|
-
utter_ask_timing:
|
|
46
|
-
- text: "When would you like this transfer to be made?"
|
|
47
|
-
buttons:
|
|
48
|
-
- title: Immediate
|
|
49
|
-
payload: "/SetSlots(timing=now)"
|
|
50
|
-
- title: Future
|
|
51
|
-
payload: "/SetSlots(timing=future)"
|
|
52
|
-
utter_ask_payment_date:
|
|
53
|
-
- text: "On which date would you like this payment to be made?"
|
|
54
|
-
utter_ask_confirm_future_payment:
|
|
55
|
-
- text: "A payment of ${amount} to {payee_name} will be scheduled for {payment_date}. Is this correct?"
|
|
56
|
-
utter_payment_scheduled:
|
|
57
|
-
- text: "Your payment of ${amount} to {payee_name} has been successfully scheduled for {payment_date}"
|
|
58
|
-
utter_ask_confirm_immediate_payment:
|
|
59
|
-
- text: "An immediate payment of ${amount} to {payee_name} will be processed. Is this correct?"
|
|
60
|
-
utter_transfer_successful:
|
|
61
|
-
- text: "Your transfer of ${amount} to {payee_name} has been successfully processed"
|
|
62
|
-
utter_cancel_transfer:
|
|
63
|
-
- text: "No problem. I will cancel this transfer"
|
|
64
|
-
utter_invalid_amount:
|
|
65
|
-
- text: "You have to enter an amount greater than 0"
|
|
66
|
-
metadata:
|
|
67
|
-
rephrase: True
|
|
68
|
-
utter_past_payment_date:
|
|
69
|
-
- text: "A future payment date cannot be in the past!"
|
|
70
|
-
metadata:
|
|
71
|
-
rephrase: True
|
|
72
|
-
|
|
73
|
-
actions:
|
|
74
|
-
- action_ask_account_from
|
|
75
|
-
- action_check_payee_existence
|
|
76
|
-
- action_check_sufficient_funds
|
|
77
|
-
- action_schedule_payment
|
|
78
|
-
- action_process_immediate_payment
|
|
79
|
-
- action_validate_payment_date
|
|
@@ -1,63 +0,0 @@
|
|
|
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: prompts/rephraser_demo_personality_prompt.jinja2
|
|
54
|
-
rephrase_all: False
|
|
55
|
-
|
|
56
|
-
model_groups:
|
|
57
|
-
- id: openai-gpt-4o
|
|
58
|
-
models:
|
|
59
|
-
- provider: openai
|
|
60
|
-
model: gpt-4o-2024-11-20
|
|
61
|
-
request_timeout: 7
|
|
62
|
-
max_tokens: 256
|
|
63
|
-
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
The following is a conversation with an AI assistant.
|
|
2
|
-
The assistant is professional, calm, and highly attentive to detail.
|
|
3
|
-
Its main priorities are efficiency, speed, and accuracy when handling user requests.
|
|
4
|
-
|
|
5
|
-
Please rephrase the suggested AI response, staying close to the original meaning while
|
|
6
|
-
ensuring the assistant's tone remains formal yet empathetic, friendly, and reassuring.
|
|
7
|
-
It should convey patience, even with vague or repetitive questions, and be clear,
|
|
8
|
-
informative, and slightly humorous where appropriate.
|
|
9
|
-
|
|
10
|
-
Write your responses in English
|
|
11
|
-
|
|
12
|
-
Context / previous conversation with the user:
|
|
13
|
-
{{history}}
|
|
14
|
-
|
|
15
|
-
{{current_input}}
|
|
16
|
-
|
|
17
|
-
Suggested AI Response: {{suggested_response}}
|
|
18
|
-
|
|
19
|
-
Rephrased AI Response:
|
|
File without changes
|
|
@@ -1,204 +0,0 @@
|
|
|
1
|
-
import csv
|
|
2
|
-
import logging
|
|
3
|
-
from datetime import datetime
|
|
4
|
-
from typing import Any, Dict, List
|
|
5
|
-
|
|
6
|
-
from rasa_sdk import Action
|
|
7
|
-
from rasa_sdk.events import SlotSet
|
|
8
|
-
from rasa_sdk.executor import CollectingDispatcher
|
|
9
|
-
from rasa_sdk.interfaces import Tracker
|
|
10
|
-
from rasa_sdk.types import DomainDict
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class ActionVerifyBillByDate(Action):
|
|
14
|
-
def name(self) -> str:
|
|
15
|
-
return "action_verify_bill_by_date"
|
|
16
|
-
|
|
17
|
-
@staticmethod
|
|
18
|
-
def text_to_date(month_text: str) -> str:
|
|
19
|
-
try:
|
|
20
|
-
# Get the current year
|
|
21
|
-
current_year = datetime.now().year
|
|
22
|
-
|
|
23
|
-
# Combine user input with the current year
|
|
24
|
-
full_text = f"{month_text} {current_year}"
|
|
25
|
-
|
|
26
|
-
# Parse the text format (e.g., "March 2025")
|
|
27
|
-
date_obj = datetime.strptime(full_text, "%B %Y")
|
|
28
|
-
|
|
29
|
-
# Format as DD/MM/YYYY (defaults to the first day of the month)
|
|
30
|
-
formatted_date = date_obj.strftime("01/%m/%Y")
|
|
31
|
-
logging.info(f"This is an info message: formatted_date: {formatted_date}")
|
|
32
|
-
return formatted_date
|
|
33
|
-
except ValueError:
|
|
34
|
-
return "Invalid format. Please use a full month name (e.g., 'March')."
|
|
35
|
-
|
|
36
|
-
def run(
|
|
37
|
-
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
38
|
-
) -> List[Dict[str, Any]]:
|
|
39
|
-
# Get customer ID and date from slots
|
|
40
|
-
customer_id = tracker.get_slot("customer_id")
|
|
41
|
-
bill_month = tracker.get_slot("bill_month")
|
|
42
|
-
|
|
43
|
-
bill_date = ActionVerifyBillByDate.text_to_date(bill_month)
|
|
44
|
-
|
|
45
|
-
if not customer_id:
|
|
46
|
-
dispatcher.utter_message(
|
|
47
|
-
"I couldn't find your customer ID. Please provide it."
|
|
48
|
-
)
|
|
49
|
-
return []
|
|
50
|
-
|
|
51
|
-
if not bill_date:
|
|
52
|
-
dispatcher.utter_message(
|
|
53
|
-
"Please specify the date for the bill you want to check."
|
|
54
|
-
)
|
|
55
|
-
return []
|
|
56
|
-
|
|
57
|
-
try:
|
|
58
|
-
# Load CSV file with billing data
|
|
59
|
-
with open("csvs/billing.csv", "r", newline="") as csvfile:
|
|
60
|
-
reader = csv.DictReader(csvfile)
|
|
61
|
-
|
|
62
|
-
# Convert bill_date to datetime for comparison
|
|
63
|
-
bill_date_obj = datetime.strptime(bill_date, "%d/%m/%Y")
|
|
64
|
-
|
|
65
|
-
# Filter data for the given customer and date
|
|
66
|
-
customer_bills = []
|
|
67
|
-
specific_bill = None
|
|
68
|
-
|
|
69
|
-
for row in reader:
|
|
70
|
-
if row["customer_id"] == str(customer_id):
|
|
71
|
-
# Parse the date from CSV
|
|
72
|
-
row_date = datetime.strptime(row["date"], "%Y-%m-%d")
|
|
73
|
-
row["amount"] = float(row["amount"])
|
|
74
|
-
customer_bills.append(row)
|
|
75
|
-
|
|
76
|
-
# Check if this is the specific bill we're looking for
|
|
77
|
-
if row_date.date() == bill_date_obj.date():
|
|
78
|
-
specific_bill = row
|
|
79
|
-
|
|
80
|
-
if specific_bill is None:
|
|
81
|
-
dispatcher.utter_message(
|
|
82
|
-
f"No bill found for {bill_date_obj.date()}."
|
|
83
|
-
)
|
|
84
|
-
return []
|
|
85
|
-
|
|
86
|
-
bill_amount = float(specific_bill["amount"])
|
|
87
|
-
|
|
88
|
-
# Calculate average
|
|
89
|
-
if customer_bills:
|
|
90
|
-
average_bill = sum(
|
|
91
|
-
float(bill["amount"]) for bill in customer_bills
|
|
92
|
-
) / len(customer_bills)
|
|
93
|
-
else:
|
|
94
|
-
average_bill = 0.0
|
|
95
|
-
|
|
96
|
-
difference = bill_amount - average_bill
|
|
97
|
-
|
|
98
|
-
# Generate response
|
|
99
|
-
response = (
|
|
100
|
-
f"Your bill for {bill_month} {bill_date_obj.date().year} is "
|
|
101
|
-
f"${bill_amount:.2f}. \n"
|
|
102
|
-
f"The average of your past bills is ${average_bill:.2f}. \n"
|
|
103
|
-
f"This bill is {'higher' if difference > 0 else 'lower'} than "
|
|
104
|
-
f"your average by ${abs(difference):.2f}."
|
|
105
|
-
)
|
|
106
|
-
|
|
107
|
-
dispatcher.utter_message(response)
|
|
108
|
-
return [
|
|
109
|
-
SlotSet("bill_amount", float(bill_amount)),
|
|
110
|
-
SlotSet("average_bill", float(average_bill)),
|
|
111
|
-
SlotSet("difference", float(difference)),
|
|
112
|
-
]
|
|
113
|
-
|
|
114
|
-
except FileNotFoundError:
|
|
115
|
-
dispatcher.utter_message("Billing data file not found.")
|
|
116
|
-
return []
|
|
117
|
-
except Exception:
|
|
118
|
-
dispatcher.utter_message("Error retrieving billing information.")
|
|
119
|
-
return []
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
class ActionRecapBill(Action):
|
|
123
|
-
def name(self) -> str:
|
|
124
|
-
return "action_recap_bill"
|
|
125
|
-
|
|
126
|
-
def run(
|
|
127
|
-
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
128
|
-
) -> List[Dict[str, Any]]:
|
|
129
|
-
# Get customer_id and bill_date from slots
|
|
130
|
-
customer_id = tracker.get_slot("customer_id")
|
|
131
|
-
bill_month = tracker.get_slot("bill_month")
|
|
132
|
-
|
|
133
|
-
bill_date = ActionVerifyBillByDate.text_to_date(bill_month)
|
|
134
|
-
|
|
135
|
-
if not customer_id:
|
|
136
|
-
dispatcher.utter_message(
|
|
137
|
-
"I need your customer ID to fetch your bill recap."
|
|
138
|
-
)
|
|
139
|
-
return []
|
|
140
|
-
|
|
141
|
-
if not bill_date:
|
|
142
|
-
dispatcher.utter_message(
|
|
143
|
-
"I need a date to fetch your bill recap. Can you provide one?"
|
|
144
|
-
)
|
|
145
|
-
return []
|
|
146
|
-
|
|
147
|
-
# Convert customer_id to int if needed
|
|
148
|
-
try:
|
|
149
|
-
customer_id = int(customer_id)
|
|
150
|
-
except ValueError:
|
|
151
|
-
dispatcher.utter_message("Invalid customer ID format.")
|
|
152
|
-
return []
|
|
153
|
-
|
|
154
|
-
try:
|
|
155
|
-
# Load CSV file
|
|
156
|
-
with open("csvs/billing.csv", "r", newline="") as csvfile:
|
|
157
|
-
reader = csv.DictReader(csvfile)
|
|
158
|
-
|
|
159
|
-
bill_date_obj = datetime.strptime(bill_date, "%d/%m/%Y")
|
|
160
|
-
|
|
161
|
-
# Filter records for the given customer_id
|
|
162
|
-
filtered_records: List[Dict[str, Any]] = []
|
|
163
|
-
for row in reader:
|
|
164
|
-
if row["customer_id"] == str(customer_id):
|
|
165
|
-
# Parse date and add to filtered records
|
|
166
|
-
row_date: datetime = datetime.strptime(row["date"], "%Y-%m-%d")
|
|
167
|
-
filtered_records.append(
|
|
168
|
-
{
|
|
169
|
-
"date": row_date.date(),
|
|
170
|
-
"amount": float(row["amount"]),
|
|
171
|
-
"source": row["source"],
|
|
172
|
-
}
|
|
173
|
-
)
|
|
174
|
-
|
|
175
|
-
if not filtered_records:
|
|
176
|
-
dispatcher.utter_message(
|
|
177
|
-
f"No transactions found for customer {customer_id} on "
|
|
178
|
-
f"{bill_date_obj.date().strftime('%B %Y')}."
|
|
179
|
-
)
|
|
180
|
-
return []
|
|
181
|
-
|
|
182
|
-
# Format the output
|
|
183
|
-
response1 = "Here is a summary of your costs :"
|
|
184
|
-
dispatcher.utter_message(response1)
|
|
185
|
-
response = "\n".join(
|
|
186
|
-
[
|
|
187
|
-
(
|
|
188
|
-
f"{record['date']} | {record['amount']} $ "
|
|
189
|
-
f"| {record['source']}"
|
|
190
|
-
)
|
|
191
|
-
for record in filtered_records
|
|
192
|
-
]
|
|
193
|
-
)
|
|
194
|
-
|
|
195
|
-
# Send response to user
|
|
196
|
-
dispatcher.utter_message(response)
|
|
197
|
-
return []
|
|
198
|
-
|
|
199
|
-
except FileNotFoundError:
|
|
200
|
-
dispatcher.utter_message("Billing data file not found.")
|
|
201
|
-
return []
|
|
202
|
-
except Exception:
|
|
203
|
-
dispatcher.utter_message("Error retrieving billing information.")
|
|
204
|
-
return []
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import csv
|
|
2
|
-
from typing import Dict, List
|
|
3
|
-
|
|
4
|
-
from rasa_sdk import Action
|
|
5
|
-
from rasa_sdk.events import SlotSet
|
|
6
|
-
from rasa_sdk.executor import CollectingDispatcher
|
|
7
|
-
from rasa_sdk.interfaces import Tracker
|
|
8
|
-
from rasa_sdk.types import DomainDict
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class ActionGetCustomerInfo(Action):
|
|
12
|
-
def name(self) -> str:
|
|
13
|
-
return "action_get_customer_info"
|
|
14
|
-
|
|
15
|
-
def run(
|
|
16
|
-
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
17
|
-
) -> List[Dict]:
|
|
18
|
-
# Load CSV file
|
|
19
|
-
file_path = "csvs/customers.csv" # get information from your DBs
|
|
20
|
-
customer_id = tracker.get_slot("customer_id")
|
|
21
|
-
|
|
22
|
-
try:
|
|
23
|
-
with open(file_path, "r", newline="") as csvfile:
|
|
24
|
-
reader = csv.DictReader(csvfile)
|
|
25
|
-
|
|
26
|
-
# Filter data for the given customer ID
|
|
27
|
-
customer_info = None
|
|
28
|
-
for row in reader:
|
|
29
|
-
if row["customer_id"] == str(customer_id):
|
|
30
|
-
customer_info = row
|
|
31
|
-
break
|
|
32
|
-
|
|
33
|
-
if customer_info is None:
|
|
34
|
-
dispatcher.utter_message("No customer found with this ID.")
|
|
35
|
-
return []
|
|
36
|
-
|
|
37
|
-
# Extract customer details
|
|
38
|
-
first_name = customer_info["first_name"]
|
|
39
|
-
|
|
40
|
-
# Set the retrieved name in a slot
|
|
41
|
-
return [SlotSet("customer_first_name", first_name)]
|
|
42
|
-
|
|
43
|
-
except FileNotFoundError:
|
|
44
|
-
dispatcher.utter_message("Customer database file not found.")
|
|
45
|
-
return []
|
|
46
|
-
except Exception:
|
|
47
|
-
dispatcher.utter_message("Error retrieving customer information.")
|
|
48
|
-
return []
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import asyncio
|
|
2
|
-
import random
|
|
3
|
-
|
|
4
|
-
from rasa_sdk import Action
|
|
5
|
-
from rasa_sdk.events import EventType, SlotSet
|
|
6
|
-
from rasa_sdk.executor import CollectingDispatcher
|
|
7
|
-
from rasa_sdk.interfaces import Tracker
|
|
8
|
-
from rasa_sdk.types import DomainDict
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
class ActionSleepAndRespond(Action):
|
|
12
|
-
def name(self) -> str:
|
|
13
|
-
return "actions_run_speed_test"
|
|
14
|
-
|
|
15
|
-
async def run(
|
|
16
|
-
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
17
|
-
) -> list[EventType]:
|
|
18
|
-
await asyncio.sleep(10)
|
|
19
|
-
dispatcher.utter_message(
|
|
20
|
-
text="Thank you for waiting... ✅ "
|
|
21
|
-
) # Send to the user
|
|
22
|
-
|
|
23
|
-
random_number = random.randint(
|
|
24
|
-
50, 150
|
|
25
|
-
) # we will pick randomly the internet speed here
|
|
26
|
-
# for local testing purposes you can define the number
|
|
27
|
-
# for Production testing connect to the API to get this data
|
|
28
|
-
return [SlotSet("network_speed", random_number)]
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import asyncio
|
|
2
|
-
|
|
3
|
-
from rasa_sdk import Action
|
|
4
|
-
from rasa_sdk.events import EventType
|
|
5
|
-
from rasa_sdk.executor import CollectingDispatcher
|
|
6
|
-
from rasa_sdk.interfaces import Tracker
|
|
7
|
-
from rasa_sdk.types import DomainDict
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
class ActionSleepAndRespond(Action):
|
|
11
|
-
def name(self) -> str:
|
|
12
|
-
return "action_sleep_few_sec"
|
|
13
|
-
|
|
14
|
-
async def run(
|
|
15
|
-
self, dispatcher: CollectingDispatcher, tracker: Tracker, domain: DomainDict
|
|
16
|
-
) -> list[EventType]:
|
|
17
|
-
await asyncio.sleep(3)
|
|
18
|
-
return []
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# The config recipe.
|
|
2
|
-
recipe: default.v1
|
|
3
|
-
|
|
4
|
-
# The assistant project unique identifier
|
|
5
|
-
# This default value must be replaced with a unique assistant name within your deployment
|
|
6
|
-
assistant_id: placeholder_default
|
|
7
|
-
|
|
8
|
-
language: en
|
|
9
|
-
pipeline:
|
|
10
|
-
- name: CompactLLMCommandGenerator
|
|
11
|
-
llm:
|
|
12
|
-
model_group: openai-gpt-4o
|
|
13
|
-
flow_retrieval:
|
|
14
|
-
active: false
|
|
15
|
-
prompt_template: prompts/command-generator.jinja2
|
|
16
|
-
|
|
17
|
-
# Configuration for Rasa Core.
|
|
18
|
-
policies:
|
|
19
|
-
- name: FlowPolicy
|
|
20
|
-
- name: EnterpriseSearchPolicy
|
|
21
|
-
vector_store:
|
|
22
|
-
type: "faiss"
|
|
23
|
-
source: "./docs"
|
|
24
|
-
llm:
|
|
25
|
-
model_group: openai-gpt-4o
|
|
@@ -1,33 +0,0 @@
|
|
|
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"
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
customer_id,date,amount,source
|
|
2
|
-
123,01/01/2025,150.50,Internet
|
|
3
|
-
123,01/02/2025,55.00,Internet
|
|
4
|
-
123,01/03/2025,60.00,Internet
|
|
5
|
-
124,01/01/2025,53.00,TV
|
|
6
|
-
124,01/02/2025,53.00,TV
|
|
7
|
-
124,01/03/2025,53.00,TV
|
|
8
|
-
125,01/01/2025,89.75,Mobile
|
|
9
|
-
125,01/02/2025,89.75,Mobile
|
|
10
|
-
125,01/03/2025,89.75,Mobile
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
flows:
|
|
2
|
-
reboot_router: # only reboot/restart the router
|
|
3
|
-
if: False
|
|
4
|
-
description: Help user reboot and restart their router, the user will be doing this action
|
|
5
|
-
steps:
|
|
6
|
-
- action: utter_explain_reboot_router
|
|
7
|
-
- collect: reboot_router
|
|
8
|
-
reset_after_flow_ends: true
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
flows:
|
|
2
|
-
fix_internet_slow: # flow name mandatory – this defines a conversational flow for running diagnostics.
|
|
3
|
-
description: Help users solve when internet is slow and provide solutions # description another madatory field this will be sent to CALM
|
|
4
|
-
steps:
|
|
5
|
-
- action: utter_acknowledge_issue # an utter a response that the assistant will display to the end user.
|
|
6
|
-
- action: action_sleep_few_sec # Adding sleep time in a chatbot conversation makes interactions feel more natural,
|
|
7
|
-
#improves readability, and simulates processing delays for a better user experience.
|
|
8
|
-
- call: run_diagnostics # Call a flow, this flow can be re-used multiple times.
|
|
9
|
-
# fix_internet_slow will (parent flow) call run_diagnostics (child flow)
|
|
10
|
-
# when you call a flow, you go to the child flow and then be back to the parent flow
|
|
11
|
-
# first call
|
|
12
|
-
next:
|
|
13
|
-
- if: slots.network_speed < 100 # the syntax is important it has to be slots, this slot has to be float as well
|
|
14
|
-
then:
|
|
15
|
-
- action: utter_acknowledge_speed_test_not_good
|
|
16
|
-
- action: action_sleep_few_sec
|
|
17
|
-
- action: utter_propose_reboot_router_solution
|
|
18
|
-
- action: action_sleep_few_sec
|
|
19
|
-
- call: reboot_router
|
|
20
|
-
next:
|
|
21
|
-
- if: slots.reboot_router # this slot is boolean
|
|
22
|
-
then:
|
|
23
|
-
- call: run_diagnostics # Second call
|
|
24
|
-
next:
|
|
25
|
-
- if: slots.network_speed > 100
|
|
26
|
-
then:
|
|
27
|
-
- action: action_sleep_few_sec
|
|
28
|
-
- action: utter_speed_issue_resolved
|
|
29
|
-
next: "END" # this has to be added, either next END to explain the flow end or point to another section
|
|
30
|
-
- else:
|
|
31
|
-
- action: action_sleep_few_sec
|
|
32
|
-
- action: utter_speed_issue_not_resolved
|
|
33
|
-
- call: reset_router
|
|
34
|
-
- action: utter_final_diagnistics_run
|
|
35
|
-
- call: run_diagnostics # Third call
|
|
36
|
-
next:
|
|
37
|
-
- if: slots.network_speed < 100
|
|
38
|
-
then:
|
|
39
|
-
- action: utter_acknowledge_speed_test_not_good
|
|
40
|
-
- action: utter_fail_to_find_fix
|
|
41
|
-
- link: pattern_human_handoff # when you link a flow, you go to the child flow and then the flow ends there.
|
|
42
|
-
- else:
|
|
43
|
-
- action: action_sleep_few_sec
|
|
44
|
-
- action: utter_final_try_worked
|
|
45
|
-
- action: utter_speed_issue_resolved
|
|
46
|
-
next: "END"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
- else:
|
|
50
|
-
- link: pattern_human_handoff
|
|
51
|
-
- else:
|
|
52
|
-
- action: utter_speed_network_not_issue
|
|
53
|
-
- action: action_sleep_few_sec
|
|
54
|
-
- action: utter_propose_other_solutions
|
|
55
|
-
- action: action_sleep_few_sec
|
|
56
|
-
- collect: more_help_needed
|
|
57
|
-
next:
|
|
58
|
-
- if: slots.more_help_needed
|
|
59
|
-
then:
|
|
60
|
-
- link: pattern_human_handoff
|
|
61
|
-
- else:
|
|
62
|
-
- action: action_sleep_few_sec
|
|
63
|
-
- action: utter_final_help
|
|
64
|
-
next: "END"
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
run_diagnostics:
|
|
68
|
-
if: False # Conditional check – this flow will not run unless this condition is verified.
|
|
69
|
-
#when it is False this means this flow will only be run if it is called by another flow, not the user.
|
|
70
|
-
description: run diagnostics to check the internet speed for the user
|
|
71
|
-
steps:
|
|
72
|
-
- action: utter_communicate_run_diagnosticss
|
|
73
|
-
- action: actions_run_speed_test
|