rasa-pro 3.10.6__py3-none-any.whl → 3.10.7__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/cli/e2e_test.py +8 -10
- rasa/cli/studio/studio.py +21 -1
- rasa/dialogue_understanding/commands/set_slot_command.py +5 -1
- rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml +15 -15
- rasa/studio/auth.py +4 -0
- rasa/validator.py +5 -2
- rasa/version.py +1 -1
- {rasa_pro-3.10.6.dist-info → rasa_pro-3.10.7.dist-info}/METADATA +3 -3
- {rasa_pro-3.10.6.dist-info → rasa_pro-3.10.7.dist-info}/RECORD +12 -12
- {rasa_pro-3.10.6.dist-info → rasa_pro-3.10.7.dist-info}/NOTICE +0 -0
- {rasa_pro-3.10.6.dist-info → rasa_pro-3.10.7.dist-info}/WHEEL +0 -0
- {rasa_pro-3.10.6.dist-info → rasa_pro-3.10.7.dist-info}/entry_points.txt +0 -0
rasa/cli/e2e_test.py
CHANGED
|
@@ -221,17 +221,15 @@ def execute_e2e_tests(args: argparse.Namespace) -> None:
|
|
|
221
221
|
if args.e2e_results is not None:
|
|
222
222
|
results_path = Path(args.e2e_results)
|
|
223
223
|
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
write_test_results_to_file(passed, passed_file)
|
|
224
|
+
passed_file = rasa.cli.utils.get_e2e_results_file_name(
|
|
225
|
+
results_path, STATUS_PASSED
|
|
226
|
+
)
|
|
227
|
+
write_test_results_to_file(passed, passed_file)
|
|
229
228
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
write_test_results_to_file(failed, failed_file)
|
|
229
|
+
failed_file = rasa.cli.utils.get_e2e_results_file_name(
|
|
230
|
+
results_path, STATUS_FAILED
|
|
231
|
+
)
|
|
232
|
+
write_test_results_to_file(failed, failed_file)
|
|
235
233
|
|
|
236
234
|
aggregate_stats_calculator = AggregateTestStatsCalculator(
|
|
237
235
|
passed_results=passed, failed_results=failed, test_cases=test_suite.test_cases
|
rasa/cli/studio/studio.py
CHANGED
|
@@ -5,6 +5,7 @@ from urllib.parse import ParseResult, urlparse
|
|
|
5
5
|
import questionary
|
|
6
6
|
from rasa.cli import SubParsersAction
|
|
7
7
|
|
|
8
|
+
import rasa.shared.utils.cli
|
|
8
9
|
import rasa.cli.studio.download
|
|
9
10
|
import rasa.cli.studio.train
|
|
10
11
|
import rasa.cli.studio.upload
|
|
@@ -50,6 +51,15 @@ def _add_config_subparser(
|
|
|
50
51
|
|
|
51
52
|
studio_config_parser.set_defaults(func=create_and_store_studio_config)
|
|
52
53
|
|
|
54
|
+
studio_config_parser.add_argument(
|
|
55
|
+
"--disable-verify",
|
|
56
|
+
"-x",
|
|
57
|
+
action="store_true",
|
|
58
|
+
default=False,
|
|
59
|
+
help="Disable strict SSL verification for the "
|
|
60
|
+
"Rasa Studio authentication server.",
|
|
61
|
+
)
|
|
62
|
+
|
|
53
63
|
# add advanced configuration flag to trigger
|
|
54
64
|
# advanced configuration setup for authentication settings
|
|
55
65
|
studio_config_parser.add_argument(
|
|
@@ -219,7 +229,17 @@ def _configure_studio_config(args: argparse.Namespace) -> StudioConfig:
|
|
|
219
229
|
studio_config = _create_studio_config(
|
|
220
230
|
studio_url, keycloak_url, realm_name, client_id
|
|
221
231
|
)
|
|
222
|
-
|
|
232
|
+
|
|
233
|
+
if args.disable_verify:
|
|
234
|
+
rasa.shared.utils.cli.print_info(
|
|
235
|
+
"Disabling SSL verification for the Rasa Studio authentication server."
|
|
236
|
+
)
|
|
237
|
+
studio_auth = StudioAuth(studio_config, verify=False)
|
|
238
|
+
else:
|
|
239
|
+
rasa.shared.utils.cli.print_info(
|
|
240
|
+
"Enabling SSL verification for the Rasa Studio authentication server."
|
|
241
|
+
)
|
|
242
|
+
studio_auth = StudioAuth(studio_config, verify=True)
|
|
223
243
|
|
|
224
244
|
if _check_studio_auth(studio_auth):
|
|
225
245
|
return studio_config
|
|
@@ -127,7 +127,11 @@ class SetSlotCommand(Command):
|
|
|
127
127
|
if (
|
|
128
128
|
self.name not in slots_of_active_flow
|
|
129
129
|
and self.name != ROUTE_TO_CALM_SLOT
|
|
130
|
-
and self.extractor
|
|
130
|
+
and self.extractor
|
|
131
|
+
in {
|
|
132
|
+
SetSlotExtractor.LLM.value,
|
|
133
|
+
SetSlotExtractor.COMMAND_PAYLOAD_READER.value,
|
|
134
|
+
}
|
|
131
135
|
):
|
|
132
136
|
# Get the other predicted flows from the most recent message on the tracker.
|
|
133
137
|
predicted_flows = get_flows_predicted_to_start_from_tracker(tracker)
|
|
@@ -55,7 +55,7 @@ responses:
|
|
|
55
55
|
template: jinja
|
|
56
56
|
|
|
57
57
|
utter_free_chitchat_response:
|
|
58
|
-
- text:
|
|
58
|
+
- text: "Sorry, I'm not able to answer that right now."
|
|
59
59
|
metadata:
|
|
60
60
|
rephrase: True
|
|
61
61
|
rephrase_prompt: |
|
|
@@ -160,9 +160,9 @@ flows:
|
|
|
160
160
|
action: action_run_slot_rejections
|
|
161
161
|
- action: validate_{{context.collect}}
|
|
162
162
|
next:
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
163
|
+
- if: "slots.{{context.collect}} is not null"
|
|
164
|
+
then: END
|
|
165
|
+
- else: ask_collect
|
|
166
166
|
- id: ask_collect
|
|
167
167
|
action: "{{context.utter}}"
|
|
168
168
|
- action: "{{context.collect_action}}"
|
|
@@ -205,17 +205,17 @@ flows:
|
|
|
205
205
|
steps:
|
|
206
206
|
- noop: true
|
|
207
207
|
next:
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
208
|
+
- if: "'{{context.error_type}}' = 'rasa_internal_error_user_input_too_long'"
|
|
209
|
+
then:
|
|
210
|
+
- action: utter_user_input_too_long_error_rasa
|
|
211
|
+
next: END
|
|
212
|
+
- if: "'{{context.error_type}}' = 'rasa_internal_error_user_input_empty'"
|
|
213
|
+
then:
|
|
214
|
+
- action: utter_user_input_empty_error_rasa
|
|
215
|
+
next: END
|
|
216
|
+
- else:
|
|
217
|
+
- action: utter_internal_error_rasa
|
|
218
|
+
next: END
|
|
219
219
|
|
|
220
220
|
|
|
221
221
|
pattern_restart:
|
rasa/studio/auth.py
CHANGED
|
@@ -21,15 +21,19 @@ from rasa.studio.results_logger import with_studio_error_handler, StudioResult
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
class StudioAuth:
|
|
24
|
+
"""Handles the authentication with the Rasa Studio authentication server."""
|
|
25
|
+
|
|
24
26
|
def __init__(
|
|
25
27
|
self,
|
|
26
28
|
studio_config: StudioConfig,
|
|
29
|
+
verify: bool = True,
|
|
27
30
|
) -> None:
|
|
28
31
|
self.config = studio_config
|
|
29
32
|
self.keycloak_openid = KeycloakOpenID(
|
|
30
33
|
server_url=studio_config.authentication_server_url,
|
|
31
34
|
client_id=studio_config.client_id,
|
|
32
35
|
realm_name=studio_config.realm_name,
|
|
36
|
+
verify=verify,
|
|
33
37
|
)
|
|
34
38
|
|
|
35
39
|
def health_check(self) -> bool:
|
rasa/validator.py
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import logging
|
|
2
|
-
import structlog
|
|
3
2
|
import re
|
|
4
3
|
import string
|
|
5
4
|
from collections import defaultdict
|
|
6
5
|
from typing import Set, Text, Optional, Dict, Any, List, Tuple
|
|
7
6
|
|
|
7
|
+
import structlog
|
|
8
8
|
from jinja2 import Template
|
|
9
9
|
from pypred import Predicate
|
|
10
10
|
from pypred.ast import Literal, CompareOperator, NegateOperator
|
|
@@ -596,6 +596,7 @@ class Validator:
|
|
|
596
596
|
collect: CollectInformationFlowStep,
|
|
597
597
|
all_good: bool,
|
|
598
598
|
domain_slots: Dict[Text, Slot],
|
|
599
|
+
flow_id: str,
|
|
599
600
|
) -> bool:
|
|
600
601
|
"""Validates that a collect step can have either an action or an utterance.
|
|
601
602
|
Also logs an error if neither an action nor an utterance is defined.
|
|
@@ -625,6 +626,7 @@ class Validator:
|
|
|
625
626
|
collect=collect.collect,
|
|
626
627
|
has_utterance_defined=has_utterance_defined,
|
|
627
628
|
has_action_defined=has_action_defined,
|
|
629
|
+
flow=flow_id,
|
|
628
630
|
event_info=(
|
|
629
631
|
f"The collect step '{collect.collect}' has an utterance "
|
|
630
632
|
f"'{collect.utter}' as well as an action "
|
|
@@ -648,6 +650,7 @@ class Validator:
|
|
|
648
650
|
collect=collect.collect,
|
|
649
651
|
has_utterance_defined=has_utterance_defined,
|
|
650
652
|
has_action_defined=has_action_defined,
|
|
653
|
+
flow=flow_id,
|
|
651
654
|
event_info=(
|
|
652
655
|
f"The collect step '{collect.collect}' has neither an utterance "
|
|
653
656
|
f"nor an action defined, or an initial value defined in the domain."
|
|
@@ -716,7 +719,7 @@ class Validator:
|
|
|
716
719
|
if isinstance(step, CollectInformationFlowStep):
|
|
717
720
|
all_good = (
|
|
718
721
|
self._log_error_if_either_action_or_utterance_are_not_defined(
|
|
719
|
-
step, all_good, domain_slots
|
|
722
|
+
step, all_good, domain_slots, flow.id
|
|
720
723
|
)
|
|
721
724
|
)
|
|
722
725
|
|
rasa/version.py
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: rasa-pro
|
|
3
|
-
Version: 3.10.
|
|
3
|
+
Version: 3.10.7
|
|
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
|
|
@@ -53,8 +53,8 @@ Requires-Dist: gitpython (>=3.1.41,<3.2.0) ; extra == "full"
|
|
|
53
53
|
Requires-Dist: google-auth (>=2.23.4,<3)
|
|
54
54
|
Requires-Dist: google-cloud-storage (>=2.14.0,<3.0.0)
|
|
55
55
|
Requires-Dist: hvac (>=1.2.1,<2.0.0)
|
|
56
|
-
Requires-Dist: importlib-metadata (>=
|
|
57
|
-
Requires-Dist: importlib-resources (
|
|
56
|
+
Requires-Dist: importlib-metadata (>=8.5.0,<8.6.0)
|
|
57
|
+
Requires-Dist: importlib-resources (==6.1.3)
|
|
58
58
|
Requires-Dist: jieba (>=0.42.1,<0.43) ; extra == "jieba" or extra == "full"
|
|
59
59
|
Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
|
|
60
60
|
Requires-Dist: joblib (>=1.2.0,<1.3.0)
|
|
@@ -23,7 +23,7 @@ rasa/cli/arguments/train.py,sha256=gyqJysj0nydSdMQt8EWrjgmqDiSd898aFMT1Rh9A34k,8
|
|
|
23
23
|
rasa/cli/arguments/visualize.py,sha256=Su0qyXv4bEx5mrteRqEyf-K3JGQ1t2WCXOYlCpGYfAk,861
|
|
24
24
|
rasa/cli/arguments/x.py,sha256=FQkarKvNBtzZ5xrPBhHWk-ZKPgEHvgE5ItwRL1TNR3I,1027
|
|
25
25
|
rasa/cli/data.py,sha256=M33oHv3PCqDx4Gc5ifGmcZoEc6h2_uP8pRIygimjT8w,12695
|
|
26
|
-
rasa/cli/e2e_test.py,sha256=
|
|
26
|
+
rasa/cli/e2e_test.py,sha256=eVNK8vMkPXBhDyxr8d9zTbQo42adbvyLMupVrNwGhWg,8361
|
|
27
27
|
rasa/cli/evaluate.py,sha256=Lm311k47sJ7IFE9wSBudFAyVxTRsAAMdeRUWRCPVVug,7948
|
|
28
28
|
rasa/cli/export.py,sha256=60wPKS5513J7PRKZsVeCBrUGOcSizypdjg1iYDWLCMY,8203
|
|
29
29
|
rasa/cli/inspect.py,sha256=LPudl2mmkY8-a8PW28Iq4t3xnurEFduyePFgeKSx0BA,2207
|
|
@@ -80,7 +80,7 @@ rasa/cli/scaffold.py,sha256=Eqv44T7b5cOd2FKLU1tSrAVPKwMfoiUIjc43PtaxJGg,7988
|
|
|
80
80
|
rasa/cli/shell.py,sha256=wymYOj6jdUON0y7pe-rpRqarWDGaDquU7PRp8knxqHk,4264
|
|
81
81
|
rasa/cli/studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
82
82
|
rasa/cli/studio/download.py,sha256=r3UCbpD6-8GGKK47FqXTPI1hvYElADjgcdegG6B9XYg,1832
|
|
83
|
-
rasa/cli/studio/studio.py,sha256=
|
|
83
|
+
rasa/cli/studio/studio.py,sha256=fADCRFRyarZ4eU_frmNfgCoutdH7lLPRQBq4612Q_pA,8871
|
|
84
84
|
rasa/cli/studio/train.py,sha256=ruXA5UkaRbO3femk8w3I2cXKs06-34FYtB_9MKdP6hw,1572
|
|
85
85
|
rasa/cli/studio/upload.py,sha256=kdHqrVGsEbbqH5fz_HusWwJEycB31SHaPlXer8lXAE0,2069
|
|
86
86
|
rasa/cli/telemetry.py,sha256=ZywhlOpp0l2Yz9oEcOGA2ej3SEkSTisKPpBhn_fS7tc,3538
|
|
@@ -349,7 +349,7 @@ rasa/dialogue_understanding/commands/human_handoff_command.py,sha256=viSzL3Zmudm
|
|
|
349
349
|
rasa/dialogue_understanding/commands/knowledge_answer_command.py,sha256=JPiWQC5qWJmryE7DgApDlf9AdGVMazuU9TXx44gc78w,1773
|
|
350
350
|
rasa/dialogue_understanding/commands/noop_command.py,sha256=302wi-pPXnraqclTDXug6_IYucEZCwDtP032OhPv1JY,1476
|
|
351
351
|
rasa/dialogue_understanding/commands/session_start_command.py,sha256=k5cGcE4Usxwfua1sE-KY-qWdwHlHZKgVx5XPDt_-RFY,1742
|
|
352
|
-
rasa/dialogue_understanding/commands/set_slot_command.py,sha256=
|
|
352
|
+
rasa/dialogue_understanding/commands/set_slot_command.py,sha256=jsiG3K0SYqsx3bah9mxBw0DR5EliaiZ8iMsDzv2wTxw,5187
|
|
353
353
|
rasa/dialogue_understanding/commands/skip_question_command.py,sha256=bSrUFOHUz1ozdaHma-KAaAArhP59RB3W8CEEBQaPIkA,2251
|
|
354
354
|
rasa/dialogue_understanding/commands/start_flow_command.py,sha256=a0Yk8xpBpFgC3Hkh4J8kAudz4s4ZLQWuoDq_a63lQXM,3309
|
|
355
355
|
rasa/dialogue_understanding/commands/utils.py,sha256=3j5VW1TeMBmq9VCeRO3E6gTdOkM5VWmBM0kRzf_AzM8,1489
|
|
@@ -378,7 +378,7 @@ rasa/dialogue_understanding/patterns/collect_information.py,sha256=nfzAtvjIyP67C
|
|
|
378
378
|
rasa/dialogue_understanding/patterns/completed.py,sha256=NqVaS_5-62UetGRXjR1eOGG3o6EPaIAQxbbkkNVEa9s,1278
|
|
379
379
|
rasa/dialogue_understanding/patterns/continue_interrupted.py,sha256=4UCFxCReL1wR8ALU4B0LzpC9izdtKrp2nJ6chS_jVng,1355
|
|
380
380
|
rasa/dialogue_understanding/patterns/correction.py,sha256=ZfSGzvgLvmbebEuisYP0Ke0lQEZziuDvq1oB4wMSFr4,11001
|
|
381
|
-
rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml,sha256=
|
|
381
|
+
rasa/dialogue_understanding/patterns/default_flows_for_patterns.yml,sha256=6AM-nIc-JSD8wSZ7KDGInm6nP5n4EJZe4rce747V8fQ,8284
|
|
382
382
|
rasa/dialogue_understanding/patterns/human_handoff.py,sha256=ocGrnLLRW-_aiXjmSUG9nReUGQbBUxFFt4FTBWSXARM,1132
|
|
383
383
|
rasa/dialogue_understanding/patterns/internal_error.py,sha256=L8kEC6-TOZecugWtA2dm8lNG9gUevffyT5RotWeJIzM,1608
|
|
384
384
|
rasa/dialogue_understanding/patterns/search.py,sha256=X7HaMyFwS8gPprKFSOJvCoC6NgZQUTHvqtYxazFdgYc,1105
|
|
@@ -667,7 +667,7 @@ rasa/shared/utils/schemas/model_config.yml,sha256=GU1lL_apXjJ3Xbd9Fj5jKm2h1HeB6V
|
|
|
667
667
|
rasa/shared/utils/schemas/stories.yml,sha256=DV3wAFnv1leD7kV-FH-GQihF1QX5oKHc8Eb24mxjizc,4737
|
|
668
668
|
rasa/shared/utils/yaml.py,sha256=XJoKLe_vOmCcTI_Vg5o-iJzu2uumen7j1rrO6T95QXM,32592
|
|
669
669
|
rasa/studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
670
|
-
rasa/studio/auth.py,sha256=
|
|
670
|
+
rasa/studio/auth.py,sha256=6Hk6aHpNNrFXpGygWVIF2V5FFyVpqEOyMX5fVU8bqxU,9673
|
|
671
671
|
rasa/studio/config.py,sha256=wqjvg_hARKG-6cV3JrhnP_ptZIq0VSFbdv-aWrH0u_Q,4091
|
|
672
672
|
rasa/studio/constants.py,sha256=7ixKE1kPw2OM0dWhnEHGSVtSwZ5h9cNL1TB6eExg0EA,732
|
|
673
673
|
rasa/studio/data_handler.py,sha256=oG2pLb7sJa2QO3h63PUIZU8DbiJO9B7FGx3pYrAsMjA,12212
|
|
@@ -718,10 +718,10 @@ rasa/utils/tensorflow/types.py,sha256=XGkfDZqvLVoaNQRpSTKdB2C4MGmXTarKdIJcLREvPl
|
|
|
718
718
|
rasa/utils/train_utils.py,sha256=f1NWpp5y6al0dzoQyyio4hc4Nf73DRoRSHDzEK6-C4E,21257
|
|
719
719
|
rasa/utils/url_tools.py,sha256=JQcHL2aLqLHu82k7_d9imUoETCm2bmlHaDpOJ-dKqBc,1218
|
|
720
720
|
rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
|
|
721
|
-
rasa/validator.py,sha256=
|
|
722
|
-
rasa/version.py,sha256=
|
|
723
|
-
rasa_pro-3.10.
|
|
724
|
-
rasa_pro-3.10.
|
|
725
|
-
rasa_pro-3.10.
|
|
726
|
-
rasa_pro-3.10.
|
|
727
|
-
rasa_pro-3.10.
|
|
721
|
+
rasa/validator.py,sha256=ToRaa4dS859CJO3H2VGqS943O5qWOg45ypbDfFMKECU,62699
|
|
722
|
+
rasa/version.py,sha256=Z67SWfQiSX_ZeQVCGqY9ga2AoG_k6XqwRKhgPOIINeg,117
|
|
723
|
+
rasa_pro-3.10.7.dist-info/METADATA,sha256=U0aFnt8URsNsk4hJQDHWQp2aZ-XJKqz00Xsjs48RUvI,28204
|
|
724
|
+
rasa_pro-3.10.7.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
|
|
725
|
+
rasa_pro-3.10.7.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
726
|
+
rasa_pro-3.10.7.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
|
|
727
|
+
rasa_pro-3.10.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|