rasa-pro 3.12.17__py3-none-any.whl → 3.12.18__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/core/actions/action.py +1 -4
- rasa/core/processor.py +50 -5
- rasa/dialogue_understanding/commands/set_slot_command.py +6 -0
- rasa/dialogue_understanding/commands/utils.py +26 -2
- rasa/dialogue_understanding/stack/frames/flow_stack_frame.py +17 -4
- rasa/dialogue_understanding/utils.py +68 -12
- rasa/dialogue_understanding_test/du_test_schema.yml +3 -3
- rasa/e2e_test/e2e_test_schema.yml +3 -3
- rasa/version.py +1 -1
- {rasa_pro-3.12.17.dist-info → rasa_pro-3.12.18.dist-info}/METADATA +1 -1
- {rasa_pro-3.12.17.dist-info → rasa_pro-3.12.18.dist-info}/RECORD +14 -14
- {rasa_pro-3.12.17.dist-info → rasa_pro-3.12.18.dist-info}/NOTICE +0 -0
- {rasa_pro-3.12.17.dist-info → rasa_pro-3.12.18.dist-info}/WHEEL +0 -0
- {rasa_pro-3.12.17.dist-info → rasa_pro-3.12.18.dist-info}/entry_points.txt +0 -0
rasa/core/actions/action.py
CHANGED
|
@@ -1137,15 +1137,12 @@ class ActionSendText(Action):
|
|
|
1137
1137
|
tracker: "DialogueStateTracker",
|
|
1138
1138
|
domain: "Domain",
|
|
1139
1139
|
metadata: Optional[Dict[Text, Any]] = None,
|
|
1140
|
-
create_bot_uttered_event: bool = True,
|
|
1141
1140
|
) -> List[Event]:
|
|
1142
1141
|
"""Runs action. Please see parent class for the full docstring."""
|
|
1143
1142
|
fallback = {"text": ""}
|
|
1144
1143
|
metadata_copy = copy.deepcopy(metadata) if metadata else {}
|
|
1145
1144
|
message = metadata_copy.get("message", fallback)
|
|
1146
|
-
|
|
1147
|
-
return [create_bot_utterance(message)]
|
|
1148
|
-
return []
|
|
1145
|
+
return [create_bot_utterance(message)]
|
|
1149
1146
|
|
|
1150
1147
|
|
|
1151
1148
|
class ActionExtractSlots(Action):
|
rasa/core/processor.py
CHANGED
|
@@ -34,6 +34,9 @@ from rasa.dialogue_understanding.commands import (
|
|
|
34
34
|
CannotHandleCommand,
|
|
35
35
|
Command,
|
|
36
36
|
NoopCommand,
|
|
37
|
+
RestartCommand,
|
|
38
|
+
SessionEndCommand,
|
|
39
|
+
SessionStartCommand,
|
|
37
40
|
SetSlotCommand,
|
|
38
41
|
)
|
|
39
42
|
from rasa.dialogue_understanding.commands.utils import (
|
|
@@ -880,19 +883,61 @@ class MessageProcessor:
|
|
|
880
883
|
tracker.has_coexistence_routing_slot
|
|
881
884
|
and tracker.get_slot(ROUTE_TO_CALM_SLOT) is None
|
|
882
885
|
):
|
|
883
|
-
#
|
|
884
|
-
#
|
|
885
|
-
#
|
|
886
|
-
#
|
|
886
|
+
# If we are currently not routing to either CALM or DM1:
|
|
887
|
+
# - Sticky route to CALM if there are any commands
|
|
888
|
+
# from the trigger intent parsing
|
|
889
|
+
# - Sticky route to DM1 if there are no commands present
|
|
890
|
+
route_to_calm_slot_value = self._determine_route_to_calm_slot_value(
|
|
891
|
+
nlu_adapted_commands
|
|
892
|
+
)
|
|
887
893
|
commands += [
|
|
888
894
|
SetSlotCommand(
|
|
889
|
-
ROUTE_TO_CALM_SLOT,
|
|
895
|
+
ROUTE_TO_CALM_SLOT, route_to_calm_slot_value
|
|
890
896
|
).as_dict()
|
|
891
897
|
]
|
|
892
898
|
|
|
893
899
|
parse_data[COMMANDS] = commands
|
|
894
900
|
return parse_data
|
|
895
901
|
|
|
902
|
+
def _determine_route_to_calm_slot_value(
|
|
903
|
+
self, nlu_adapted_commands: List[Dict[str, Any]]
|
|
904
|
+
) -> Optional[bool]:
|
|
905
|
+
"""Determines what value should be assigned to `ROUTE_TO_CALM_SLOT`.
|
|
906
|
+
|
|
907
|
+
Returns:
|
|
908
|
+
- True: If any command other than:
|
|
909
|
+
- SessionStartCommand
|
|
910
|
+
- SessionEndCommand
|
|
911
|
+
- RestartCommand
|
|
912
|
+
is present.
|
|
913
|
+
- None: If only ignored system commands are present.
|
|
914
|
+
- False If no commands at all.
|
|
915
|
+
"""
|
|
916
|
+
system_commands_to_ignore = [
|
|
917
|
+
SessionStartCommand.command(),
|
|
918
|
+
SessionEndCommand.command(),
|
|
919
|
+
RestartCommand.command(),
|
|
920
|
+
]
|
|
921
|
+
|
|
922
|
+
# Exclude the system commands, as it doesn't originate from the user's
|
|
923
|
+
# input intent and shouldn't influence the decision for setting
|
|
924
|
+
# ROUTE_TO_CALM_SLOT.
|
|
925
|
+
intent_triggered_commands = [
|
|
926
|
+
command
|
|
927
|
+
for command in nlu_adapted_commands
|
|
928
|
+
if command.get("command") not in system_commands_to_ignore
|
|
929
|
+
]
|
|
930
|
+
|
|
931
|
+
if len(intent_triggered_commands) > 0:
|
|
932
|
+
# There are commands other than system commands present - route to CALM
|
|
933
|
+
return True
|
|
934
|
+
elif len(nlu_adapted_commands) > 0:
|
|
935
|
+
# Only system command is present — defer routing decision
|
|
936
|
+
return None
|
|
937
|
+
else:
|
|
938
|
+
# No commands at all — route to DM1
|
|
939
|
+
return False
|
|
940
|
+
|
|
896
941
|
def _update_full_retrieval_intent(self, parse_data: Dict[Text, Any]) -> None:
|
|
897
942
|
"""Update the parse data with the full retrieval intent.
|
|
898
943
|
|
|
@@ -13,6 +13,7 @@ from rasa.dialogue_understanding.commands.command_syntax_manager import (
|
|
|
13
13
|
)
|
|
14
14
|
from rasa.dialogue_understanding.commands.utils import (
|
|
15
15
|
clean_extracted_value,
|
|
16
|
+
find_default_flows_collecting_slot,
|
|
16
17
|
get_nullable_slot_value,
|
|
17
18
|
)
|
|
18
19
|
from rasa.dialogue_understanding.patterns.collect_information import (
|
|
@@ -136,6 +137,11 @@ class SetSlotCommand(Command):
|
|
|
136
137
|
):
|
|
137
138
|
# Get the other predicted flows from the most recent message on the tracker.
|
|
138
139
|
predicted_flows = get_flows_predicted_to_start_from_tracker(tracker)
|
|
140
|
+
if not predicted_flows:
|
|
141
|
+
# If no predicted flows, check for default flows collecting the slot.
|
|
142
|
+
predicted_flows = find_default_flows_collecting_slot(
|
|
143
|
+
self.name, all_flows
|
|
144
|
+
)
|
|
139
145
|
use_slot_fill = any(
|
|
140
146
|
step.collect == self.name and not step.ask_before_filling
|
|
141
147
|
for flow in all_flows.underlying_flows
|
|
@@ -7,18 +7,18 @@ from rasa.dialogue_understanding.patterns.validate_slot import (
|
|
|
7
7
|
)
|
|
8
8
|
from rasa.shared.constants import ACTION_ASK_PREFIX, UTTER_ASK_PREFIX
|
|
9
9
|
from rasa.shared.core.events import Event, SlotSet
|
|
10
|
+
from rasa.shared.core.flows import FlowsList
|
|
10
11
|
from rasa.shared.core.slots import Slot
|
|
11
12
|
from rasa.shared.core.trackers import DialogueStateTracker
|
|
12
13
|
|
|
13
14
|
if TYPE_CHECKING:
|
|
14
15
|
from rasa.dialogue_understanding.commands import StartFlowCommand
|
|
15
|
-
from rasa.shared.core.flows import FlowsList
|
|
16
16
|
|
|
17
17
|
structlogger = structlog.get_logger()
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
def start_flow_by_name(
|
|
21
|
-
flow_name: str, flows:
|
|
21
|
+
flow_name: str, flows: FlowsList
|
|
22
22
|
) -> Optional["StartFlowCommand"]:
|
|
23
23
|
from rasa.dialogue_understanding.commands import StartFlowCommand
|
|
24
24
|
|
|
@@ -126,3 +126,27 @@ def create_validate_frames_from_slot_set_events(
|
|
|
126
126
|
validate_frames.append(frame)
|
|
127
127
|
|
|
128
128
|
return tracker, validate_frames
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
def find_default_flows_collecting_slot(
|
|
132
|
+
slot_name: str, all_flows: FlowsList
|
|
133
|
+
) -> List[str]:
|
|
134
|
+
"""Find default flows that have collect steps matching the specified slot name.
|
|
135
|
+
|
|
136
|
+
Args:
|
|
137
|
+
slot_name: The name of the slot to search for.
|
|
138
|
+
all_flows: All flows in the assistant.
|
|
139
|
+
|
|
140
|
+
Returns:
|
|
141
|
+
List of flow IDs for default flows that collect the specified slot
|
|
142
|
+
without asking before filling.
|
|
143
|
+
"""
|
|
144
|
+
return [
|
|
145
|
+
flow.id
|
|
146
|
+
for flow in all_flows.underlying_flows
|
|
147
|
+
if flow.is_rasa_default_flow
|
|
148
|
+
and any(
|
|
149
|
+
step.collect == slot_name and not step.ask_before_filling
|
|
150
|
+
for step in flow.get_collect_steps()
|
|
151
|
+
)
|
|
152
|
+
]
|
|
@@ -53,7 +53,8 @@ class FlowStackFrameType(str, Enum):
|
|
|
53
53
|
typ: The string to create the `FlowStackFrameType` from.
|
|
54
54
|
|
|
55
55
|
Returns:
|
|
56
|
-
|
|
56
|
+
The created `FlowStackFrameType`.
|
|
57
|
+
"""
|
|
57
58
|
if typ is None:
|
|
58
59
|
return FlowStackFrameType.REGULAR
|
|
59
60
|
elif typ == FlowStackFrameType.INTERRUPT.value:
|
|
@@ -107,7 +108,8 @@ class BaseFlowStackFrame(DialogueStackFrame):
|
|
|
107
108
|
all_flows: All flows in the assistant.
|
|
108
109
|
|
|
109
110
|
Returns:
|
|
110
|
-
|
|
111
|
+
The current flow.
|
|
112
|
+
"""
|
|
111
113
|
flow = all_flows.flow_by_id(self.flow_id)
|
|
112
114
|
if not flow:
|
|
113
115
|
# we shouldn't ever end up with a frame that belongs to a non
|
|
@@ -122,9 +124,20 @@ class BaseFlowStackFrame(DialogueStackFrame):
|
|
|
122
124
|
all_flows: All flows in the assistant.
|
|
123
125
|
|
|
124
126
|
Returns:
|
|
125
|
-
The current flow step.
|
|
127
|
+
The current flow step.
|
|
128
|
+
"""
|
|
126
129
|
flow = self.flow(all_flows)
|
|
127
|
-
|
|
130
|
+
|
|
131
|
+
step_id = self.step_id
|
|
132
|
+
# in 3.11.4 we added the flow_id as a prefix to the step_id
|
|
133
|
+
# this causes issues when loading old dialogues as the prefix is missing
|
|
134
|
+
# (see https://rasahq.atlassian.net/jira/software/c/projects/ENG/boards/43?selectedIssue=ENG-1939)
|
|
135
|
+
# so we try to find the step by adding the flow prefix to old step_ids as well
|
|
136
|
+
# TODO: remove this in 4.0.0
|
|
137
|
+
alternative_step_id = f"{self.flow_id}_{self.step_id}"
|
|
138
|
+
|
|
139
|
+
step = flow.step_by_id(step_id) or flow.step_by_id(alternative_step_id)
|
|
140
|
+
|
|
128
141
|
if not step:
|
|
129
142
|
# we shouldn't ever end up with a frame that belongs to a non
|
|
130
143
|
# existing step, but if we do, we should raise an error
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
from contextlib import contextmanager
|
|
2
2
|
from typing import Any, Dict, Generator, List, Optional, Text
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
import structlog
|
|
5
|
+
|
|
6
|
+
from rasa.dialogue_understanding.commands import Command, NoopCommand, SetSlotCommand
|
|
5
7
|
from rasa.dialogue_understanding.constants import (
|
|
6
8
|
RASA_RECORD_COMMANDS_AND_PROMPTS_ENV_VAR_NAME,
|
|
7
9
|
)
|
|
@@ -16,7 +18,6 @@ from rasa.shared.nlu.constants import (
|
|
|
16
18
|
KEY_USER_PROMPT,
|
|
17
19
|
PREDICTED_COMMANDS,
|
|
18
20
|
PROMPTS,
|
|
19
|
-
SET_SLOT_COMMAND,
|
|
20
21
|
)
|
|
21
22
|
from rasa.shared.nlu.training_data.message import Message
|
|
22
23
|
from rasa.shared.providers.llm.llm_response import LLMResponse
|
|
@@ -26,6 +27,8 @@ record_commands_and_prompts = get_bool_env_variable(
|
|
|
26
27
|
RASA_RECORD_COMMANDS_AND_PROMPTS_ENV_VAR_NAME, False
|
|
27
28
|
)
|
|
28
29
|
|
|
30
|
+
structlogger = structlog.get_logger()
|
|
31
|
+
|
|
29
32
|
|
|
30
33
|
@contextmanager
|
|
31
34
|
def set_record_commands_and_prompts() -> Generator:
|
|
@@ -144,21 +147,74 @@ def _handle_via_nlu_in_coexistence(
|
|
|
144
147
|
if not tracker:
|
|
145
148
|
return False
|
|
146
149
|
|
|
150
|
+
commands = message.get(COMMANDS, [])
|
|
151
|
+
|
|
152
|
+
# If coexistence routing slot is not active, this setup doesn't
|
|
153
|
+
# support dual routing -> default to CALM
|
|
147
154
|
if not tracker.has_coexistence_routing_slot:
|
|
155
|
+
structlogger.debug(
|
|
156
|
+
"utils.handle_via_nlu_in_coexistence"
|
|
157
|
+
".tracker_missing_route_session_to_calm_slot",
|
|
158
|
+
event_info=(
|
|
159
|
+
f"Tracker doesn't have the '{ROUTE_TO_CALM_SLOT}' slot."
|
|
160
|
+
f"Routing to CALM."
|
|
161
|
+
),
|
|
162
|
+
route_session_to_calm=commands,
|
|
163
|
+
)
|
|
148
164
|
return False
|
|
149
165
|
|
|
166
|
+
# Check if the routing decision is stored in the tracker slot
|
|
167
|
+
# If slot is true -> route to CALM
|
|
168
|
+
# If slot is false -> route to DM1
|
|
150
169
|
value = tracker.get_slot(ROUTE_TO_CALM_SLOT)
|
|
151
170
|
if value is not None:
|
|
171
|
+
structlogger.debug(
|
|
172
|
+
"utils.handle_via_nlu_in_coexistence"
|
|
173
|
+
".tracker_route_session_to_calm_slot_value",
|
|
174
|
+
event_info=(
|
|
175
|
+
f"Tracker slot '{ROUTE_TO_CALM_SLOT}' set to '{value}'. "
|
|
176
|
+
f"Routing to "
|
|
177
|
+
f"{'CALM' if value else 'NLU system'}."
|
|
178
|
+
),
|
|
179
|
+
route_session_to_calm_value_in_tracker=value,
|
|
180
|
+
)
|
|
152
181
|
return not value
|
|
153
182
|
|
|
154
|
-
# routing
|
|
155
|
-
#
|
|
156
|
-
if
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
183
|
+
# Non-sticky routing to DM1 is only allowed if NoopCommand is the sole predicted
|
|
184
|
+
# command. In that case, route to DM1
|
|
185
|
+
if len(commands) == 1 and commands[0].get("command") == NoopCommand.command():
|
|
186
|
+
structlogger.debug(
|
|
187
|
+
"utils.handle_via_nlu_in_coexistence.noop_command_detected",
|
|
188
|
+
event_info="NoopCommand found. Routing to NLU system non-sticky.",
|
|
189
|
+
commands=commands,
|
|
190
|
+
)
|
|
191
|
+
return True
|
|
192
|
+
|
|
193
|
+
# If the slot was reset (e.g. new session), try to infer routing from
|
|
194
|
+
# attached commands. Look for a SetSlotCommand targeting the ROUTE_TO_CALM_SLOT
|
|
195
|
+
for command in message.get(COMMANDS, []):
|
|
196
|
+
# If slot is true -> route to CALM
|
|
197
|
+
# If slot is false -> route to DM1
|
|
198
|
+
if (
|
|
199
|
+
command.get("command") == SetSlotCommand.command()
|
|
200
|
+
and command.get("name") == ROUTE_TO_CALM_SLOT
|
|
201
|
+
):
|
|
202
|
+
structlogger.debug(
|
|
203
|
+
"utils.handle_via_nlu_in_coexistence.set_slot_command_detected",
|
|
204
|
+
event_info=(
|
|
205
|
+
f"SetSlotCommand setting the '{ROUTE_TO_CALM_SLOT}' to "
|
|
206
|
+
f"'{command.get('value')}'. "
|
|
207
|
+
f"Routing to "
|
|
208
|
+
f"{'CALM' if command.get('value') else 'NLU system'}."
|
|
209
|
+
),
|
|
210
|
+
commands=commands,
|
|
211
|
+
)
|
|
212
|
+
return not command.get("value")
|
|
213
|
+
|
|
214
|
+
# If no routing info is available -> default to CALM
|
|
215
|
+
structlogger.debug(
|
|
216
|
+
"utils.handle_via_nlu_in_coexistence.no_routing_info_available",
|
|
217
|
+
event_info="No routing info available. Routing to CALM.",
|
|
218
|
+
commands=commands,
|
|
219
|
+
)
|
|
164
220
|
return False
|
|
@@ -5,12 +5,12 @@ mapping:
|
|
|
5
5
|
sequence:
|
|
6
6
|
- type: map
|
|
7
7
|
mapping:
|
|
8
|
-
regex;(^[a-zA-Z_]+[a-zA-Z0-9_]*$):
|
|
8
|
+
regex;(^[a-zA-Z_]+[a-zA-Z0-9_\-]*$):
|
|
9
9
|
type: "seq"
|
|
10
10
|
sequence:
|
|
11
11
|
- type: map
|
|
12
12
|
mapping:
|
|
13
|
-
regex;(^[a-zA-Z_]+[a-zA-Z0-9_]*$):
|
|
13
|
+
regex;(^[a-zA-Z_]+[a-zA-Z0-9_\-]*$):
|
|
14
14
|
type: any
|
|
15
15
|
|
|
16
16
|
metadata:
|
|
@@ -129,7 +129,7 @@ mapping:
|
|
|
129
129
|
type: "seq"
|
|
130
130
|
sequence:
|
|
131
131
|
- type: "str"
|
|
132
|
-
pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$
|
|
132
|
+
pattern: ^[a-zA-Z_]+[a-zA-Z0-9_\-]*$
|
|
133
133
|
metadata:
|
|
134
134
|
type: "str"
|
|
135
135
|
pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$
|
|
@@ -5,12 +5,12 @@ mapping:
|
|
|
5
5
|
sequence:
|
|
6
6
|
- type: map
|
|
7
7
|
mapping:
|
|
8
|
-
regex;(^[a-zA-Z_]+[a-zA-Z0-9_]*$):
|
|
8
|
+
regex;(^[a-zA-Z_]+[a-zA-Z0-9_\-]*$):
|
|
9
9
|
type: "seq"
|
|
10
10
|
sequence:
|
|
11
11
|
- type: map
|
|
12
12
|
mapping:
|
|
13
|
-
regex;(^[a-zA-Z_]+[a-zA-Z0-9_]*$):
|
|
13
|
+
regex;(^[a-zA-Z_]+[a-zA-Z0-9_\-]*$):
|
|
14
14
|
type: any
|
|
15
15
|
|
|
16
16
|
metadata:
|
|
@@ -129,7 +129,7 @@ mapping:
|
|
|
129
129
|
type: "seq"
|
|
130
130
|
sequence:
|
|
131
131
|
- type: "str"
|
|
132
|
-
pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$
|
|
132
|
+
pattern: ^[a-zA-Z_]+[a-zA-Z0-9_\-]*$
|
|
133
133
|
metadata:
|
|
134
134
|
type: "str"
|
|
135
135
|
pattern: ^[a-zA-Z_]+[a-zA-Z0-9_]*$
|
rasa/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: rasa-pro
|
|
3
|
-
Version: 3.12.
|
|
3
|
+
Version: 3.12.18
|
|
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
|
|
@@ -92,7 +92,7 @@ rasa/cli/x.py,sha256=C7dLtYXAkD-uj7hNj7Pz5YbOupp2yRcMjQbsEVqXUJ8,6825
|
|
|
92
92
|
rasa/constants.py,sha256=5OMUcJ_gjn8qglY37DeUS4g5xe2VZAiLIv8IKwIGWJ0,1364
|
|
93
93
|
rasa/core/__init__.py,sha256=wTSmsFlgK0Ylvuyq20q9APwpT5xyVJYZfzhs4rrkciM,456
|
|
94
94
|
rasa/core/actions/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
95
|
-
rasa/core/actions/action.py,sha256=
|
|
95
|
+
rasa/core/actions/action.py,sha256=_QfY3ngSF2sf2Y3QDPJo7Nd6F_FA6_zDWgw1OQSLkEk,42676
|
|
96
96
|
rasa/core/actions/action_clean_stack.py,sha256=xUP-2ipPsPAnAiwP17c-ezmHPSrV4JSUZr-eSgPQwIs,2279
|
|
97
97
|
rasa/core/actions/action_exceptions.py,sha256=hghzXYN6VeHC-O_O7WiPesCNV86ZTkHgG90ZnQcbai8,724
|
|
98
98
|
rasa/core/actions/action_hangup.py,sha256=o5iklHG-F9IcRgWis5C6AumVXznxzAV3o9zdduhozEM,994
|
|
@@ -342,7 +342,7 @@ rasa/core/policies/policy.py,sha256=5SUnPajSTSf8PzB1-jFbQPtsvR-zLN-xkjeotWOxuJc,
|
|
|
342
342
|
rasa/core/policies/rule_policy.py,sha256=EItfUn07JIBLRIbriPKDprsvWq_-xzZTGrlTS2erByA,50730
|
|
343
343
|
rasa/core/policies/ted_policy.py,sha256=0RzIuyrtt4PxLcqQ-bfaExkZvU-TnsMbgmDcwh2SakY,87710
|
|
344
344
|
rasa/core/policies/unexpected_intent_policy.py,sha256=ZXvbswf2NDy00kHmBQcyXa1OVYFyc79HQKrFkQ4gCfM,39609
|
|
345
|
-
rasa/core/processor.py,sha256=
|
|
345
|
+
rasa/core/processor.py,sha256=Y5Ph1mheEgOE5OfSXHFrgeX4mW5w2PqRL2NygJpHVeQ,61471
|
|
346
346
|
rasa/core/run.py,sha256=N-NVdo-2wlKbaC1O1lS0t2Uraw9GjJYgZa0MkMPLdlg,11685
|
|
347
347
|
rasa/core/secrets_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
348
348
|
rasa/core/secrets_manager/constants.py,sha256=dTDHenvG1JBVi34QIR6FpdO5RDOXQwAjAxLlgJ2ZNEI,1193
|
|
@@ -387,11 +387,11 @@ rasa/dialogue_understanding/commands/repeat_bot_messages_command.py,sha256=8SavU
|
|
|
387
387
|
rasa/dialogue_understanding/commands/restart_command.py,sha256=vvmucwlVtfh6VMgdOn5hZfsP9U5HhfbDeBSG2IndX0Y,1639
|
|
388
388
|
rasa/dialogue_understanding/commands/session_end_command.py,sha256=ZecUpYZDTX_68_kV1Hv4i317bbeBeVHHyhW_A7r5yzs,1770
|
|
389
389
|
rasa/dialogue_understanding/commands/session_start_command.py,sha256=FA4yocMnFt5bn2dmXj48S4Pq_yTlEnOBxgK_mq-qAxg,1704
|
|
390
|
-
rasa/dialogue_understanding/commands/set_slot_command.py,sha256=
|
|
390
|
+
rasa/dialogue_understanding/commands/set_slot_command.py,sha256=lSJGnVrARAlqXta51NU-L5VSjtZmjnZA1A8Hmv5CCPc,7058
|
|
391
391
|
rasa/dialogue_understanding/commands/skip_question_command.py,sha256=PvGpiW0Dk1xwvmntzhz7pEn99XqPv5nMQfR-cwNKxXk,3296
|
|
392
392
|
rasa/dialogue_understanding/commands/start_flow_command.py,sha256=prPbTh7salW-p44JNQ2kkJHFBtnLXJCBT_3wDNsN_K4,4542
|
|
393
393
|
rasa/dialogue_understanding/commands/user_silence_command.py,sha256=DQjRfZk09sV1o2emnLkmX7cZpsJwBHNeJGBDQVkejjY,1686
|
|
394
|
-
rasa/dialogue_understanding/commands/utils.py,sha256=
|
|
394
|
+
rasa/dialogue_understanding/commands/utils.py,sha256=keNOSdTqCPEXO1ICWpKr229IyGQl_33U0IUgZP3jqPE,4748
|
|
395
395
|
rasa/dialogue_understanding/constants.py,sha256=_kB0edGV23uvhujlF193N2jk6YG0R6LC599YDX5B5vo,129
|
|
396
396
|
rasa/dialogue_understanding/generator/__init__.py,sha256=pBm0o6pnJA_0W0UOrGuVsiG4hsTNH_n5GLrz8BYQHM8,830
|
|
397
397
|
rasa/dialogue_understanding/generator/_jinja_filters.py,sha256=KuK7nGKvKzKJz6Wg3AmrLFvzneGgIyeK825MCE379wc,248
|
|
@@ -443,11 +443,11 @@ rasa/dialogue_understanding/stack/dialogue_stack.py,sha256=cYV6aQeh0EuOJHODDqK3b
|
|
|
443
443
|
rasa/dialogue_understanding/stack/frames/__init__.py,sha256=wczg4PXtwGlCcRWT4gdtwgO-ZHVDcEYG11qDMe5hRNw,656
|
|
444
444
|
rasa/dialogue_understanding/stack/frames/chit_chat_frame.py,sha256=xuYuhQaNhzyj4B95KMI79IPx7GeQ1sFcW7Bzy8i3mTM,767
|
|
445
445
|
rasa/dialogue_understanding/stack/frames/dialogue_stack_frame.py,sha256=SBTmCV4SWWU6yiQvtcnMQ3rhOAyiWlmR4KE76JR79GE,4125
|
|
446
|
-
rasa/dialogue_understanding/stack/frames/flow_stack_frame.py,sha256=
|
|
446
|
+
rasa/dialogue_understanding/stack/frames/flow_stack_frame.py,sha256=__W-kAZt5EFBLsIYC4XEUuy8q7zlfVkskXfmkzjkOEE,5609
|
|
447
447
|
rasa/dialogue_understanding/stack/frames/pattern_frame.py,sha256=EVrYWv5dCP7XTvNV-HqtOOrseP-IkF0jD2_JacAvIYw,235
|
|
448
448
|
rasa/dialogue_understanding/stack/frames/search_frame.py,sha256=Eo6tSSbJpslKcs6DLu250NmtoKMe4bDHC8_ebx5sJ60,759
|
|
449
449
|
rasa/dialogue_understanding/stack/utils.py,sha256=7ETHyvsqUSyNElVmouswKm99NcGCOG6sWBWFazgXd7A,7932
|
|
450
|
-
rasa/dialogue_understanding/utils.py,sha256=
|
|
450
|
+
rasa/dialogue_understanding/utils.py,sha256=p-KVd7VF21HFHwRMHp5zAnOcMs_BMkVnDgY17TLSUy8,7804
|
|
451
451
|
rasa/dialogue_understanding_test/README.md,sha256=klUCq_FYd0MkIeyxlwYCfsB9EEsSmXUpTTDTxdR7EPc,17764
|
|
452
452
|
rasa/dialogue_understanding_test/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
453
453
|
rasa/dialogue_understanding_test/command_comparison.py,sha256=LvCZGgZVFpKjWqaZE5OqPClM5xDNdFZQ4FslvNerB7s,1812
|
|
@@ -456,7 +456,7 @@ rasa/dialogue_understanding_test/constants.py,sha256=G63FEzswDUOonTxoXQicEJwI6IC
|
|
|
456
456
|
rasa/dialogue_understanding_test/du_test_case.py,sha256=cd47xHkWj4AGuHVqAfqcTCHjJYxBw5TEklpxiB33T3U,15526
|
|
457
457
|
rasa/dialogue_understanding_test/du_test_result.py,sha256=AL1T5f9OoEeTFmCIN5wmqPELXBnYrWwRn3ZtAEIBLfA,15086
|
|
458
458
|
rasa/dialogue_understanding_test/du_test_runner.py,sha256=RnEIgTps9w3_dCW0S7fCm-QfncxyegmofBm_QzeBmEE,11186
|
|
459
|
-
rasa/dialogue_understanding_test/du_test_schema.yml,sha256=
|
|
459
|
+
rasa/dialogue_understanding_test/du_test_schema.yml,sha256=nxezEXfnoc-oVZXDqHRg-Yk4fkDF3t2VatRRMdSSE2o,4773
|
|
460
460
|
rasa/dialogue_understanding_test/io.py,sha256=A797fXYvjFZM4ejA7ozZwp71eFLg-ebTM4I_rZwH4yk,15127
|
|
461
461
|
rasa/dialogue_understanding_test/test_case_simulation/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
462
462
|
rasa/dialogue_understanding_test/test_case_simulation/exception.py,sha256=RJV8CfoGKmfpC3d28y7IBKfmcAZSm2Vs6p0GkiCHlcc,1034
|
|
@@ -476,7 +476,7 @@ rasa/e2e_test/e2e_test_converter_prompt.jinja2,sha256=EMy-aCd7jLARHmwAuZUGT5ABnN
|
|
|
476
476
|
rasa/e2e_test/e2e_test_coverage_report.py,sha256=zO_3hQIuCf4r9YIbQ2_DHM7HCWHe9pZLU4sC4msuw_M,11326
|
|
477
477
|
rasa/e2e_test/e2e_test_result.py,sha256=qVurjFC4cAWIY7rOsc-A-4nIdcnnw98TaK86-bDwI7Y,1649
|
|
478
478
|
rasa/e2e_test/e2e_test_runner.py,sha256=eXV5DJ0rAVY7FAXYI9aKvYqZXdfsE92y6deEUqUvrTY,47965
|
|
479
|
-
rasa/e2e_test/e2e_test_schema.yml,sha256=
|
|
479
|
+
rasa/e2e_test/e2e_test_schema.yml,sha256=0WG0I3baTRc76lff3UjQ8vGRzMUoV6qcE8r9adOAlCU,5638
|
|
480
480
|
rasa/e2e_test/llm_judge_prompts/answer_relevance_prompt_template.jinja2,sha256=6Ddszg4Y6sIvhH7C1jjEAArpzke48mfCOa2KUQYbNVA,2725
|
|
481
481
|
rasa/e2e_test/llm_judge_prompts/groundedness_prompt_template.jinja2,sha256=jCgDbZvWn5fncr4zvB5UQSK1VJu9xDQtpY4B8GKtlmA,8226
|
|
482
482
|
rasa/e2e_test/pykwalify_extensions.py,sha256=OGYKIKYJXd2S0NrWknoQuijyBQaE-oMLkfV_eMRkGSM,1331
|
|
@@ -822,9 +822,9 @@ rasa/utils/train_utils.py,sha256=ClJx-6x3-h3Vt6mskacgkcCUJTMXjFPe3zAcy_DfmaU,212
|
|
|
822
822
|
rasa/utils/url_tools.py,sha256=dZ1HGkVdWTJB7zYEdwoDIrEuyX9HE5WsxKKFVsXBLE0,1218
|
|
823
823
|
rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
|
|
824
824
|
rasa/validator.py,sha256=524VlFTYK0B3iXYveVD6BDC3K0j1QfpzJ9O-TAWczmc,83166
|
|
825
|
-
rasa/version.py,sha256=
|
|
826
|
-
rasa_pro-3.12.
|
|
827
|
-
rasa_pro-3.12.
|
|
828
|
-
rasa_pro-3.12.
|
|
829
|
-
rasa_pro-3.12.
|
|
830
|
-
rasa_pro-3.12.
|
|
825
|
+
rasa/version.py,sha256=vZNYr5Zk5DwLMX6MZTlHFps4qYuaY0DFYD0tzVLkV4c,118
|
|
826
|
+
rasa_pro-3.12.18.dist-info/METADATA,sha256=uVOwQl-Au_O0FASWeXd1oV20va92DR8qq3zppW7pEM0,10609
|
|
827
|
+
rasa_pro-3.12.18.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
|
|
828
|
+
rasa_pro-3.12.18.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
|
|
829
|
+
rasa_pro-3.12.18.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
|
|
830
|
+
rasa_pro-3.12.18.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|