rasa-pro 3.14.0a20__py3-none-any.whl → 3.14.0a23__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of rasa-pro might be problematic. Click here for more details.
- rasa/__main__.py +15 -3
- rasa/agents/__init__.py +0 -0
- rasa/agents/agent_factory.py +122 -0
- rasa/agents/agent_manager.py +211 -0
- rasa/agents/constants.py +43 -0
- rasa/agents/core/__init__.py +0 -0
- rasa/agents/core/agent_protocol.py +107 -0
- rasa/agents/core/types.py +81 -0
- rasa/agents/exceptions.py +38 -0
- rasa/agents/protocol/__init__.py +5 -0
- rasa/agents/protocol/a2a/__init__.py +0 -0
- rasa/agents/protocol/a2a/a2a_agent.py +879 -0
- rasa/agents/protocol/mcp/__init__.py +0 -0
- rasa/agents/protocol/mcp/mcp_base_agent.py +726 -0
- rasa/agents/protocol/mcp/mcp_open_agent.py +327 -0
- rasa/agents/protocol/mcp/mcp_task_agent.py +522 -0
- rasa/agents/schemas/__init__.py +13 -0
- rasa/agents/schemas/agent_input.py +38 -0
- rasa/agents/schemas/agent_output.py +26 -0
- rasa/agents/schemas/agent_tool_result.py +65 -0
- rasa/agents/schemas/agent_tool_schema.py +186 -0
- rasa/agents/templates/__init__.py +0 -0
- rasa/agents/templates/mcp_open_agent_prompt_template.jinja2 +20 -0
- rasa/agents/templates/mcp_task_agent_prompt_template.jinja2 +22 -0
- rasa/agents/utils.py +206 -0
- rasa/agents/validation.py +485 -0
- rasa/api.py +24 -9
- rasa/builder/config.py +6 -2
- rasa/builder/guardrails/{lakera.py → clients.py} +55 -5
- rasa/builder/guardrails/constants.py +3 -0
- rasa/builder/guardrails/models.py +45 -10
- rasa/builder/guardrails/policy_checker.py +324 -0
- rasa/builder/guardrails/utils.py +42 -276
- rasa/builder/llm_service.py +32 -5
- rasa/builder/models.py +1 -0
- rasa/builder/project_generator.py +6 -1
- rasa/builder/service.py +16 -13
- rasa/builder/training_service.py +18 -24
- rasa/builder/validation_service.py +1 -1
- rasa/cli/arguments/default_arguments.py +12 -0
- rasa/cli/arguments/run.py +2 -0
- rasa/cli/arguments/train.py +2 -0
- rasa/cli/data.py +10 -8
- rasa/cli/dialogue_understanding_test.py +10 -7
- rasa/cli/e2e_test.py +9 -6
- rasa/cli/evaluate.py +4 -2
- rasa/cli/export.py +5 -2
- rasa/cli/inspect.py +8 -4
- rasa/cli/interactive.py +5 -4
- rasa/cli/llm_fine_tuning.py +11 -6
- rasa/cli/project_templates/finance/actions/general/__init__.py +0 -0
- rasa/cli/project_templates/finance/actions/general/action_human_handoff.py +49 -0
- rasa/cli/project_templates/finance/data/general/bot_challenge.yml +6 -0
- rasa/cli/project_templates/finance/data/general/goodbye.yml +1 -1
- rasa/cli/project_templates/finance/data/general/human_handoff.yml +1 -1
- rasa/cli/project_templates/finance/data/system/patterns/pattern_session_start.yml +1 -1
- rasa/cli/project_templates/finance/domain/general/_shared.yml +0 -14
- rasa/cli/project_templates/finance/domain/general/bot_challenge.yml +4 -0
- rasa/cli/project_templates/finance/domain/general/goodbye.yml +7 -0
- rasa/cli/project_templates/finance/domain/general/human_handoff.yml +3 -6
- rasa/cli/project_templates/finance/domain/general/welcome.yml +29 -1
- rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/check_balance.yml +9 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/accounts/download_statements.yml +43 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/cards/block_card.yml +55 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/bot_challenge.yml +8 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/feedback.yml +46 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/goodbye.yml +9 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/hello.yml +8 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/human_handoff.yml +35 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/general/patterns.yml +22 -0
- rasa/cli/project_templates/finance/tests/e2e_test_cases/transfers/transfer_money.yml +56 -0
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/feedback.yml +1 -1
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/hello.yml +1 -1
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/human_handoff.yml +1 -1
- rasa/cli/project_templates/telco/tests/e2e_test_cases/general/patterns.yml +1 -1
- rasa/cli/project_templates/tutorial/credentials.yml +10 -0
- rasa/cli/run.py +12 -10
- rasa/cli/scaffold.py +4 -4
- rasa/cli/shell.py +9 -5
- rasa/cli/studio/studio.py +1 -1
- rasa/cli/test.py +34 -14
- rasa/cli/train.py +41 -28
- rasa/cli/utils.py +1 -393
- rasa/cli/validation/__init__.py +0 -0
- rasa/cli/validation/bot_config.py +223 -0
- rasa/cli/validation/config_path_validation.py +257 -0
- rasa/cli/x.py +8 -4
- rasa/constants.py +7 -1
- rasa/core/actions/action.py +51 -10
- rasa/core/actions/action_run_slot_rejections.py +1 -1
- rasa/core/actions/direct_custom_actions_executor.py +9 -2
- rasa/core/actions/grpc_custom_action_executor.py +1 -1
- rasa/core/agent.py +19 -2
- rasa/core/available_agents.py +229 -0
- rasa/core/brokers/kafka.py +1 -1
- rasa/core/channels/__init__.py +82 -35
- rasa/core/channels/development_inspector.py +3 -3
- rasa/core/channels/inspector/README.md +25 -13
- rasa/core/channels/inspector/dist/assets/{arc-35222594.js → arc-6177260a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{blockDiagram-38ab4fdb-a0efbfd3.js → blockDiagram-38ab4fdb-b054f038.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-3d4e48cf-0584c0f2.js → c4Diagram-3d4e48cf-f25427d5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/channel-bf9cbb34.js +1 -0
- rasa/core/channels/inspector/dist/assets/{classDiagram-70f12bd4-39f40dbe.js → classDiagram-70f12bd4-c7a2af53.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-f2320105-1ad755f3.js → classDiagram-v2-f2320105-58db65c0.js} +1 -1
- rasa/core/channels/inspector/dist/assets/clone-8f9083bb.js +1 -0
- rasa/core/channels/inspector/dist/assets/{createText-2e5e7dd3-b0f4f0fe.js → createText-2e5e7dd3-088372e2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-e0da2a9e-9039bff9.js → edges-e0da2a9e-58676240.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9861fffd-65c9b127.js → erDiagram-9861fffd-0c14d7c6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-956e92f1-4f08b38e.js → flowDb-956e92f1-ea63f85c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-66a62f08-e95c362a.js → flowDiagram-66a62f08-a2af48cd.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-9ecd5b59.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-4a651766-703c3015.js → flowchart-elk-definition-4a651766-6937abe7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-c361ad54-699328ea.js → ganttDiagram-c361ad54-7473f357.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-72cf32ee-04cf4b05.js → gitGraphDiagram-72cf32ee-d0c9405e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{graph-ee94449e.js → graph-0a6f8466.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-3862675e-940162b4.js → index-3862675e-7610671a.js} +1 -1
- rasa/core/channels/inspector/dist/assets/index-74e01d94.js +1354 -0
- rasa/core/channels/inspector/dist/assets/{infoDiagram-f8f76790-c79c2866.js → infoDiagram-f8f76790-be397dc7.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-49397b02-84489d30.js → journeyDiagram-49397b02-4cefbf62.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-a9aa9858.js → layout-e7fbc2bf.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-eb73cf26.js → line-a8aa457c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-b3399f9a.js → linear-3351e0d2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-fc14e90a-b095bf1a.js → mindmap-definition-fc14e90a-b8cbf605.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-8a3498a8-07644b66.js → pieDiagram-8a3498a8-f327f774.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-120e2f19-573a3f9c.js → quadrantDiagram-120e2f19-2854c591.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-deff3bca-d457e1e1.js → requirementDiagram-deff3bca-964985d5.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-04a897e0-9d26e1a2.js → sankeyDiagram-04a897e0-edeb4f33.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-704730f1-3a9cde10.js → sequenceDiagram-704730f1-fcf70125.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-587899a1-4f3e8cec.js → stateDiagram-587899a1-0e770395.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-d93cdb3a-e617e5bf.js → stateDiagram-v2-d93cdb3a-af8dcd22.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-6aaf32cf-eab30d2f.js → styles-6aaf32cf-36a9e70d.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9a916d00-09994be2.js → styles-9a916d00-884a8b5b.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-c10674c1-b7110364.js → styles-c10674c1-dc097813.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-08f97a94-3ebc92ad.js → svgDrawCommon-08f97a94-5a2c7eed.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-85554ec2-7d13d2f2.js → timeline-definition-85554ec2-e89c4f6e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-e933f94c-488385e1.js → xychartDiagram-e933f94c-afb6fe56.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +1 -1
- rasa/core/channels/inspector/package.json +18 -18
- rasa/core/channels/inspector/src/App.tsx +29 -4
- rasa/core/channels/inspector/src/components/DialogueAgentStack.tsx +108 -0
- rasa/core/channels/inspector/src/components/{DialogueStack.tsx → DialogueHistoryStack.tsx} +4 -2
- rasa/core/channels/inspector/src/helpers/audio/audiostream.ts +7 -4
- rasa/core/channels/inspector/src/helpers/formatters.test.ts +4 -0
- rasa/core/channels/inspector/src/helpers/formatters.ts +24 -3
- rasa/core/channels/inspector/src/helpers/utils.test.ts +127 -0
- rasa/core/channels/inspector/src/helpers/utils.ts +66 -1
- rasa/core/channels/inspector/src/theme/base/styles.ts +19 -1
- rasa/core/channels/inspector/src/types.ts +21 -0
- rasa/core/channels/inspector/yarn.lock +336 -189
- rasa/core/channels/studio_chat.py +6 -6
- rasa/core/channels/telegram.py +4 -9
- rasa/core/channels/voice_stream/browser_audio.py +2 -0
- rasa/core/channels/voice_stream/genesys.py +1 -1
- rasa/core/channels/voice_stream/tts/deepgram.py +140 -0
- rasa/core/channels/voice_stream/twilio_media_streams.py +5 -1
- rasa/core/channels/voice_stream/voice_channel.py +3 -0
- rasa/core/config/__init__.py +0 -0
- rasa/core/{available_endpoints.py → config/available_endpoints.py} +51 -16
- rasa/core/config/configuration.py +260 -0
- rasa/core/config/credentials.py +19 -0
- rasa/core/config/message_procesing_config.py +34 -0
- rasa/core/constants.py +5 -0
- rasa/core/iam_credentials_providers/aws_iam_credentials_providers.py +88 -3
- rasa/core/iam_credentials_providers/credentials_provider_protocol.py +2 -1
- rasa/core/lock_store.py +6 -4
- rasa/core/nlg/generator.py +1 -1
- rasa/core/policies/enterprise_search_policy.py +5 -3
- rasa/core/policies/flow_policy.py +4 -4
- rasa/core/policies/flows/agent_executor.py +632 -0
- rasa/core/policies/flows/flow_executor.py +137 -76
- rasa/core/policies/flows/mcp_tool_executor.py +298 -0
- rasa/core/policies/intentless_policy.py +1 -1
- rasa/core/policies/ted_policy.py +20 -12
- rasa/core/policies/unexpected_intent_policy.py +6 -0
- rasa/core/processor.py +68 -44
- rasa/core/redis_connection_factory.py +78 -20
- rasa/core/run.py +37 -8
- rasa/core/test.py +4 -0
- rasa/core/tracker_stores/sql_tracker_store.py +1 -1
- rasa/core/tracker_stores/tracker_store.py +3 -7
- rasa/core/train.py +1 -1
- rasa/core/training/interactive.py +20 -18
- rasa/core/training/story_conflict.py +5 -5
- rasa/core/utils.py +22 -23
- rasa/dialogue_understanding/commands/__init__.py +8 -0
- rasa/dialogue_understanding/commands/cancel_flow_command.py +19 -5
- rasa/dialogue_understanding/commands/chit_chat_answer_command.py +21 -2
- rasa/dialogue_understanding/commands/clarify_command.py +20 -2
- rasa/dialogue_understanding/commands/continue_agent_command.py +91 -0
- rasa/dialogue_understanding/commands/knowledge_answer_command.py +21 -2
- rasa/dialogue_understanding/commands/restart_agent_command.py +162 -0
- rasa/dialogue_understanding/commands/start_flow_command.py +68 -7
- rasa/dialogue_understanding/commands/utils.py +124 -2
- rasa/dialogue_understanding/generator/command_parser.py +4 -0
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +50 -12
- rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_claude_3_5_sonnet_20240620_template.jinja2 +66 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v2_gpt_4o_2024_11_20_template.jinja2 +66 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_claude_3_5_sonnet_20240620_template.jinja2 +89 -0
- rasa/dialogue_understanding/generator/prompt_templates/agent_command_prompt_v3_gpt_4o_2024_11_20_template.jinja2 +88 -0
- rasa/dialogue_understanding/generator/single_step/compact_llm_command_generator.py +42 -7
- rasa/dialogue_understanding/generator/single_step/search_ready_llm_command_generator.py +40 -3
- rasa/dialogue_understanding/generator/single_step/single_step_based_llm_command_generator.py +20 -3
- rasa/dialogue_understanding/patterns/cancel.py +27 -6
- rasa/dialogue_understanding/patterns/clarify.py +3 -14
- rasa/dialogue_understanding/patterns/continue_interrupted.py +239 -6
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +46 -8
- rasa/dialogue_understanding/processor/command_processor.py +136 -15
- rasa/dialogue_understanding/stack/dialogue_stack.py +98 -2
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +57 -0
- rasa/dialogue_understanding/stack/utils.py +57 -3
- rasa/dialogue_understanding/utils.py +24 -4
- rasa/dialogue_understanding_test/du_test_runner.py +8 -3
- rasa/e2e_test/e2e_test_runner.py +13 -3
- rasa/engine/caching.py +2 -2
- rasa/engine/constants.py +1 -1
- rasa/engine/loader.py +12 -0
- rasa/engine/recipes/default_components.py +138 -49
- rasa/engine/recipes/default_recipe.py +108 -11
- rasa/engine/runner/dask.py +8 -5
- rasa/engine/validation.py +19 -6
- rasa/graph_components/validators/default_recipe_validator.py +86 -28
- rasa/hooks.py +5 -5
- rasa/llm_fine_tuning/utils.py +2 -2
- rasa/model_training.py +60 -47
- rasa/nlu/classifiers/diet_classifier.py +198 -98
- rasa/nlu/classifiers/logistic_regression_classifier.py +1 -4
- rasa/nlu/classifiers/mitie_intent_classifier.py +3 -0
- rasa/nlu/classifiers/sklearn_intent_classifier.py +1 -3
- rasa/nlu/extractors/crf_entity_extractor.py +9 -10
- rasa/nlu/extractors/mitie_entity_extractor.py +3 -0
- rasa/nlu/extractors/spacy_entity_extractor.py +3 -0
- rasa/nlu/featurizers/dense_featurizer/convert_featurizer.py +4 -0
- rasa/nlu/featurizers/dense_featurizer/lm_featurizer.py +5 -0
- rasa/nlu/featurizers/dense_featurizer/mitie_featurizer.py +2 -0
- rasa/nlu/featurizers/dense_featurizer/spacy_featurizer.py +3 -0
- rasa/nlu/featurizers/sparse_featurizer/count_vectors_featurizer.py +4 -2
- rasa/nlu/featurizers/sparse_featurizer/lexical_syntactic_featurizer.py +4 -0
- rasa/nlu/selectors/response_selector.py +10 -2
- rasa/nlu/tokenizers/jieba_tokenizer.py +3 -4
- rasa/nlu/tokenizers/mitie_tokenizer.py +3 -2
- rasa/nlu/tokenizers/spacy_tokenizer.py +3 -2
- rasa/nlu/utils/mitie_utils.py +3 -0
- rasa/nlu/utils/spacy_utils.py +3 -2
- rasa/plugin.py +8 -8
- rasa/privacy/privacy_manager.py +12 -3
- rasa/server.py +15 -3
- rasa/shared/agents/__init__.py +0 -0
- rasa/shared/agents/auth/__init__.py +0 -0
- rasa/shared/agents/auth/agent_auth_factory.py +105 -0
- rasa/shared/agents/auth/agent_auth_manager.py +92 -0
- rasa/shared/agents/auth/auth_strategy/__init__.py +19 -0
- rasa/shared/agents/auth/auth_strategy/agent_auth_strategy.py +52 -0
- rasa/shared/agents/auth/auth_strategy/api_key_auth_strategy.py +42 -0
- rasa/shared/agents/auth/auth_strategy/bearer_token_auth_strategy.py +28 -0
- rasa/shared/agents/auth/auth_strategy/oauth2_auth_strategy.py +167 -0
- rasa/shared/agents/auth/constants.py +12 -0
- rasa/shared/agents/auth/types.py +12 -0
- rasa/shared/agents/utils.py +35 -0
- rasa/shared/constants.py +8 -0
- rasa/shared/core/constants.py +16 -1
- rasa/shared/core/domain.py +0 -7
- rasa/shared/core/events.py +327 -0
- rasa/shared/core/flows/constants.py +5 -0
- rasa/shared/core/flows/flow.py +1 -1
- rasa/shared/core/flows/flows_list.py +21 -5
- rasa/shared/core/flows/flows_yaml_schema.json +119 -184
- rasa/shared/core/flows/steps/call.py +49 -5
- rasa/shared/core/flows/steps/collect.py +98 -13
- rasa/shared/core/flows/validation.py +372 -8
- rasa/shared/core/flows/yaml_flows_io.py +3 -2
- rasa/shared/core/slots.py +2 -2
- rasa/shared/core/trackers.py +5 -2
- rasa/shared/exceptions.py +16 -0
- rasa/shared/importers/rasa.py +1 -1
- rasa/shared/importers/utils.py +9 -3
- rasa/shared/providers/llm/_base_litellm_client.py +41 -9
- rasa/shared/providers/llm/litellm_router_llm_client.py +8 -4
- rasa/shared/providers/llm/llm_client.py +7 -3
- rasa/shared/providers/llm/llm_response.py +66 -0
- rasa/shared/providers/llm/self_hosted_llm_client.py +8 -4
- rasa/shared/utils/common.py +24 -0
- rasa/shared/utils/health_check/health_check.py +7 -3
- rasa/shared/utils/llm.py +39 -16
- rasa/shared/utils/mcp/__init__.py +0 -0
- rasa/shared/utils/mcp/server_connection.py +247 -0
- rasa/shared/utils/mcp/utils.py +20 -0
- rasa/shared/utils/schemas/events.py +42 -0
- rasa/shared/utils/yaml.py +3 -1
- rasa/studio/pull/pull.py +3 -2
- rasa/studio/train.py +8 -7
- rasa/studio/upload.py +3 -6
- rasa/telemetry.py +69 -5
- rasa/tracing/config.py +45 -12
- rasa/tracing/constants.py +14 -0
- rasa/tracing/instrumentation/attribute_extractors.py +142 -9
- rasa/tracing/instrumentation/instrumentation.py +626 -21
- rasa/tracing/instrumentation/intentless_policy_instrumentation.py +4 -4
- rasa/tracing/instrumentation/metrics.py +32 -0
- rasa/tracing/metric_instrument_provider.py +68 -0
- rasa/utils/common.py +92 -1
- rasa/utils/endpoints.py +11 -2
- rasa/utils/log_utils.py +96 -5
- rasa/utils/ml_utils.py +1 -1
- rasa/utils/pypred.py +38 -0
- rasa/utils/tensorflow/__init__.py +7 -0
- rasa/utils/tensorflow/callback.py +136 -101
- rasa/utils/tensorflow/crf.py +1 -1
- rasa/utils/tensorflow/data_generator.py +21 -8
- rasa/utils/tensorflow/layers.py +21 -11
- rasa/utils/tensorflow/metrics.py +7 -3
- rasa/utils/tensorflow/models.py +56 -8
- rasa/utils/tensorflow/rasa_layers.py +8 -6
- rasa/utils/tensorflow/transformer.py +2 -3
- rasa/utils/train_utils.py +54 -24
- rasa/validator.py +17 -13
- rasa/version.py +1 -1
- {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/METADATA +48 -42
- {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/RECORD +323 -251
- rasa/builder/scrape_rasa_docs.py +0 -97
- rasa/cli/project_templates/finance/data/general/agent_details.yml +0 -6
- rasa/cli/project_templates/finance/domain/_system/patterns/pattern_session_start.yml +0 -11
- rasa/cli/project_templates/finance/domain/general/agent_details.yml +0 -31
- rasa/core/channels/inspector/dist/assets/channel-8e08bed9.js +0 -1
- rasa/core/channels/inspector/dist/assets/clone-78c82dea.js +0 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-96b9c2cf-2b08f601.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-c941dcb3.js +0 -1336
- {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/NOTICE +0 -0
- {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/WHEEL +0 -0
- {rasa_pro-3.14.0a20.dist-info → rasa_pro-3.14.0a23.dist-info}/entry_points.txt +0 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: block card (happy path)
|
|
3
|
+
steps:
|
|
4
|
+
- user: "Temporarily block my Visa."
|
|
5
|
+
assertions:
|
|
6
|
+
- slot_was_set:
|
|
7
|
+
- name: "card_block_type"
|
|
8
|
+
value: "temporary"
|
|
9
|
+
- flow_started: "block_card"
|
|
10
|
+
- bot_uttered:
|
|
11
|
+
utter_name: "utter_start_block_card"
|
|
12
|
+
- bot_uttered:
|
|
13
|
+
utter_name: "utter_ask_bank_card_number"
|
|
14
|
+
- user: "1234 5678 9012 3456"
|
|
15
|
+
assertions:
|
|
16
|
+
- slot_was_set:
|
|
17
|
+
- name: "bank_card_number"
|
|
18
|
+
value: "1234 5678 9012 3456"
|
|
19
|
+
- action_executed: "check_that_card_exists"
|
|
20
|
+
- bot_uttered:
|
|
21
|
+
utter_name: "utter_ask_block_card_confirmation"
|
|
22
|
+
- user: "/SetSlots(confirmation=true)"
|
|
23
|
+
assertions:
|
|
24
|
+
- slot_was_set:
|
|
25
|
+
- name: "confirmation"
|
|
26
|
+
value: true
|
|
27
|
+
- bot_uttered:
|
|
28
|
+
utter_name: "utter_freeze_card_successful"
|
|
29
|
+
- test_case: block card (unhappy path)
|
|
30
|
+
steps:
|
|
31
|
+
- user: "Temporarily block my Visa."
|
|
32
|
+
assertions:
|
|
33
|
+
- slot_was_set:
|
|
34
|
+
- name: "card_block_type"
|
|
35
|
+
value: "temporary"
|
|
36
|
+
- flow_started: "block_card"
|
|
37
|
+
- bot_uttered:
|
|
38
|
+
utter_name: "utter_start_block_card"
|
|
39
|
+
- bot_uttered:
|
|
40
|
+
utter_name: "utter_ask_bank_card_number"
|
|
41
|
+
- user: "1234 5678 9012 3456"
|
|
42
|
+
assertions:
|
|
43
|
+
- slot_was_set:
|
|
44
|
+
- name: "bank_card_number"
|
|
45
|
+
value: "1234 5678 9012 3456"
|
|
46
|
+
- action_executed: "check_that_card_exists"
|
|
47
|
+
- bot_uttered:
|
|
48
|
+
utter_name: "utter_ask_block_card_confirmation"
|
|
49
|
+
- user: "/SetSlots(confirmation=false)"
|
|
50
|
+
assertions:
|
|
51
|
+
- slot_was_set:
|
|
52
|
+
- name: "confirmation"
|
|
53
|
+
value: false
|
|
54
|
+
- bot_uttered:
|
|
55
|
+
utter_name: "utter_block_card_cancelled"
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: positive feedback
|
|
3
|
+
steps:
|
|
4
|
+
- user: "goodbye"
|
|
5
|
+
assertions:
|
|
6
|
+
- flow_started: "goodbye"
|
|
7
|
+
- bot_uttered:
|
|
8
|
+
utter_name: "utter_goodbye"
|
|
9
|
+
- flow_started: "leave_feedback"
|
|
10
|
+
- bot_uttered:
|
|
11
|
+
utter_name: "utter_ask_feedback_rating"
|
|
12
|
+
buttons:
|
|
13
|
+
- title: "👍 Great"
|
|
14
|
+
payload: "/SetSlots(feedback_rating=thumbs_up)"
|
|
15
|
+
- title: "👎 Could be better"
|
|
16
|
+
payload: "/SetSlots(feedback_rating=thumbs_down)"
|
|
17
|
+
- user: "/SetSlots(feedback_rating=thumbs_up)"
|
|
18
|
+
assertions:
|
|
19
|
+
- slot_was_set:
|
|
20
|
+
- name: "feedback_rating"
|
|
21
|
+
value: "thumbs_up"
|
|
22
|
+
- bot_uttered:
|
|
23
|
+
utter_name: "utter_thankyou_positive"
|
|
24
|
+
#
|
|
25
|
+
- test_case: negative feedback
|
|
26
|
+
steps:
|
|
27
|
+
- user: "goodbye"
|
|
28
|
+
assertions:
|
|
29
|
+
- flow_started: "goodbye"
|
|
30
|
+
- bot_uttered:
|
|
31
|
+
utter_name: "utter_goodbye"
|
|
32
|
+
- flow_started: "leave_feedback"
|
|
33
|
+
- bot_uttered:
|
|
34
|
+
utter_name: "utter_ask_feedback_rating"
|
|
35
|
+
buttons:
|
|
36
|
+
- title: "👍 Great"
|
|
37
|
+
payload: "/SetSlots(feedback_rating=thumbs_up)"
|
|
38
|
+
- title: "👎 Could be better"
|
|
39
|
+
payload: "/SetSlots(feedback_rating=thumbs_down)"
|
|
40
|
+
- user: "/SetSlots(feedback_rating=thumbs_down)"
|
|
41
|
+
assertions:
|
|
42
|
+
- slot_was_set:
|
|
43
|
+
- name: "feedback_rating"
|
|
44
|
+
value: "thumbs_down"
|
|
45
|
+
- bot_uttered:
|
|
46
|
+
utter_name: "utter_thankyou_negative"
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: human handoff happy path
|
|
3
|
+
steps:
|
|
4
|
+
- user: "I would like to speak with a human"
|
|
5
|
+
assertions:
|
|
6
|
+
- flow_started: "human_handoff"
|
|
7
|
+
- bot_uttered:
|
|
8
|
+
utter_name: "utter_ask_confirm_human_handoff"
|
|
9
|
+
buttons:
|
|
10
|
+
- payload: "/SetSlots(confirm_human_handoff=True)"
|
|
11
|
+
title: "Yes"
|
|
12
|
+
- payload: "/SetSlots(confirm_human_handoff=False)"
|
|
13
|
+
title: "No"
|
|
14
|
+
- user: "Yes"
|
|
15
|
+
assertions:
|
|
16
|
+
- bot_uttered:
|
|
17
|
+
utter_name: "utter_transferring_to_human"
|
|
18
|
+
- action_executed: action_human_handoff
|
|
19
|
+
# ====================================================>
|
|
20
|
+
- test_case: human handoff unhappy path
|
|
21
|
+
steps:
|
|
22
|
+
- user: "I would like to speak with a human"
|
|
23
|
+
assertions:
|
|
24
|
+
- flow_started: "human_handoff"
|
|
25
|
+
- bot_uttered:
|
|
26
|
+
utter_name: "utter_ask_confirm_human_handoff"
|
|
27
|
+
buttons:
|
|
28
|
+
- payload: "/SetSlots(confirm_human_handoff=True)"
|
|
29
|
+
title: "Yes"
|
|
30
|
+
- payload: "/SetSlots(confirm_human_handoff=False)"
|
|
31
|
+
title: "No"
|
|
32
|
+
- user: "No"
|
|
33
|
+
assertions:
|
|
34
|
+
- bot_uttered:
|
|
35
|
+
utter_name: "utter_human_handoff_cancelled"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: test pattern search
|
|
3
|
+
steps:
|
|
4
|
+
- user: "How secure are my online payments?"
|
|
5
|
+
assertions:
|
|
6
|
+
- generative_response_is_grounded:
|
|
7
|
+
threshold: 0.8
|
|
8
|
+
ground_truth: "Online payments are protected by 3D Secure which redirects to the Fenlo app for approval, real-time transaction notifications, merchant verification, secure card tokens (no real card details shared), and virtual card numbers for online shopping."
|
|
9
|
+
- user: "How do I upgrade to Premium or Metal?"
|
|
10
|
+
assertions:
|
|
11
|
+
- flow_completed:
|
|
12
|
+
flow_id: "pattern_search"
|
|
13
|
+
- generative_response_is_grounded:
|
|
14
|
+
threshold: 0.8
|
|
15
|
+
ground_truth: "Go to 'Account' in the Fenlo app, select 'Upgrade to Premium/Metal', choose your preferred plan, and confirm your payment details. Premium and Metal features are active immediately upon subscription."
|
|
16
|
+
- test_case: test pattern session start
|
|
17
|
+
steps:
|
|
18
|
+
- user: "/session_start"
|
|
19
|
+
assertions:
|
|
20
|
+
- flow_started: "pattern_session_start"
|
|
21
|
+
- bot_uttered:
|
|
22
|
+
utter_name: "utter_greeting"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
test_cases:
|
|
2
|
+
- test_case: transfer money (happy path)
|
|
3
|
+
steps:
|
|
4
|
+
- user: "Transfer $50 to Alice today."
|
|
5
|
+
assertions:
|
|
6
|
+
- slot_was_set:
|
|
7
|
+
- name: "transfer_timing_type"
|
|
8
|
+
value: "immediate"
|
|
9
|
+
- name: "recipient_account"
|
|
10
|
+
value: "Alice"
|
|
11
|
+
- name: "amount_of_money"
|
|
12
|
+
value: 50
|
|
13
|
+
- name: "transfer_type"
|
|
14
|
+
value: "third party"
|
|
15
|
+
- name: "has_sufficient_funds"
|
|
16
|
+
value: true
|
|
17
|
+
- flow_started: "transfer_money"
|
|
18
|
+
- flow_started: "transfer_money_to_a_third_party"
|
|
19
|
+
- action_executed: check_transfer_funds
|
|
20
|
+
- bot_uttered:
|
|
21
|
+
utter_name: "utter_ask_immediate_transfer_confirmation"
|
|
22
|
+
- user: "/SetSlots(confirmation=true)"
|
|
23
|
+
assertions:
|
|
24
|
+
- slot_was_set:
|
|
25
|
+
- name: "confirmation"
|
|
26
|
+
value: true
|
|
27
|
+
- action_executed: execute_transfer
|
|
28
|
+
- bot_uttered:
|
|
29
|
+
utter_name: "utter_transfer_completed"
|
|
30
|
+
- test_case: transfer money (unhappy path)
|
|
31
|
+
steps:
|
|
32
|
+
- user: "Transfer $50 to Alice today."
|
|
33
|
+
assertions:
|
|
34
|
+
- slot_was_set:
|
|
35
|
+
- name: "transfer_timing_type"
|
|
36
|
+
value: "immediate"
|
|
37
|
+
- name: "recipient_account"
|
|
38
|
+
value: "Alice"
|
|
39
|
+
- name: "amount_of_money"
|
|
40
|
+
value: 50
|
|
41
|
+
- name: "transfer_type"
|
|
42
|
+
value: "third party"
|
|
43
|
+
- name: "has_sufficient_funds"
|
|
44
|
+
value: true
|
|
45
|
+
- flow_started: "transfer_money"
|
|
46
|
+
- flow_started: "transfer_money_to_a_third_party"
|
|
47
|
+
- action_executed: check_transfer_funds
|
|
48
|
+
- bot_uttered:
|
|
49
|
+
utter_name: "utter_ask_immediate_transfer_confirmation"
|
|
50
|
+
- user: "/SetSlots(confirmation=false)"
|
|
51
|
+
assertions:
|
|
52
|
+
- slot_was_set:
|
|
53
|
+
- name: "confirmation"
|
|
54
|
+
value: false
|
|
55
|
+
- bot_uttered:
|
|
56
|
+
utter_name: "utter_transfer_cancelled"
|
|
@@ -31,3 +31,13 @@ rest:
|
|
|
31
31
|
# for the Rasa Enterprise "channel", i.e. Talk to your bot and Share with guest testers.
|
|
32
32
|
rasa:
|
|
33
33
|
url: "http://localhost:5002/api"
|
|
34
|
+
|
|
35
|
+
# The Browser Audio channel enables voice interactions with your assistant directly in the browser.
|
|
36
|
+
# Used by the Rasa Voice Inspector, it provides speech-to-text and text-to-speech capabilities
|
|
37
|
+
# through services like Deepgram.
|
|
38
|
+
browser_audio:
|
|
39
|
+
server_url: localhost
|
|
40
|
+
asr:
|
|
41
|
+
name: deepgram
|
|
42
|
+
tts:
|
|
43
|
+
name: deepgram
|
rasa/cli/run.py
CHANGED
|
@@ -7,12 +7,12 @@ from rasa.api import run as rasa_run
|
|
|
7
7
|
from rasa.cli import SubParsersAction
|
|
8
8
|
from rasa.cli.arguments import run as arguments
|
|
9
9
|
from rasa.cli.arguments.default_arguments import SkipYamlValidation
|
|
10
|
-
from rasa.
|
|
10
|
+
from rasa.core.config.configuration import (
|
|
11
|
+
Configuration,
|
|
12
|
+
)
|
|
11
13
|
from rasa.exceptions import ModelNotFound
|
|
12
14
|
from rasa.shared.constants import (
|
|
13
15
|
DEFAULT_ACTIONS_PATH,
|
|
14
|
-
DEFAULT_CREDENTIALS_PATH,
|
|
15
|
-
DEFAULT_ENDPOINTS_PATH,
|
|
16
16
|
DEFAULT_MODELS_PATH,
|
|
17
17
|
DOCS_BASE_URL,
|
|
18
18
|
)
|
|
@@ -86,11 +86,10 @@ def run(args: argparse.Namespace) -> None:
|
|
|
86
86
|
Args:
|
|
87
87
|
args: The CLI arguments.
|
|
88
88
|
"""
|
|
89
|
-
|
|
90
|
-
args.endpoints,
|
|
91
|
-
)
|
|
92
|
-
|
|
93
|
-
args.credentials, "credentials", DEFAULT_CREDENTIALS_PATH, True
|
|
89
|
+
Configuration.initialise_endpoints(
|
|
90
|
+
args.endpoints,
|
|
91
|
+
).initialise_credentials(
|
|
92
|
+
args.credentials,
|
|
94
93
|
)
|
|
95
94
|
|
|
96
95
|
if SkipYamlValidation.DOMAIN.value in args.skip_yaml_validation:
|
|
@@ -109,7 +108,7 @@ def run(args: argparse.Namespace) -> None:
|
|
|
109
108
|
# configured
|
|
110
109
|
|
|
111
110
|
import rasa.model
|
|
112
|
-
from rasa.core.
|
|
111
|
+
from rasa.core.available_agents import AvailableAgents
|
|
113
112
|
|
|
114
113
|
# start server if remote storage is configured
|
|
115
114
|
if args.remote_storage is not None:
|
|
@@ -117,12 +116,15 @@ def run(args: argparse.Namespace) -> None:
|
|
|
117
116
|
return
|
|
118
117
|
|
|
119
118
|
# start server if model server is configured
|
|
120
|
-
endpoints =
|
|
119
|
+
endpoints = Configuration.get_instance().endpoints
|
|
121
120
|
model_server = endpoints.model if endpoints and endpoints.model else None
|
|
122
121
|
if model_server is not None:
|
|
123
122
|
rasa_run(**vars(args))
|
|
124
123
|
return
|
|
125
124
|
|
|
125
|
+
# load sub-agents
|
|
126
|
+
AvailableAgents.get_instance(args.sub_agents)
|
|
127
|
+
|
|
126
128
|
# start server if local model found
|
|
127
129
|
args.model = _validate_model_path(args.model, "model", DEFAULT_MODELS_PATH)
|
|
128
130
|
local_model_set = True
|
rasa/cli/scaffold.py
CHANGED
|
@@ -104,10 +104,10 @@ def print_train_or_instructions(args: argparse.Namespace) -> None:
|
|
|
104
104
|
if should_train:
|
|
105
105
|
print_success("Training an initial model...")
|
|
106
106
|
training_result = train(
|
|
107
|
-
template_domain_path[args.template],
|
|
108
|
-
DEFAULT_CONFIG_PATH,
|
|
109
|
-
DEFAULT_DATA_PATH,
|
|
110
|
-
DEFAULT_MODELS_PATH,
|
|
107
|
+
domain=template_domain_path[args.template],
|
|
108
|
+
config=DEFAULT_CONFIG_PATH,
|
|
109
|
+
training_files=DEFAULT_DATA_PATH,
|
|
110
|
+
output=DEFAULT_MODELS_PATH,
|
|
111
111
|
)
|
|
112
112
|
args.model = training_result.model
|
|
113
113
|
|
rasa/cli/shell.py
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import argparse
|
|
2
2
|
import logging
|
|
3
3
|
import uuid
|
|
4
|
+
from pathlib import Path
|
|
4
5
|
from typing import List
|
|
5
6
|
|
|
6
7
|
from rasa import telemetry
|
|
7
8
|
from rasa.cli import SubParsersAction
|
|
8
9
|
from rasa.cli.arguments import shell as arguments
|
|
9
|
-
from rasa.
|
|
10
|
+
from rasa.cli.arguments.default_arguments import add_sub_agents_param
|
|
11
|
+
from rasa.core.config.configuration import Configuration
|
|
10
12
|
from rasa.engine.storage.local_model_storage import LocalModelStorage
|
|
11
13
|
from rasa.exceptions import ModelNotFound
|
|
12
14
|
from rasa.model import get_local_model
|
|
@@ -45,6 +47,8 @@ def add_subparser(
|
|
|
45
47
|
help="Set the conversation ID.",
|
|
46
48
|
)
|
|
47
49
|
|
|
50
|
+
add_sub_agents_param(shell_parser)
|
|
51
|
+
|
|
48
52
|
run_subparsers = shell_parser.add_subparsers()
|
|
49
53
|
|
|
50
54
|
shell_nlu_subparser = run_subparsers.add_parser(
|
|
@@ -64,7 +68,7 @@ def add_subparser(
|
|
|
64
68
|
def shell_nlu(args: argparse.Namespace) -> None:
|
|
65
69
|
"""Talk with an NLU only bot though the command line."""
|
|
66
70
|
import rasa.nlu.run
|
|
67
|
-
from rasa.cli.
|
|
71
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
68
72
|
from rasa.shared.constants import DEFAULT_MODELS_PATH
|
|
69
73
|
|
|
70
74
|
args.connector = "cmdline"
|
|
@@ -102,15 +106,15 @@ def shell_nlu(args: argparse.Namespace) -> None:
|
|
|
102
106
|
|
|
103
107
|
def shell(args: argparse.Namespace) -> None:
|
|
104
108
|
"""Talk with a bot though the command line."""
|
|
105
|
-
from rasa.cli.
|
|
109
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
106
110
|
from rasa.shared.constants import DEFAULT_MODELS_PATH
|
|
107
111
|
|
|
108
112
|
args.connector = "cmdline"
|
|
109
113
|
# Load endpoints with proper endpoint file location
|
|
110
114
|
# This will initialise the endpoints singleton properly so that
|
|
111
115
|
# it can be used safely throughout the codebase with
|
|
112
|
-
# `
|
|
113
|
-
|
|
116
|
+
# `Configuration.get_instance().endpoints`
|
|
117
|
+
Configuration.initialise_endpoints(endpoints_path=Path(args.endpoints))
|
|
114
118
|
model = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH)
|
|
115
119
|
|
|
116
120
|
try:
|
rasa/cli/studio/studio.py
CHANGED
|
@@ -12,7 +12,7 @@ import rasa.cli.studio.train
|
|
|
12
12
|
import rasa.cli.studio.upload
|
|
13
13
|
import rasa.shared.utils.cli
|
|
14
14
|
from rasa.cli import SubParsersAction
|
|
15
|
-
from rasa.cli.
|
|
15
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
16
16
|
from rasa.shared.constants import DEFAULT_DOMAIN_PATH, DEFAULT_DOMAIN_PATHS
|
|
17
17
|
from rasa.studio.auth import StudioAuth
|
|
18
18
|
from rasa.studio.config import StudioConfig
|
rasa/cli/test.py
CHANGED
|
@@ -11,6 +11,13 @@ import rasa.shared.utils.io
|
|
|
11
11
|
import rasa.utils.common
|
|
12
12
|
from rasa.cli import SubParsersAction
|
|
13
13
|
from rasa.cli.arguments import test as arguments
|
|
14
|
+
from rasa.cli.validation.config_path_validation import get_validated_path
|
|
15
|
+
from rasa.core.config.configuration import (
|
|
16
|
+
Configuration,
|
|
17
|
+
CredentialsConfigPath,
|
|
18
|
+
EndpointsConfigPath,
|
|
19
|
+
MessageProcessingConfigPath,
|
|
20
|
+
)
|
|
14
21
|
from rasa.core.constants import (
|
|
15
22
|
FAILED_STORIES_FILE,
|
|
16
23
|
STORIES_WITH_WARNINGS_FILE,
|
|
@@ -100,10 +107,16 @@ async def run_core_test_async(args: argparse.Namespace) -> None:
|
|
|
100
107
|
test_core_models_in_directory,
|
|
101
108
|
)
|
|
102
109
|
|
|
103
|
-
|
|
104
|
-
|
|
110
|
+
Configuration.initialise_endpoints(
|
|
111
|
+
endpoints_path=EndpointsConfigPath.validate(),
|
|
112
|
+
).initialise_credentials(
|
|
113
|
+
credentials_path=CredentialsConfigPath.validate()
|
|
114
|
+
).initialise_message_processing(
|
|
115
|
+
message_processing_config_path=MessageProcessingConfigPath.validate()
|
|
105
116
|
)
|
|
106
117
|
|
|
118
|
+
stories = get_validated_path(args.stories, "stories", DEFAULT_DATA_PATH)
|
|
119
|
+
|
|
107
120
|
output = args.out or DEFAULT_RESULTS_PATH
|
|
108
121
|
args.errors = not args.no_errors
|
|
109
122
|
args.warnings = not args.no_warnings
|
|
@@ -121,9 +134,7 @@ async def run_core_test_async(args: argparse.Namespace) -> None:
|
|
|
121
134
|
return
|
|
122
135
|
|
|
123
136
|
if isinstance(args.model, str):
|
|
124
|
-
model_path =
|
|
125
|
-
args.model, "model", DEFAULT_MODELS_PATH
|
|
126
|
-
)
|
|
137
|
+
model_path = get_validated_path(args.model, "model", DEFAULT_MODELS_PATH)
|
|
127
138
|
|
|
128
139
|
if args.evaluate_model_directory:
|
|
129
140
|
await test_core_models_in_directory(
|
|
@@ -182,9 +193,7 @@ async def run_nlu_test_async(
|
|
|
182
193
|
test_nlu,
|
|
183
194
|
)
|
|
184
195
|
|
|
185
|
-
data_path = str(
|
|
186
|
-
rasa.cli.utils.get_validated_path(data_path, "nlu", DEFAULT_DATA_PATH)
|
|
187
|
-
)
|
|
196
|
+
data_path = str(get_validated_path(data_path, "nlu", DEFAULT_DATA_PATH))
|
|
188
197
|
test_data_importer = TrainingDataImporter.load_from_dict(
|
|
189
198
|
training_data_paths=[data_path], domain_path=domain_path
|
|
190
199
|
)
|
|
@@ -225,18 +234,29 @@ async def run_nlu_test_async(
|
|
|
225
234
|
)
|
|
226
235
|
elif cross_validation:
|
|
227
236
|
logger.info("Test model using cross validation.")
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
237
|
+
|
|
238
|
+
Configuration.initialise_endpoints(
|
|
239
|
+
endpoints_path=EndpointsConfigPath.validate(),
|
|
240
|
+
).initialise_credentials(
|
|
241
|
+
credentials_path=CredentialsConfigPath.validate()
|
|
242
|
+
).initialise_message_processing(
|
|
243
|
+
message_processing_config_path=MessageProcessingConfigPath.validate(config),
|
|
232
244
|
)
|
|
245
|
+
|
|
246
|
+
config = str(get_validated_path(config, "config", DEFAULT_CONFIG_PATH))
|
|
233
247
|
config_importer = TrainingDataImporter.load_from_dict(config_path=config)
|
|
234
248
|
|
|
235
249
|
config_dict = config_importer.get_config()
|
|
236
250
|
await perform_nlu_cross_validation(config_dict, nlu_data, output, all_args)
|
|
237
251
|
else:
|
|
238
|
-
model_path =
|
|
239
|
-
|
|
252
|
+
model_path = get_validated_path(models_path, "model", DEFAULT_MODELS_PATH)
|
|
253
|
+
|
|
254
|
+
Configuration.initialise_endpoints(
|
|
255
|
+
endpoints_path=EndpointsConfigPath.validate(),
|
|
256
|
+
).initialise_credentials(
|
|
257
|
+
credentials_path=CredentialsConfigPath.validate()
|
|
258
|
+
).initialise_message_processing(
|
|
259
|
+
message_processing_config_path=MessageProcessingConfigPath.validate(config),
|
|
240
260
|
)
|
|
241
261
|
|
|
242
262
|
await test_nlu(model_path, data_path, output, all_args, domain_path=domain_path)
|