rasa-pro 3.10.15__py3-none-any.whl → 3.11.0__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 +31 -15
- rasa/api.py +12 -2
- rasa/cli/arguments/default_arguments.py +24 -4
- rasa/cli/arguments/run.py +15 -0
- rasa/cli/arguments/shell.py +5 -1
- rasa/cli/arguments/train.py +17 -9
- rasa/cli/evaluate.py +7 -7
- rasa/cli/inspect.py +19 -7
- rasa/cli/interactive.py +1 -0
- rasa/cli/project_templates/calm/config.yml +5 -7
- rasa/cli/project_templates/calm/endpoints.yml +15 -2
- rasa/cli/project_templates/tutorial/config.yml +8 -5
- rasa/cli/project_templates/tutorial/data/flows.yml +1 -1
- rasa/cli/project_templates/tutorial/data/patterns.yml +5 -0
- rasa/cli/project_templates/tutorial/domain.yml +14 -0
- rasa/cli/project_templates/tutorial/endpoints.yml +5 -0
- rasa/cli/run.py +7 -0
- rasa/cli/scaffold.py +4 -2
- rasa/cli/studio/upload.py +0 -15
- rasa/cli/train.py +14 -53
- rasa/cli/utils.py +14 -11
- rasa/cli/x.py +7 -7
- rasa/constants.py +3 -1
- rasa/core/actions/action.py +77 -33
- rasa/core/actions/action_hangup.py +29 -0
- rasa/core/actions/action_repeat_bot_messages.py +89 -0
- rasa/core/actions/e2e_stub_custom_action_executor.py +5 -1
- rasa/core/actions/http_custom_action_executor.py +4 -0
- rasa/core/agent.py +2 -2
- rasa/core/brokers/kafka.py +3 -1
- rasa/core/brokers/pika.py +3 -1
- rasa/core/channels/__init__.py +10 -6
- rasa/core/channels/channel.py +41 -4
- rasa/core/channels/development_inspector.py +150 -46
- rasa/core/channels/inspector/README.md +1 -1
- rasa/core/channels/inspector/dist/assets/{arc-b6e548fe.js → arc-bc141fb2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{c4Diagram-d0fbc5ce-fa03ac9e.js → c4Diagram-d0fbc5ce-be2db283.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-936ed81e-ee67392a.js → classDiagram-936ed81e-55366915.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{classDiagram-v2-c3cb15f1-9b283fae.js → classDiagram-v2-c3cb15f1-bb529518.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{createText-62fc7601-8b6fcc2a.js → createText-62fc7601-b0ec81d6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{edges-f2ad444c-22e77f4f.js → edges-f2ad444c-6166330c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{erDiagram-9d236eb7-60ffc87f.js → erDiagram-9d236eb7-5ccc6a8e.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDb-1972c806-9dd802e4.js → flowDb-1972c806-fca3bfe4.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{flowDiagram-7ea5b25a-5fa1912f.js → flowDiagram-7ea5b25a-4739080f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-855bc5b3-736177bf.js +1 -0
- rasa/core/channels/inspector/dist/assets/{flowchart-elk-definition-abe16c3d-622a1fd2.js → flowchart-elk-definition-abe16c3d-7c1b0e0f.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{ganttDiagram-9b5ea136-e285a63a.js → ganttDiagram-9b5ea136-772fd050.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{gitGraphDiagram-99d0ae7c-f237bdca.js → gitGraphDiagram-99d0ae7c-8eae1dc9.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{index-2c4b9a3b-4b03d70e.js → index-2c4b9a3b-f55afcdf.js} +1 -1
- rasa/core/channels/inspector/dist/assets/index-e7cef9de.js +1317 -0
- rasa/core/channels/inspector/dist/assets/{infoDiagram-736b4530-72a0fa5f.js → infoDiagram-736b4530-124d4a14.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{journeyDiagram-df861f2b-82218c41.js → journeyDiagram-df861f2b-7c4fae44.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{layout-78cff630.js → layout-b9885fb6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{line-5038b469.js → line-7c59abb6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{linear-c4fc4098.js → linear-4776f780.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{mindmap-definition-beec6740-c33c8ea6.js → mindmap-definition-beec6740-2332c46c.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{pieDiagram-dbbf0591-a8d03059.js → pieDiagram-dbbf0591-8fb39303.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{quadrantDiagram-4d7f4fd6-6a0e56b2.js → quadrantDiagram-4d7f4fd6-3c7180a2.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{requirementDiagram-6fc4c22a-2dc7c7bd.js → requirementDiagram-6fc4c22a-e910bcb8.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sankeyDiagram-8f13d901-2360fe39.js → sankeyDiagram-8f13d901-ead16c89.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{sequenceDiagram-b655622a-41b9f9ad.js → sequenceDiagram-b655622a-29a02a19.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-59f0c015-0aad326f.js → stateDiagram-59f0c015-042b3137.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{stateDiagram-v2-2b26beab-9847d984.js → stateDiagram-v2-2b26beab-2178c0f3.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-080da4f6-564d890e.js → styles-080da4f6-23ffa4fc.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-3dcbcfbf-38957613.js → styles-3dcbcfbf-94f59763.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{styles-9c745c82-f0fc6921.js → styles-9c745c82-78a6bebc.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{svgDrawCommon-4835440b-ef3c5a77.js → svgDrawCommon-4835440b-eae2a6f6.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{timeline-definition-5b62e21b-bf3e91c1.js → timeline-definition-5b62e21b-5c968d92.js} +1 -1
- rasa/core/channels/inspector/dist/assets/{xychartDiagram-2b33534f-4d4026c0.js → xychartDiagram-2b33534f-fd3db0d5.js} +1 -1
- rasa/core/channels/inspector/dist/index.html +18 -15
- rasa/core/channels/inspector/index.html +17 -14
- rasa/core/channels/inspector/package.json +5 -1
- rasa/core/channels/inspector/src/App.tsx +118 -68
- rasa/core/channels/inspector/src/components/Chat.tsx +95 -0
- rasa/core/channels/inspector/src/components/DiagramFlow.tsx +11 -10
- rasa/core/channels/inspector/src/components/DialogueStack.tsx +10 -25
- rasa/core/channels/inspector/src/components/LoadingSpinner.tsx +6 -3
- rasa/core/channels/inspector/src/helpers/audiostream.ts +165 -0
- rasa/core/channels/inspector/src/helpers/formatters.test.ts +10 -0
- rasa/core/channels/inspector/src/helpers/formatters.ts +107 -41
- rasa/core/channels/inspector/src/helpers/utils.ts +92 -7
- rasa/core/channels/inspector/src/types.ts +21 -1
- rasa/core/channels/inspector/yarn.lock +94 -1
- rasa/core/channels/rest.py +51 -46
- rasa/core/channels/socketio.py +28 -1
- rasa/core/channels/telegram.py +1 -1
- rasa/core/channels/twilio.py +1 -1
- rasa/core/channels/{audiocodes.py → voice_ready/audiocodes.py} +122 -69
- rasa/core/channels/{voice_aware → voice_ready}/jambonz.py +26 -8
- rasa/core/channels/{voice_aware → voice_ready}/jambonz_protocol.py +57 -5
- rasa/core/channels/{twilio_voice.py → voice_ready/twilio_voice.py} +64 -28
- rasa/core/channels/voice_ready/utils.py +37 -0
- rasa/core/channels/voice_stream/asr/__init__.py +0 -0
- rasa/core/channels/voice_stream/asr/asr_engine.py +89 -0
- rasa/core/channels/voice_stream/asr/asr_event.py +18 -0
- rasa/core/channels/voice_stream/asr/azure.py +129 -0
- rasa/core/channels/voice_stream/asr/deepgram.py +90 -0
- rasa/core/channels/voice_stream/audio_bytes.py +8 -0
- rasa/core/channels/voice_stream/browser_audio.py +107 -0
- rasa/core/channels/voice_stream/call_state.py +23 -0
- rasa/core/channels/voice_stream/tts/__init__.py +0 -0
- rasa/core/channels/voice_stream/tts/azure.py +106 -0
- rasa/core/channels/voice_stream/tts/cartesia.py +118 -0
- rasa/core/channels/voice_stream/tts/tts_cache.py +27 -0
- rasa/core/channels/voice_stream/tts/tts_engine.py +58 -0
- rasa/core/channels/voice_stream/twilio_media_streams.py +173 -0
- rasa/core/channels/voice_stream/util.py +57 -0
- rasa/core/channels/voice_stream/voice_channel.py +427 -0
- rasa/core/information_retrieval/qdrant.py +1 -0
- rasa/core/nlg/contextual_response_rephraser.py +45 -17
- rasa/{nlu → core}/persistor.py +203 -68
- rasa/core/policies/enterprise_search_policy.py +119 -63
- rasa/core/policies/flows/flow_executor.py +15 -22
- rasa/core/policies/intentless_policy.py +83 -28
- rasa/core/processor.py +25 -0
- rasa/core/run.py +12 -2
- rasa/core/secrets_manager/constants.py +4 -0
- rasa/core/secrets_manager/factory.py +8 -0
- rasa/core/secrets_manager/vault.py +11 -1
- rasa/core/training/interactive.py +33 -34
- rasa/core/utils.py +47 -21
- rasa/dialogue_understanding/coexistence/llm_based_router.py +41 -14
- rasa/dialogue_understanding/commands/__init__.py +6 -0
- rasa/dialogue_understanding/commands/repeat_bot_messages_command.py +60 -0
- rasa/dialogue_understanding/commands/session_end_command.py +61 -0
- rasa/dialogue_understanding/commands/user_silence_command.py +59 -0
- rasa/dialogue_understanding/commands/utils.py +5 -0
- rasa/dialogue_understanding/generator/constants.py +2 -0
- rasa/dialogue_understanding/generator/flow_retrieval.py +47 -9
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +38 -15
- rasa/dialogue_understanding/generator/llm_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py +35 -13
- rasa/dialogue_understanding/generator/single_step/command_prompt_template.jinja2 +3 -0
- rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py +60 -13
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +53 -0
- rasa/dialogue_understanding/patterns/repeat.py +37 -0
- rasa/dialogue_understanding/patterns/user_silence.py +37 -0
- rasa/dialogue_understanding/processor/command_processor.py +21 -1
- rasa/e2e_test/aggregate_test_stats_calculator.py +1 -11
- rasa/e2e_test/assertions.py +136 -61
- rasa/e2e_test/assertions_schema.yml +23 -0
- rasa/e2e_test/e2e_test_case.py +85 -6
- rasa/e2e_test/e2e_test_runner.py +2 -3
- rasa/engine/graph.py +0 -1
- rasa/engine/loader.py +12 -0
- rasa/engine/recipes/config_files/default_config.yml +0 -3
- rasa/engine/recipes/default_recipe.py +0 -1
- rasa/engine/recipes/graph_recipe.py +0 -1
- rasa/engine/runner/dask.py +2 -2
- rasa/engine/storage/local_model_storage.py +12 -42
- rasa/engine/storage/storage.py +1 -5
- rasa/engine/validation.py +527 -74
- rasa/model_manager/__init__.py +0 -0
- rasa/model_manager/config.py +40 -0
- rasa/model_manager/model_api.py +559 -0
- rasa/model_manager/runner_service.py +286 -0
- rasa/model_manager/socket_bridge.py +146 -0
- rasa/model_manager/studio_jwt_auth.py +86 -0
- rasa/model_manager/trainer_service.py +325 -0
- rasa/model_manager/utils.py +87 -0
- rasa/model_manager/warm_rasa_process.py +187 -0
- rasa/model_service.py +112 -0
- rasa/model_training.py +42 -23
- rasa/nlu/tokenizers/whitespace_tokenizer.py +3 -14
- rasa/server.py +4 -2
- rasa/shared/constants.py +60 -8
- rasa/shared/core/constants.py +13 -0
- rasa/shared/core/domain.py +107 -50
- rasa/shared/core/events.py +29 -0
- rasa/shared/core/flows/flow.py +5 -0
- rasa/shared/core/flows/flows_list.py +19 -6
- rasa/shared/core/flows/flows_yaml_schema.json +10 -0
- rasa/shared/core/flows/utils.py +39 -0
- rasa/shared/core/flows/validation.py +121 -0
- rasa/shared/core/flows/yaml_flows_io.py +15 -27
- rasa/shared/core/slots.py +5 -0
- rasa/shared/importers/importer.py +59 -41
- rasa/shared/importers/multi_project.py +23 -11
- rasa/shared/importers/rasa.py +12 -3
- rasa/shared/importers/remote_importer.py +196 -0
- rasa/shared/importers/utils.py +3 -1
- rasa/shared/nlu/training_data/formats/rasa_yaml.py +18 -3
- rasa/shared/nlu/training_data/training_data.py +18 -19
- rasa/shared/providers/_configs/litellm_router_client_config.py +220 -0
- rasa/shared/providers/_configs/model_group_config.py +167 -0
- rasa/shared/providers/_configs/openai_client_config.py +1 -1
- rasa/shared/providers/_configs/rasa_llm_client_config.py +73 -0
- rasa/shared/providers/_configs/self_hosted_llm_client_config.py +1 -0
- rasa/shared/providers/_configs/utils.py +16 -0
- rasa/shared/providers/_utils.py +79 -0
- rasa/shared/providers/embedding/_base_litellm_embedding_client.py +13 -29
- rasa/shared/providers/embedding/azure_openai_embedding_client.py +54 -21
- rasa/shared/providers/embedding/default_litellm_embedding_client.py +24 -0
- rasa/shared/providers/embedding/litellm_router_embedding_client.py +135 -0
- rasa/shared/providers/llm/_base_litellm_client.py +34 -22
- rasa/shared/providers/llm/azure_openai_llm_client.py +50 -29
- rasa/shared/providers/llm/default_litellm_llm_client.py +24 -0
- rasa/shared/providers/llm/litellm_router_llm_client.py +182 -0
- rasa/shared/providers/llm/rasa_llm_client.py +112 -0
- rasa/shared/providers/llm/self_hosted_llm_client.py +5 -29
- rasa/shared/providers/mappings.py +19 -0
- rasa/shared/providers/router/__init__.py +0 -0
- rasa/shared/providers/router/_base_litellm_router_client.py +183 -0
- rasa/shared/providers/router/router_client.py +73 -0
- rasa/shared/utils/common.py +40 -24
- rasa/shared/utils/health_check/__init__.py +0 -0
- rasa/shared/utils/health_check/embeddings_health_check_mixin.py +31 -0
- rasa/shared/utils/health_check/health_check.py +258 -0
- rasa/shared/utils/health_check/llm_health_check_mixin.py +31 -0
- rasa/shared/utils/io.py +27 -6
- rasa/shared/utils/llm.py +353 -43
- rasa/shared/utils/schemas/events.py +2 -0
- rasa/shared/utils/schemas/model_config.yml +0 -10
- rasa/shared/utils/yaml.py +181 -38
- rasa/studio/data_handler.py +3 -1
- rasa/studio/upload.py +160 -74
- rasa/telemetry.py +94 -17
- rasa/tracing/config.py +3 -1
- rasa/tracing/instrumentation/attribute_extractors.py +95 -18
- rasa/tracing/instrumentation/instrumentation.py +121 -0
- rasa/utils/common.py +5 -0
- rasa/utils/endpoints.py +27 -1
- rasa/utils/io.py +8 -16
- rasa/utils/log_utils.py +9 -2
- rasa/utils/sanic_error_handler.py +32 -0
- rasa/validator.py +110 -4
- rasa/version.py +1 -1
- {rasa_pro-3.10.15.dist-info → rasa_pro-3.11.0.dist-info}/METADATA +14 -12
- {rasa_pro-3.10.15.dist-info → rasa_pro-3.11.0.dist-info}/RECORD +234 -183
- rasa/core/channels/inspector/dist/assets/flowDiagram-v2-855bc5b3-1844e5a5.js +0 -1
- rasa/core/channels/inspector/dist/assets/index-a5d3e69d.js +0 -1040
- rasa/core/channels/voice_aware/utils.py +0 -20
- rasa/llm_fine_tuning/notebooks/unsloth_finetuning.ipynb +0 -407
- /rasa/core/channels/{voice_aware → voice_ready}/__init__.py +0 -0
- /rasa/core/channels/{voice_native → voice_stream}/__init__.py +0 -0
- {rasa_pro-3.10.15.dist-info → rasa_pro-3.11.0.dist-info}/NOTICE +0 -0
- {rasa_pro-3.10.15.dist-info → rasa_pro-3.11.0.dist-info}/WHEEL +0 -0
- {rasa_pro-3.10.15.dist-info → rasa_pro-3.11.0.dist-info}/entry_points.txt +0 -0
rasa/validator.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import logging
|
|
2
2
|
import re
|
|
3
3
|
import string
|
|
4
|
+
import sys
|
|
4
5
|
from collections import defaultdict
|
|
5
6
|
from typing import Set, Text, Optional, Dict, Any, List, Tuple
|
|
6
7
|
|
|
@@ -22,6 +23,11 @@ from rasa.shared.core.flows.steps.collect import CollectInformationFlowStep
|
|
|
22
23
|
from rasa.shared.core.flows.steps.action import ActionFlowStep
|
|
23
24
|
from rasa.shared.core.flows.steps.link import LinkFlowStep
|
|
24
25
|
from rasa.shared.core.flows import FlowsList
|
|
26
|
+
from rasa.shared.core.flows.utils import (
|
|
27
|
+
warn_deprecated_collect_step_config,
|
|
28
|
+
get_duplicate_slot_persistence_config_error_message,
|
|
29
|
+
get_invalid_slot_persistence_config_error_message,
|
|
30
|
+
)
|
|
25
31
|
import rasa.shared.nlu.constants
|
|
26
32
|
from rasa.shared.constants import (
|
|
27
33
|
ASSISTANT_ID_DEFAULT_VALUE,
|
|
@@ -55,6 +61,7 @@ from rasa.shared.importers.importer import TrainingDataImporter
|
|
|
55
61
|
from rasa.shared.nlu.constants import COMMANDS
|
|
56
62
|
from rasa.shared.nlu.training_data.message import Message
|
|
57
63
|
from rasa.shared.nlu.training_data.training_data import TrainingData
|
|
64
|
+
|
|
58
65
|
import rasa.shared.utils.cli
|
|
59
66
|
import rasa.shared.utils.io
|
|
60
67
|
|
|
@@ -298,7 +305,7 @@ class Validator:
|
|
|
298
305
|
return any(cls.check_for_placeholder(i) for i in value)
|
|
299
306
|
return False
|
|
300
307
|
|
|
301
|
-
def
|
|
308
|
+
def check_for_no_empty_parenthesis_in_responses(self) -> bool:
|
|
302
309
|
"""Checks if there are no empty parenthesis in utterances."""
|
|
303
310
|
everything_is_alright = True
|
|
304
311
|
|
|
@@ -309,12 +316,12 @@ class Validator:
|
|
|
309
316
|
for key in RESPONSE_KEYS_TO_INTERPOLATE
|
|
310
317
|
):
|
|
311
318
|
structlogger.error(
|
|
312
|
-
"validator.
|
|
319
|
+
"validator.empty_parenthesis_in_utterances",
|
|
313
320
|
response=response_text,
|
|
314
321
|
event_info=(
|
|
315
322
|
f"The response '{response_text}' in the domain file "
|
|
316
|
-
f"contains empty parenthesis, which is not permitted."
|
|
317
|
-
f"
|
|
323
|
+
f"contains empty parenthesis, which is not permitted. "
|
|
324
|
+
f"Please remove the empty parenthesis."
|
|
318
325
|
),
|
|
319
326
|
)
|
|
320
327
|
everything_is_alright = False
|
|
@@ -1237,6 +1244,7 @@ class Validator:
|
|
|
1237
1244
|
self.verify_flows_steps_against_domain(),
|
|
1238
1245
|
self.verify_unique_flows(),
|
|
1239
1246
|
self.verify_predicates(),
|
|
1247
|
+
self.verify_slot_persistence_configuration(),
|
|
1240
1248
|
]
|
|
1241
1249
|
|
|
1242
1250
|
all_good = all(flow_validation_conditions)
|
|
@@ -1533,3 +1541,101 @@ class Validator:
|
|
|
1533
1541
|
),
|
|
1534
1542
|
)
|
|
1535
1543
|
return False
|
|
1544
|
+
|
|
1545
|
+
def verify_slot_persistence_configuration(self) -> bool:
|
|
1546
|
+
"""Verifies the validity of slot persistence after flow ends configuration.
|
|
1547
|
+
|
|
1548
|
+
Only slots used in either a collect step or a set_slot step can be persisted and
|
|
1549
|
+
the configuration can either set at the flow level or the collect step level,
|
|
1550
|
+
but not both.
|
|
1551
|
+
|
|
1552
|
+
Returns:
|
|
1553
|
+
bool: True if all slot persistence configuration is valid, False otherwise.
|
|
1554
|
+
|
|
1555
|
+
Raises:
|
|
1556
|
+
DeprecationWarning: If reset_after_flow_ends is used in collect steps.
|
|
1557
|
+
"""
|
|
1558
|
+
all_good = True
|
|
1559
|
+
|
|
1560
|
+
for flow in self.flows.underlying_flows:
|
|
1561
|
+
flow_id = flow.id
|
|
1562
|
+
persist_slots = flow.persisted_slots
|
|
1563
|
+
has_flow_level_persistence = True if persist_slots else False
|
|
1564
|
+
flow_slots = set()
|
|
1565
|
+
|
|
1566
|
+
for step in flow.steps_with_calls_resolved:
|
|
1567
|
+
if isinstance(step, SetSlotsFlowStep):
|
|
1568
|
+
flow_slots.update([slot["key"] for slot in step.slots])
|
|
1569
|
+
|
|
1570
|
+
elif isinstance(step, CollectInformationFlowStep):
|
|
1571
|
+
collect_step = step.collect
|
|
1572
|
+
flow_slots.add(collect_step)
|
|
1573
|
+
if not step.reset_after_flow_ends:
|
|
1574
|
+
warn_deprecated_collect_step_config(flow_id, collect_step)
|
|
1575
|
+
|
|
1576
|
+
if has_flow_level_persistence:
|
|
1577
|
+
structlogger.error(
|
|
1578
|
+
"validator.verify_slot_persistence_configuration.duplicate_config",
|
|
1579
|
+
flow=flow_id,
|
|
1580
|
+
collect_step=collect_step,
|
|
1581
|
+
event_info=get_duplicate_slot_persistence_config_error_message(
|
|
1582
|
+
flow_id, collect_step
|
|
1583
|
+
),
|
|
1584
|
+
)
|
|
1585
|
+
all_good = False
|
|
1586
|
+
|
|
1587
|
+
if has_flow_level_persistence:
|
|
1588
|
+
if not self._is_persist_slots_valid(persist_slots, flow_slots, flow_id):
|
|
1589
|
+
all_good = False
|
|
1590
|
+
return all_good
|
|
1591
|
+
|
|
1592
|
+
def _is_persist_slots_valid(
|
|
1593
|
+
self, persist_slots: List[str], flow_slots: Set[str], flow_id: str
|
|
1594
|
+
) -> bool:
|
|
1595
|
+
invalid_slots = set(persist_slots) - flow_slots
|
|
1596
|
+
is_valid = False if invalid_slots else True
|
|
1597
|
+
|
|
1598
|
+
if invalid_slots:
|
|
1599
|
+
structlogger.error(
|
|
1600
|
+
"validator.verify_slot_persistence_configuration.invalid_persist_slot",
|
|
1601
|
+
flow=flow_id,
|
|
1602
|
+
event_info=get_invalid_slot_persistence_config_error_message(
|
|
1603
|
+
flow_id, invalid_slots
|
|
1604
|
+
),
|
|
1605
|
+
)
|
|
1606
|
+
return is_valid
|
|
1607
|
+
|
|
1608
|
+
def verify_studio_supported_validations(self) -> bool:
|
|
1609
|
+
"""Validates the assistant project for Rasa Studio supported features.
|
|
1610
|
+
|
|
1611
|
+
Ensure to add new validations here if they are required for
|
|
1612
|
+
Rasa Studio Upload CLI.
|
|
1613
|
+
"""
|
|
1614
|
+
if self.domain.is_empty():
|
|
1615
|
+
structlogger.error(
|
|
1616
|
+
"rasa.validator.verify_studio_supported_validations.empty_domain",
|
|
1617
|
+
event_info="Encountered empty domain during validation.",
|
|
1618
|
+
)
|
|
1619
|
+
sys.exit(1)
|
|
1620
|
+
|
|
1621
|
+
self.warn_if_config_mandatory_keys_are_not_set()
|
|
1622
|
+
|
|
1623
|
+
valid_responses = (
|
|
1624
|
+
self.check_for_no_empty_parenthesis_in_responses()
|
|
1625
|
+
and self.validate_button_payloads()
|
|
1626
|
+
)
|
|
1627
|
+
valid_nlu = self.verify_nlu()
|
|
1628
|
+
valid_flows = all(
|
|
1629
|
+
[
|
|
1630
|
+
self.verify_flows_steps_against_domain(),
|
|
1631
|
+
self.verify_unique_flows(),
|
|
1632
|
+
self.verify_predicates(),
|
|
1633
|
+
]
|
|
1634
|
+
)
|
|
1635
|
+
valid_calm_slot_mappings = self.validate_CALM_slot_mappings()
|
|
1636
|
+
|
|
1637
|
+
all_good = (
|
|
1638
|
+
valid_responses and valid_nlu and valid_flows and valid_calm_slot_mappings
|
|
1639
|
+
)
|
|
1640
|
+
|
|
1641
|
+
return all_good
|
rasa/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: rasa-pro
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.11.0
|
|
4
4
|
Summary: State-of-the-art open-core Conversational AI framework for Enterprises that natively leverages generative AI for effortless assistant development.
|
|
5
5
|
Home-page: https://rasa.com
|
|
6
6
|
Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
|
|
@@ -8,12 +8,13 @@ Author: Rasa Technologies GmbH
|
|
|
8
8
|
Author-email: hi@rasa.com
|
|
9
9
|
Maintainer: Tom Bocklisch
|
|
10
10
|
Maintainer-email: tom@rasa.com
|
|
11
|
-
Requires-Python: >=3.9,<3.
|
|
11
|
+
Requires-Python: >=3.9,<3.12
|
|
12
12
|
Classifier: Development Status :: 5 - Production/Stable
|
|
13
13
|
Classifier: Intended Audience :: Developers
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
15
|
Classifier: Programming Language :: Python :: 3.9
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
18
|
Classifier: Topic :: Software Development :: Libraries
|
|
18
19
|
Provides-Extra: full
|
|
19
20
|
Provides-Extra: gh-release-notes
|
|
@@ -22,17 +23,17 @@ Provides-Extra: metal
|
|
|
22
23
|
Provides-Extra: mlflow
|
|
23
24
|
Provides-Extra: spacy
|
|
24
25
|
Provides-Extra: transformers
|
|
25
|
-
Requires-Dist: CacheControl (>=0.
|
|
26
|
+
Requires-Dist: CacheControl (>=0.14.0,<0.15.0)
|
|
26
27
|
Requires-Dist: PyJWT[crypto] (>=2.8.0,<3.0.0)
|
|
27
28
|
Requires-Dist: SQLAlchemy (>=2.0.22,<2.1.0)
|
|
28
29
|
Requires-Dist: absl-py (>=2.0,<2.1)
|
|
29
|
-
Requires-Dist: aio-pika (>=8.2.3,<
|
|
30
|
+
Requires-Dist: aio-pika (>=8.2.3,<9.4.4)
|
|
30
31
|
Requires-Dist: aiogram (>=2.15,<2.26)
|
|
31
32
|
Requires-Dist: aiohttp (>=3.9.4,<3.10)
|
|
32
33
|
Requires-Dist: apscheduler (>=3.10,<3.11)
|
|
33
34
|
Requires-Dist: attrs (>=23.1,<23.2)
|
|
34
35
|
Requires-Dist: azure-storage-blob (>=12.16.0,<12.17.0)
|
|
35
|
-
Requires-Dist: boto3 (>=1.35.
|
|
36
|
+
Requires-Dist: boto3 (>=1.35.15,<1.36.0)
|
|
36
37
|
Requires-Dist: certifi (>=2024.07.04)
|
|
37
38
|
Requires-Dist: colorama (>=0.4.6,<0.5.0) ; sys_platform == "win32"
|
|
38
39
|
Requires-Dist: colorclass (>=2.2,<2.3)
|
|
@@ -41,7 +42,8 @@ Requires-Dist: colorhash (>=2.0,<2.1.0)
|
|
|
41
42
|
Requires-Dist: confluent-kafka (>=2.3.0,<3.0.0)
|
|
42
43
|
Requires-Dist: cryptography (>=42.0.5)
|
|
43
44
|
Requires-Dist: cvg-python-sdk (>=0.5.1,<0.6.0)
|
|
44
|
-
Requires-Dist: dask (
|
|
45
|
+
Requires-Dist: dask (>=2024.7.0,<2024.8.0)
|
|
46
|
+
Requires-Dist: demoji (>=1.1.0,<2.0.0)
|
|
45
47
|
Requires-Dist: diskcache (>=5.6.3,<5.7.0)
|
|
46
48
|
Requires-Dist: dnspython (==2.6.1)
|
|
47
49
|
Requires-Dist: faiss-cpu (>=1.7.4,<2.0.0)
|
|
@@ -67,7 +69,7 @@ Requires-Dist: matplotlib (>=3.7,<3.8)
|
|
|
67
69
|
Requires-Dist: mattermostwrapper (>=2.2,<2.3)
|
|
68
70
|
Requires-Dist: mlflow (>=2.15.1,<3.0.0) ; extra == "mlflow"
|
|
69
71
|
Requires-Dist: networkx (>=3.1,<3.2)
|
|
70
|
-
Requires-Dist: numpy (>=1.
|
|
72
|
+
Requires-Dist: numpy (>=1.26.4,<1.27.0)
|
|
71
73
|
Requires-Dist: openai (>=1.55.3,<1.56.0)
|
|
72
74
|
Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
|
|
73
75
|
Requires-Dist: opentelemetry-api (>=1.16.0,<1.17.0)
|
|
@@ -89,7 +91,7 @@ Requires-Dist: pydantic (>=2.0,<3.0)
|
|
|
89
91
|
Requires-Dist: pydot (>=1.4,<1.5)
|
|
90
92
|
Requires-Dist: pykwalify (>=1.8,<1.9)
|
|
91
93
|
Requires-Dist: pymilvus (<2.4.2)
|
|
92
|
-
Requires-Dist: pymongo
|
|
94
|
+
Requires-Dist: pymongo (>=4.10.1,<4.11.0)
|
|
93
95
|
Requires-Dist: pypred (>=0.4.0,<0.5.0)
|
|
94
96
|
Requires-Dist: python-dateutil (>=2.8.2,<2.9.0)
|
|
95
97
|
Requires-Dist: python-dotenv (>=1.0.1,<2.0.0)
|
|
@@ -101,7 +103,7 @@ Requires-Dist: pyyaml (>=6.0)
|
|
|
101
103
|
Requires-Dist: qdrant-client (>=1.9.0,<2.0.0)
|
|
102
104
|
Requires-Dist: questionary (>=1.10.0,<2.1.0)
|
|
103
105
|
Requires-Dist: randomname (>=0.2.1,<0.3.0)
|
|
104
|
-
Requires-Dist: rasa-sdk (
|
|
106
|
+
Requires-Dist: rasa-sdk (==3.11.0)
|
|
105
107
|
Requires-Dist: redis (>=4.6.0,<6.0)
|
|
106
108
|
Requires-Dist: regex (>=2022.10.31,<2022.11)
|
|
107
109
|
Requires-Dist: requests (>=2.31.0,<2.32.0)
|
|
@@ -113,14 +115,14 @@ Requires-Dist: sanic (>=22.12,<22.13)
|
|
|
113
115
|
Requires-Dist: sanic-cors (>=2.2.0,<2.3.0)
|
|
114
116
|
Requires-Dist: sanic-jwt (>=1.8.0,<2.0.0)
|
|
115
117
|
Requires-Dist: sanic-routing (>=22.8.0,<23.0.0)
|
|
116
|
-
Requires-Dist: scikit-learn (>=1.1
|
|
117
|
-
Requires-Dist: scipy (>=1.
|
|
118
|
+
Requires-Dist: scikit-learn (>=1.5.1,<1.6.0)
|
|
119
|
+
Requires-Dist: scipy (>=1.13.1,<1.14.0)
|
|
118
120
|
Requires-Dist: sentencepiece[sentencepiece] (>=0.1.99,<0.2.0) ; extra == "transformers" or extra == "full"
|
|
119
121
|
Requires-Dist: sentry-sdk (>=1.14.0,<1.15.0)
|
|
120
122
|
Requires-Dist: setuptools (>=70.0.0,<70.1.0)
|
|
121
123
|
Requires-Dist: sklearn-crfsuite (>=0.3.6,<0.4.0)
|
|
122
124
|
Requires-Dist: skops (>=0.10.0,<0.11.0)
|
|
123
|
-
Requires-Dist: slack-sdk (>=3.27.1,<
|
|
125
|
+
Requires-Dist: slack-sdk (>=3.27.1,<3.28.0)
|
|
124
126
|
Requires-Dist: spacy (>=3.5.4,<4.0.0) ; extra == "spacy" or extra == "full"
|
|
125
127
|
Requires-Dist: structlog (>=23.1.0,<23.2.0)
|
|
126
128
|
Requires-Dist: structlog-sentry (>=2.0.3,<3.0.0)
|