rasa-pro 3.13.6__py3-none-any.whl → 3.13.8__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/dialogue_understanding/processor/command_processor.py +27 -11
- rasa/engine/storage/local_model_storage.py +45 -2
- rasa/shared/providers/_utils.py +60 -44
- rasa/shared/providers/embedding/default_litellm_embedding_client.py +2 -0
- rasa/shared/providers/llm/default_litellm_llm_client.py +2 -0
- rasa/studio/upload.py +7 -4
- rasa/version.py +1 -1
- {rasa_pro-3.13.6.dist-info → rasa_pro-3.13.8.dist-info}/METADATA +1 -1
- {rasa_pro-3.13.6.dist-info → rasa_pro-3.13.8.dist-info}/RECORD +12 -12
- {rasa_pro-3.13.6.dist-info → rasa_pro-3.13.8.dist-info}/NOTICE +0 -0
- {rasa_pro-3.13.6.dist-info → rasa_pro-3.13.8.dist-info}/WHEEL +0 -0
- {rasa_pro-3.13.6.dist-info → rasa_pro-3.13.8.dist-info}/entry_points.txt +0 -0
|
@@ -398,19 +398,12 @@ def clean_up_commands(
|
|
|
398
398
|
"""
|
|
399
399
|
domain = domain if domain else Domain.empty()
|
|
400
400
|
|
|
401
|
-
# we consider all slots that were set in the tracker for potential corrections
|
|
402
|
-
# in the correct_slot_command we will check if a slot should actually be
|
|
403
|
-
# corrected
|
|
404
|
-
slots_so_far = set(
|
|
405
|
-
[event.key for event in tracker.events if isinstance(event, SlotSet)]
|
|
406
|
-
)
|
|
407
|
-
|
|
408
401
|
clean_commands: List[Command] = []
|
|
409
402
|
|
|
410
403
|
for command in commands:
|
|
411
404
|
if isinstance(command, SetSlotCommand):
|
|
412
405
|
clean_commands = clean_up_slot_command(
|
|
413
|
-
clean_commands, command, tracker, all_flows
|
|
406
|
+
clean_commands, command, tracker, all_flows
|
|
414
407
|
)
|
|
415
408
|
|
|
416
409
|
elif isinstance(command, CancelFlowCommand) and contains_command(
|
|
@@ -501,6 +494,25 @@ def clean_up_commands(
|
|
|
501
494
|
return clean_commands
|
|
502
495
|
|
|
503
496
|
|
|
497
|
+
def _get_slots_eligible_for_correction(tracker: DialogueStateTracker) -> Set[str]:
|
|
498
|
+
"""Get all slots that are eligible for correction.
|
|
499
|
+
|
|
500
|
+
# We consider all slots, which are not None, that were set in the tracker
|
|
501
|
+
# eligible for correction.
|
|
502
|
+
# In the correct_slot_command we will check if a slot should actually be
|
|
503
|
+
# corrected.
|
|
504
|
+
"""
|
|
505
|
+
# get all slots that were set in the tracker
|
|
506
|
+
slots_so_far = set(
|
|
507
|
+
[event.key for event in tracker.events if isinstance(event, SlotSet)]
|
|
508
|
+
)
|
|
509
|
+
|
|
510
|
+
# filter out slots that are set to None (None = empty value)
|
|
511
|
+
slots_so_far = {slot for slot in slots_so_far if tracker.get_slot(slot) is not None}
|
|
512
|
+
|
|
513
|
+
return slots_so_far
|
|
514
|
+
|
|
515
|
+
|
|
504
516
|
def ensure_max_number_of_command_type(
|
|
505
517
|
commands: List[Command], command_type: Type[Command], n: int
|
|
506
518
|
) -> List[Command]:
|
|
@@ -560,7 +572,6 @@ def clean_up_slot_command(
|
|
|
560
572
|
command: SetSlotCommand,
|
|
561
573
|
tracker: DialogueStateTracker,
|
|
562
574
|
all_flows: FlowsList,
|
|
563
|
-
slots_so_far: Set[str],
|
|
564
575
|
) -> List[Command]:
|
|
565
576
|
"""Clean up a slot command.
|
|
566
577
|
|
|
@@ -573,7 +584,6 @@ def clean_up_slot_command(
|
|
|
573
584
|
command: The command to clean up.
|
|
574
585
|
tracker: The dialogue state tracker.
|
|
575
586
|
all_flows: All flows.
|
|
576
|
-
slots_so_far: The slots that have been filled so far.
|
|
577
587
|
|
|
578
588
|
Returns:
|
|
579
589
|
The cleaned up commands.
|
|
@@ -642,7 +652,13 @@ def clean_up_slot_command(
|
|
|
642
652
|
)
|
|
643
653
|
return resulting_commands
|
|
644
654
|
|
|
645
|
-
|
|
655
|
+
# get all slots that were set in the tracker and are eligible for correction
|
|
656
|
+
slots_eligible_for_correction = _get_slots_eligible_for_correction(tracker)
|
|
657
|
+
|
|
658
|
+
if (
|
|
659
|
+
command.name in slots_eligible_for_correction
|
|
660
|
+
and command.name != ROUTE_TO_CALM_SLOT
|
|
661
|
+
):
|
|
646
662
|
current_collect_info = get_current_collect_step(stack, all_flows)
|
|
647
663
|
|
|
648
664
|
if current_collect_info and current_collect_info.collect == command.name:
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import logging
|
|
4
|
+
import os
|
|
4
5
|
import shutil
|
|
5
6
|
import sys
|
|
7
|
+
import tarfile
|
|
6
8
|
import tempfile
|
|
7
9
|
import uuid
|
|
8
10
|
from contextlib import contextmanager
|
|
9
11
|
from datetime import datetime
|
|
10
12
|
from pathlib import Path
|
|
11
|
-
from typing import Generator, Optional, Text, Tuple, Union
|
|
13
|
+
from typing import Callable, Generator, Optional, Text, Tuple, Union
|
|
12
14
|
|
|
13
15
|
from tarsafe import TarSafe
|
|
14
16
|
|
|
@@ -57,6 +59,35 @@ def windows_safe_temporary_directory(
|
|
|
57
59
|
yield temporary_directory
|
|
58
60
|
|
|
59
61
|
|
|
62
|
+
def filter_normpath(member: tarfile.TarInfo, dest_path: str) -> tarfile.TarInfo:
|
|
63
|
+
"""Normalize tar member paths for safe extraction"""
|
|
64
|
+
if member.name:
|
|
65
|
+
member.name = os.path.normpath(member.name)
|
|
66
|
+
return member
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
FilterFunction = Callable[[tarfile.TarInfo, str], Optional[tarfile.TarInfo]]
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
def create_combined_filter(existing_filter: Optional[FilterFunction]) -> FilterFunction:
|
|
73
|
+
"""Create a filter that combines existing filter with path normalization"""
|
|
74
|
+
|
|
75
|
+
def combined_filter(
|
|
76
|
+
member: tarfile.TarInfo, dest_path: str
|
|
77
|
+
) -> Optional[tarfile.TarInfo]:
|
|
78
|
+
"""Apply existing filter first, then path normalization"""
|
|
79
|
+
if existing_filter is not None:
|
|
80
|
+
filtered_member = existing_filter(member, dest_path)
|
|
81
|
+
if filtered_member is None:
|
|
82
|
+
return None # Rejected by existing filter
|
|
83
|
+
member = filtered_member # Use the filtered result
|
|
84
|
+
|
|
85
|
+
# Apply our path normalization
|
|
86
|
+
return filter_normpath(member, dest_path)
|
|
87
|
+
|
|
88
|
+
return combined_filter
|
|
89
|
+
|
|
90
|
+
|
|
60
91
|
class LocalModelStorage(ModelStorage):
|
|
61
92
|
"""Stores and provides output of `GraphComponents` on local disk."""
|
|
62
93
|
|
|
@@ -122,7 +153,19 @@ class LocalModelStorage(ModelStorage):
|
|
|
122
153
|
# this restriction in environments where it's not possible
|
|
123
154
|
# to override this behavior, mostly for internal policy reasons
|
|
124
155
|
# reference: https://stackoverflow.com/a/49102229
|
|
125
|
-
|
|
156
|
+
try:
|
|
157
|
+
# Use extraction filter to normalize paths for compatibility
|
|
158
|
+
# before trying the \\?\ prefix approach first
|
|
159
|
+
prev_filter = getattr(tar, "extraction_filter", None)
|
|
160
|
+
tar.extraction_filter = create_combined_filter(prev_filter)
|
|
161
|
+
tar.extractall(f"\\\\?\\{temporary_directory}")
|
|
162
|
+
except Exception:
|
|
163
|
+
# Fallback for Python versions with tarfile security fix
|
|
164
|
+
logger.warning(
|
|
165
|
+
"Failed to extract model archive with long path support. "
|
|
166
|
+
"Falling back to regular extraction."
|
|
167
|
+
)
|
|
168
|
+
tar.extractall(temporary_directory)
|
|
126
169
|
else:
|
|
127
170
|
tar.extractall(temporary_directory)
|
|
128
171
|
LocalModelStorage._assert_not_rasa2_archive(temporary_directory)
|
rasa/shared/providers/_utils.py
CHANGED
|
@@ -1,87 +1,103 @@
|
|
|
1
1
|
from typing import Any, Dict, Optional
|
|
2
2
|
|
|
3
|
+
import boto3
|
|
3
4
|
import structlog
|
|
4
|
-
from
|
|
5
|
+
from botocore.exceptions import BotoCoreError, ClientError
|
|
5
6
|
|
|
6
7
|
from rasa.shared.constants import (
|
|
7
8
|
API_BASE_CONFIG_KEY,
|
|
8
9
|
API_VERSION_CONFIG_KEY,
|
|
9
10
|
AWS_ACCESS_KEY_ID_CONFIG_KEY,
|
|
10
|
-
|
|
11
|
+
AWS_BEDROCK_PROVIDER,
|
|
11
12
|
AWS_REGION_NAME_CONFIG_KEY,
|
|
12
|
-
|
|
13
|
+
AWS_SAGEMAKER_CHAT_PROVIDER,
|
|
14
|
+
AWS_SAGEMAKER_PROVIDER,
|
|
13
15
|
AWS_SECRET_ACCESS_KEY_CONFIG_KEY,
|
|
14
|
-
AWS_SECRET_ACCESS_KEY_ENV_VAR,
|
|
15
16
|
AWS_SESSION_TOKEN_CONFIG_KEY,
|
|
16
|
-
AWS_SESSION_TOKEN_ENV_VAR,
|
|
17
17
|
AZURE_API_BASE_ENV_VAR,
|
|
18
18
|
AZURE_API_VERSION_ENV_VAR,
|
|
19
19
|
DEPLOYMENT_CONFIG_KEY,
|
|
20
20
|
)
|
|
21
21
|
from rasa.shared.exceptions import ProviderClientValidationError
|
|
22
|
-
from rasa.shared.
|
|
23
|
-
_VALIDATE_ENVIRONMENT_MISSING_KEYS_KEY,
|
|
24
|
-
)
|
|
22
|
+
from rasa.shared.utils.io import resolve_environment_variables
|
|
25
23
|
|
|
26
24
|
structlogger = structlog.get_logger()
|
|
27
25
|
|
|
28
26
|
|
|
29
27
|
def validate_aws_setup_for_litellm_clients(
|
|
30
|
-
litellm_model_name: str, litellm_call_kwargs:
|
|
28
|
+
litellm_model_name: str, litellm_call_kwargs: Dict, source_log: str, provider: str
|
|
31
29
|
) -> None:
|
|
32
|
-
"""Validates the AWS setup for LiteLLM clients to ensure
|
|
33
|
-
environment variables or corresponding call kwargs are set.
|
|
30
|
+
"""Validates the AWS setup for LiteLLM clients to ensure credentials are set.
|
|
34
31
|
|
|
35
32
|
Args:
|
|
36
33
|
litellm_model_name (str): The name of the LiteLLM model being validated.
|
|
37
34
|
litellm_call_kwargs (dict): Additional keyword arguments passed to the client,
|
|
38
35
|
which may include configuration values for AWS credentials.
|
|
39
36
|
source_log (str): The source log identifier for structured logging.
|
|
37
|
+
provider (str): The provider for which the validation is being performed.
|
|
40
38
|
|
|
41
39
|
Raises:
|
|
42
40
|
ProviderClientValidationError: If any required AWS environment variable
|
|
43
41
|
or corresponding configuration key is missing.
|
|
44
42
|
"""
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
validation_info = validate_environment(litellm_model_name)
|
|
56
|
-
missing_environment_variables = validation_info.get(
|
|
57
|
-
_VALIDATE_ENVIRONMENT_MISSING_KEYS_KEY, []
|
|
43
|
+
# expand environment variables if referenced in the config
|
|
44
|
+
resolved_litellm_call_kwargs: Dict = resolve_environment_variables(
|
|
45
|
+
litellm_call_kwargs
|
|
46
|
+
) # type: ignore[assignment]
|
|
47
|
+
|
|
48
|
+
# boto3 only accepts bedrock and sagemaker as valid clients
|
|
49
|
+
# therefore we need to convert the provider name if it is defined
|
|
50
|
+
# as sagemaker_chat
|
|
51
|
+
provider = (
|
|
52
|
+
AWS_SAGEMAKER_PROVIDER if provider == AWS_SAGEMAKER_CHAT_PROVIDER else provider
|
|
58
53
|
)
|
|
59
|
-
# Filter out missing environment variables that have been set trough arguments
|
|
60
|
-
# in extra parameters
|
|
61
|
-
missing_environment_variables = [
|
|
62
|
-
missing_env_var
|
|
63
|
-
for missing_env_var in missing_environment_variables
|
|
64
|
-
if litellm_call_kwargs.get(envs_to_args.get(missing_env_var)) is None
|
|
65
|
-
]
|
|
66
54
|
|
|
67
|
-
if
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
55
|
+
# if the AWS credentials are defined in the endpoints yaml model config,
|
|
56
|
+
# either as referenced secret env vars or direct values, we need to pass them
|
|
57
|
+
# to the boto3 client to ensure that the client can connect to the AWS service.
|
|
58
|
+
additional_kwargs: Dict[str, Any] = {}
|
|
59
|
+
if AWS_ACCESS_KEY_ID_CONFIG_KEY in resolved_litellm_call_kwargs:
|
|
60
|
+
additional_kwargs[AWS_ACCESS_KEY_ID_CONFIG_KEY] = resolved_litellm_call_kwargs[
|
|
61
|
+
AWS_ACCESS_KEY_ID_CONFIG_KEY
|
|
74
62
|
]
|
|
63
|
+
if AWS_SECRET_ACCESS_KEY_CONFIG_KEY in resolved_litellm_call_kwargs:
|
|
64
|
+
additional_kwargs[AWS_SECRET_ACCESS_KEY_CONFIG_KEY] = (
|
|
65
|
+
resolved_litellm_call_kwargs[AWS_SECRET_ACCESS_KEY_CONFIG_KEY]
|
|
66
|
+
)
|
|
67
|
+
if AWS_SESSION_TOKEN_CONFIG_KEY in resolved_litellm_call_kwargs:
|
|
68
|
+
additional_kwargs[AWS_SESSION_TOKEN_CONFIG_KEY] = resolved_litellm_call_kwargs[
|
|
69
|
+
AWS_SESSION_TOKEN_CONFIG_KEY
|
|
70
|
+
]
|
|
71
|
+
if AWS_REGION_NAME_CONFIG_KEY in resolved_litellm_call_kwargs:
|
|
72
|
+
additional_kwargs["region_name"] = resolved_litellm_call_kwargs[
|
|
73
|
+
AWS_REGION_NAME_CONFIG_KEY
|
|
74
|
+
]
|
|
75
|
+
|
|
76
|
+
try:
|
|
77
|
+
# We are using the boto3 client because it can discover the AWS credentials
|
|
78
|
+
# from the environment variables, credentials file, or IAM roles.
|
|
79
|
+
# This is necessary to ensure that the client can connect to the AWS service.
|
|
80
|
+
aws_client = boto3.client(provider, **additional_kwargs)
|
|
81
|
+
|
|
82
|
+
# Using different method calls available to different AWS clients
|
|
83
|
+
# to test the connection
|
|
84
|
+
if provider == AWS_SAGEMAKER_PROVIDER:
|
|
85
|
+
aws_client.list_models()
|
|
86
|
+
elif provider == AWS_BEDROCK_PROVIDER:
|
|
87
|
+
aws_client.get_model_invocation_logging_configuration()
|
|
88
|
+
|
|
89
|
+
except (ClientError, BotoCoreError) as exc:
|
|
75
90
|
event_info = (
|
|
76
|
-
f"
|
|
77
|
-
f"
|
|
78
|
-
f"
|
|
79
|
-
f"
|
|
91
|
+
f"Failed to validate AWS setup for LiteLLM clients: {exc}. "
|
|
92
|
+
f"Ensure that you are using one of the available authentication methods:"
|
|
93
|
+
f"credentials file, environment variables, or IAM roles. "
|
|
94
|
+
f"Also, ensure that the AWS region is set correctly. "
|
|
80
95
|
)
|
|
81
96
|
structlogger.error(
|
|
82
|
-
f"{source_log}.
|
|
97
|
+
f"{source_log}.validate_aws_credentials_for_litellm_clients",
|
|
83
98
|
event_info=event_info,
|
|
84
|
-
|
|
99
|
+
exception=str(exc),
|
|
100
|
+
model_name=litellm_model_name,
|
|
85
101
|
)
|
|
86
102
|
raise ProviderClientValidationError(event_info)
|
|
87
103
|
|
|
@@ -37,6 +37,7 @@ class DefaultLiteLLMEmbeddingClient(_BaseLiteLLMEmbeddingClient):
|
|
|
37
37
|
|
|
38
38
|
@classmethod
|
|
39
39
|
def from_config(cls, config: Dict[str, Any]) -> "DefaultLiteLLMEmbeddingClient":
|
|
40
|
+
"""Creates a DefaultLiteLLMEmbeddingClient instance from a config dict."""
|
|
40
41
|
default_config = DefaultLiteLLMClientConfig.from_dict(config)
|
|
41
42
|
return cls(
|
|
42
43
|
model=default_config.model,
|
|
@@ -121,6 +122,7 @@ class DefaultLiteLLMEmbeddingClient(_BaseLiteLLMEmbeddingClient):
|
|
|
121
122
|
self._litellm_model_name,
|
|
122
123
|
self._litellm_extra_parameters,
|
|
123
124
|
"default_litellm_embedding_client",
|
|
125
|
+
provider=self.provider,
|
|
124
126
|
)
|
|
125
127
|
else:
|
|
126
128
|
super().validate_client_setup()
|
|
@@ -39,6 +39,7 @@ class DefaultLiteLLMClient(_BaseLiteLLMClient):
|
|
|
39
39
|
|
|
40
40
|
@classmethod
|
|
41
41
|
def from_config(cls, config: Dict[str, Any]) -> DefaultLiteLLMClient:
|
|
42
|
+
"""Creates a DefaultLiteLLMClient instance from a configuration dictionary."""
|
|
42
43
|
default_config = DefaultLiteLLMClientConfig.from_dict(config)
|
|
43
44
|
return cls(
|
|
44
45
|
model=default_config.model,
|
|
@@ -110,6 +111,7 @@ class DefaultLiteLLMClient(_BaseLiteLLMClient):
|
|
|
110
111
|
self._litellm_model_name,
|
|
111
112
|
self._litellm_extra_parameters,
|
|
112
113
|
"default_litellm_llm_client",
|
|
114
|
+
provider=self.provider,
|
|
113
115
|
)
|
|
114
116
|
else:
|
|
115
117
|
super().validate_client_setup()
|
rasa/studio/upload.py
CHANGED
|
@@ -115,9 +115,10 @@ def run_validation(args: argparse.Namespace) -> None:
|
|
|
115
115
|
"""
|
|
116
116
|
from rasa.validator import Validator
|
|
117
117
|
|
|
118
|
+
training_data_paths = args.data if isinstance(args.data, list) else [args.data]
|
|
118
119
|
training_data_importer = TrainingDataImporter.load_from_dict(
|
|
119
120
|
domain_path=args.domain,
|
|
120
|
-
training_data_paths=
|
|
121
|
+
training_data_paths=training_data_paths,
|
|
121
122
|
config_path=args.config,
|
|
122
123
|
expand_env_vars=False,
|
|
123
124
|
)
|
|
@@ -263,8 +264,9 @@ def build_calm_import_parts(
|
|
|
263
264
|
domain_from_files = importer.get_user_domain().as_dict()
|
|
264
265
|
domain = extract_values(domain_from_files, DOMAIN_KEYS)
|
|
265
266
|
|
|
267
|
+
training_data_paths = data_path if isinstance(data_path, list) else [str(data_path)]
|
|
266
268
|
flow_importer = FlowSyncImporter.load_from_dict(
|
|
267
|
-
training_data_paths=
|
|
269
|
+
training_data_paths=training_data_paths, expand_env_vars=False
|
|
268
270
|
)
|
|
269
271
|
|
|
270
272
|
flows = list(flow_importer.get_user_flows())
|
|
@@ -272,7 +274,7 @@ def build_calm_import_parts(
|
|
|
272
274
|
flows = read_yaml(flows_yaml, expand_env_vars=False)
|
|
273
275
|
|
|
274
276
|
nlu_importer = TrainingDataImporter.load_from_dict(
|
|
275
|
-
training_data_paths=
|
|
277
|
+
training_data_paths=training_data_paths, expand_env_vars=False
|
|
276
278
|
)
|
|
277
279
|
nlu_data = nlu_importer.get_nlu_data()
|
|
278
280
|
nlu_examples = nlu_data.filter_training_examples(
|
|
@@ -349,9 +351,10 @@ def upload_nlu_assistant(
|
|
|
349
351
|
"rasa.studio.upload.nlu_data_read",
|
|
350
352
|
event_info="Found DM1 assistant data, parsing...",
|
|
351
353
|
)
|
|
354
|
+
training_data_paths = args.data if isinstance(args.data, list) else [args.data]
|
|
352
355
|
importer = TrainingDataImporter.load_from_dict(
|
|
353
356
|
domain_path=args.domain,
|
|
354
|
-
training_data_paths=
|
|
357
|
+
training_data_paths=training_data_paths,
|
|
355
358
|
config_path=args.config,
|
|
356
359
|
expand_env_vars=False,
|
|
357
360
|
)
|
rasa/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: rasa-pro
|
|
3
|
-
Version: 3.13.
|
|
3
|
+
Version: 3.13.8
|
|
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
|
Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
|
|
6
6
|
Author: Rasa Technologies GmbH
|
|
@@ -443,7 +443,7 @@ rasa/dialogue_understanding/patterns/skip_question.py,sha256=fJ1MC0WEEtS-BpnGJEf
|
|
|
443
443
|
rasa/dialogue_understanding/patterns/user_silence.py,sha256=xP-QMnd-MsybH5z4g01hBv4OLOHcw6m3rc26LQfe2zo,1140
|
|
444
444
|
rasa/dialogue_understanding/patterns/validate_slot.py,sha256=hqd5AEGT3M3HLNhMwuI9W9kZNCvgU6GyI-2xc2b4kz8,2085
|
|
445
445
|
rasa/dialogue_understanding/processor/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
446
|
-
rasa/dialogue_understanding/processor/command_processor.py,sha256=
|
|
446
|
+
rasa/dialogue_understanding/processor/command_processor.py,sha256=X1sc0y1nPhmHiDRaREVCbIblsLIoAny7S1eQq6BNVmI,33507
|
|
447
447
|
rasa/dialogue_understanding/processor/command_processor_component.py,sha256=rkErI_Uo7s3LsEojUSGSRbWGyGaX7GtGOYSJn0V-TI4,1650
|
|
448
448
|
rasa/dialogue_understanding/stack/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
449
449
|
rasa/dialogue_understanding/stack/dialogue_stack.py,sha256=cYV6aQeh0EuOJHODDqK3biqXozYTX8baPgLwHhPxFqs,5244
|
|
@@ -511,7 +511,7 @@ rasa/engine/runner/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
|
511
511
|
rasa/engine/runner/dask.py,sha256=ocmpRpDpRPMaisZcBFDeUPbWGl6oWiU9UXyWimE9074,9476
|
|
512
512
|
rasa/engine/runner/interface.py,sha256=zkaKe5vjiYrR7Efepr7LVZRJEGNDM959rkdR62vEgTM,1679
|
|
513
513
|
rasa/engine/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
514
|
-
rasa/engine/storage/local_model_storage.py,sha256=
|
|
514
|
+
rasa/engine/storage/local_model_storage.py,sha256=Y2VKg04I63WgIL9XeLhJs7SkQMRqUziKyTj9QnhTWZ8,11382
|
|
515
515
|
rasa/engine/storage/resource.py,sha256=sUCBNSIrjEr68wCj7D48hzmIih7ezmT88esMhyykA88,3932
|
|
516
516
|
rasa/engine/storage/storage.py,sha256=mNLptsu9cOXWu8k55CnjZMByv6eqh2rEOqXC9__k8aE,6930
|
|
517
517
|
rasa/engine/training/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -738,13 +738,13 @@ rasa/shared/providers/_configs/rasa_llm_client_config.py,sha256=UiEVmjkoS3a0AHLQ
|
|
|
738
738
|
rasa/shared/providers/_configs/self_hosted_llm_client_config.py,sha256=rxUFj8s4HAukjhILlOs7vrgXL9WNlfvGEcfMVEa-LrA,5952
|
|
739
739
|
rasa/shared/providers/_configs/utils.py,sha256=AUnvh4qF9VfLoXpTPoZfwYQ9YsVW8HPMbWa-vG6wOHw,453
|
|
740
740
|
rasa/shared/providers/_ssl_verification_utils.py,sha256=vUnP0vocf0GQ0wG8IQpPcCet4c1C9-wQWQNckNWbDBk,4165
|
|
741
|
-
rasa/shared/providers/_utils.py,sha256=
|
|
741
|
+
rasa/shared/providers/_utils.py,sha256=LVPsZbl6zzF4hZE6bNVwgY4BkbeIWnRD0dhEqA-kWkk,6975
|
|
742
742
|
rasa/shared/providers/constants.py,sha256=hgV8yNGxIbID_2h65OoSfSjIE4UkazrsqRg4SdkPAmI,234
|
|
743
743
|
rasa/shared/providers/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
744
744
|
rasa/shared/providers/embedding/_base_litellm_embedding_client.py,sha256=1CUYxps_TrLVyPsPfOw7iDS502fDePseBIKnqc3ncwQ,9005
|
|
745
745
|
rasa/shared/providers/embedding/_langchain_embedding_client_adapter.py,sha256=IR2Rb3ReJ9C9sxOoOGRXgtz8STWdMREs_4AeSMKFjl4,2135
|
|
746
746
|
rasa/shared/providers/embedding/azure_openai_embedding_client.py,sha256=HKHMx6m669CC19u6GPnpSLzA0PwvHlquhaK3QhqHI78,12469
|
|
747
|
-
rasa/shared/providers/embedding/default_litellm_embedding_client.py,sha256=
|
|
747
|
+
rasa/shared/providers/embedding/default_litellm_embedding_client.py,sha256=FQUFglXN9Ty-FnUaA80itdyutDxLk7HRZwzULG02k8s,4520
|
|
748
748
|
rasa/shared/providers/embedding/embedding_client.py,sha256=LGFlnsf5B0XDn8GRn_mLfCJ5erhf2p3zXiKTdG9jNXY,2839
|
|
749
749
|
rasa/shared/providers/embedding/embedding_response.py,sha256=H55mSAL3LfVvDlBklaCCQ4AnNwCsQSQ1f2D0oPrx3FY,1204
|
|
750
750
|
rasa/shared/providers/embedding/huggingface_local_embedding_client.py,sha256=Zo3gyj49h4LxXV7bx39TXpIPKlernG-5xzqXczTCbig,6913
|
|
@@ -753,7 +753,7 @@ rasa/shared/providers/embedding/openai_embedding_client.py,sha256=XNRGE7apo2v3kW
|
|
|
753
753
|
rasa/shared/providers/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
754
754
|
rasa/shared/providers/llm/_base_litellm_client.py,sha256=Ua5Kt6VGe5vRzSzWWWx2Q3LH2PCDd8V7V4zfYD464yU,11634
|
|
755
755
|
rasa/shared/providers/llm/azure_openai_llm_client.py,sha256=ui85vothxR2P_-eLc4nLgbpjnpEKY2BXnIjLxBZoYz8,12504
|
|
756
|
-
rasa/shared/providers/llm/default_litellm_llm_client.py,sha256=
|
|
756
|
+
rasa/shared/providers/llm/default_litellm_llm_client.py,sha256=q6QoyPPq0K7V9aeD0zr08ZK69xlH4GseGFdhUxpWcG8,4210
|
|
757
757
|
rasa/shared/providers/llm/litellm_router_llm_client.py,sha256=_6vAdPLAVSI_sBJLaXLnE87M-0ip_klfQ78fQ_pyoyI,7947
|
|
758
758
|
rasa/shared/providers/llm/llm_client.py,sha256=-hTCRsL-A3GCMRHtcyCgcCyra-9OJ8GUC-mURoRXH0k,3242
|
|
759
759
|
rasa/shared/providers/llm/llm_response.py,sha256=8mOpZdmh4-3yM7aOmNO0yEYUmRDErfoP7ZDMUuHr2Cc,3504
|
|
@@ -798,7 +798,7 @@ rasa/studio/pull/pull.py,sha256=Qr-Ms4pXNS04hvdciZCfbeC1hag6v2puwhHwhcFpA8Q,7750
|
|
|
798
798
|
rasa/studio/push.py,sha256=_EopU6RQnbQub33x0TVXOTWCYUfOQMDc6KdDNmltLMs,4279
|
|
799
799
|
rasa/studio/results_logger.py,sha256=lwKROoQjzzJVnFoceLQ-z-5Hg35TfHo-8R4MDrMLYHY,5126
|
|
800
800
|
rasa/studio/train.py,sha256=-UTPABXNWlnp3iIMKeslgprEtRQWcr8mF-Q7bacKxEw,4240
|
|
801
|
-
rasa/studio/upload.py,sha256=
|
|
801
|
+
rasa/studio/upload.py,sha256=2zK0ThEcIRUd_PEYWuPpQNAwbATV_38GveTVZJZNysM,22927
|
|
802
802
|
rasa/studio/utils.py,sha256=WgPbmMcdb3yuZU36zxFqUkJwqi5ma7TZT4Y-mXYe54k,1429
|
|
803
803
|
rasa/telemetry.py,sha256=2W1Tq1HMQm60o5oiy5DEGrIqSlpYMaJybY4DvCa6Gg8,69712
|
|
804
804
|
rasa/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -846,9 +846,9 @@ rasa/utils/train_utils.py,sha256=ClJx-6x3-h3Vt6mskacgkcCUJTMXjFPe3zAcy_DfmaU,212
|
|
|
846
846
|
rasa/utils/url_tools.py,sha256=dZ1HGkVdWTJB7zYEdwoDIrEuyX9HE5WsxKKFVsXBLE0,1218
|
|
847
847
|
rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
|
|
848
848
|
rasa/validator.py,sha256=fhRlHQvuBkiup0FnNYmwRmqQwC3QpdCJt0TuvW4jMaI,83125
|
|
849
|
-
rasa/version.py,sha256=
|
|
850
|
-
rasa_pro-3.13.
|
|
851
|
-
rasa_pro-3.13.
|
|
852
|
-
rasa_pro-3.13.
|
|
853
|
-
rasa_pro-3.13.
|
|
854
|
-
rasa_pro-3.13.
|
|
849
|
+
rasa/version.py,sha256=FdIHyq5ZwdevHNe13HjSMW31E-Av-kAZu1zwq_POaKY,117
|
|
850
|
+
rasa_pro-3.13.8.dist-info/METADATA,sha256=rD2Xf2X3gvNlTn6wwUM34JOMNcKrQKFYpu7m2EJsXUs,10550
|
|
851
|
+
rasa_pro-3.13.8.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
|
|
852
|
+
rasa_pro-3.13.8.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
|
853
|
+
rasa_pro-3.13.8.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
|
|
854
|
+
rasa_pro-3.13.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|