rasa-pro 3.10.13a1__py3-none-any.whl → 3.10.14__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/studio/studio.py +18 -8
- rasa/dialogue_understanding/generator/llm_based_command_generator.py +1 -1
- rasa/dialogue_understanding/generator/nlu_command_adapter.py +19 -1
- rasa/shared/core/flows/flows_list.py +5 -1
- rasa/shared/providers/embedding/_base_litellm_embedding_client.py +6 -1
- rasa/shared/providers/llm/_base_litellm_client.py +5 -1
- rasa/studio/auth.py +3 -5
- rasa/studio/config.py +13 -4
- rasa/studio/constants.py +1 -0
- rasa/studio/data_handler.py +10 -3
- rasa/studio/upload.py +17 -8
- rasa/version.py +1 -1
- {rasa_pro-3.10.13a1.dist-info → rasa_pro-3.10.14.dist-info}/METADATA +2 -2
- {rasa_pro-3.10.13a1.dist-info → rasa_pro-3.10.14.dist-info}/RECORD +17 -17
- {rasa_pro-3.10.13a1.dist-info → rasa_pro-3.10.14.dist-info}/NOTICE +0 -0
- {rasa_pro-3.10.13a1.dist-info → rasa_pro-3.10.14.dist-info}/WHEEL +0 -0
- {rasa_pro-3.10.13a1.dist-info → rasa_pro-3.10.14.dist-info}/entry_points.txt +0 -0
rasa/cli/studio/studio.py
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import argparse
|
|
2
|
-
from typing import List, Optional
|
|
2
|
+
from typing import List, Optional, Tuple
|
|
3
3
|
from urllib.parse import ParseResult, urlparse
|
|
4
4
|
|
|
5
5
|
import questionary
|
|
@@ -149,7 +149,7 @@ def _configure_studio_url() -> Optional[str]:
|
|
|
149
149
|
return studio_url
|
|
150
150
|
|
|
151
151
|
|
|
152
|
-
def _get_advanced_config(studio_url: str) ->
|
|
152
|
+
def _get_advanced_config(studio_url: str) -> Tuple:
|
|
153
153
|
"""Get the advanced configuration values for Rasa Studio."""
|
|
154
154
|
keycloak_url = questionary.text(
|
|
155
155
|
"Please provide your Rasa Studio Keycloak URL",
|
|
@@ -167,7 +167,7 @@ def _get_advanced_config(studio_url: str) -> tuple:
|
|
|
167
167
|
return keycloak_url, realm_name, client_id
|
|
168
168
|
|
|
169
169
|
|
|
170
|
-
def _get_default_config(studio_url: str) ->
|
|
170
|
+
def _get_default_config(studio_url: str) -> Tuple:
|
|
171
171
|
"""Get the default configuration values for Rasa Studio."""
|
|
172
172
|
keycloak_url = studio_url + "auth/"
|
|
173
173
|
realm_name = DEFAULT_REALM_NAME
|
|
@@ -178,6 +178,7 @@ def _get_default_config(studio_url: str) -> tuple:
|
|
|
178
178
|
f"Keycloak URL: {keycloak_url}, "
|
|
179
179
|
f"Realm Name: '{realm_name}', "
|
|
180
180
|
f"Client ID: '{client_id}'. "
|
|
181
|
+
f"SSL verification is enabled."
|
|
181
182
|
f"You can use '--advanced' to configure these settings."
|
|
182
183
|
)
|
|
183
184
|
|
|
@@ -185,7 +186,11 @@ def _get_default_config(studio_url: str) -> tuple:
|
|
|
185
186
|
|
|
186
187
|
|
|
187
188
|
def _create_studio_config(
|
|
188
|
-
studio_url: str,
|
|
189
|
+
studio_url: str,
|
|
190
|
+
keycloak_url: str,
|
|
191
|
+
realm_name: str,
|
|
192
|
+
client_id: str,
|
|
193
|
+
disable_verify: bool = False,
|
|
189
194
|
) -> StudioConfig:
|
|
190
195
|
"""Create a StudioConfig object with the provided parameters."""
|
|
191
196
|
return StudioConfig(
|
|
@@ -193,6 +198,7 @@ def _create_studio_config(
|
|
|
193
198
|
studio_url=studio_url + "api/graphql/",
|
|
194
199
|
client_id=client_id,
|
|
195
200
|
realm_name=realm_name,
|
|
201
|
+
disable_verify=disable_verify,
|
|
196
202
|
)
|
|
197
203
|
|
|
198
204
|
|
|
@@ -227,19 +233,23 @@ def _configure_studio_config(args: argparse.Namespace) -> StudioConfig:
|
|
|
227
233
|
|
|
228
234
|
# create a configuration and auth object to try to reach the studio
|
|
229
235
|
studio_config = _create_studio_config(
|
|
230
|
-
studio_url,
|
|
236
|
+
studio_url,
|
|
237
|
+
keycloak_url,
|
|
238
|
+
realm_name,
|
|
239
|
+
client_id,
|
|
240
|
+
disable_verify=args.disable_verify,
|
|
231
241
|
)
|
|
232
242
|
|
|
233
|
-
if
|
|
243
|
+
if studio_config.disable_verify:
|
|
234
244
|
rasa.shared.utils.cli.print_info(
|
|
235
245
|
"Disabling SSL verification for the Rasa Studio authentication server."
|
|
236
246
|
)
|
|
237
|
-
studio_auth = StudioAuth(studio_config, verify=False)
|
|
238
247
|
else:
|
|
239
248
|
rasa.shared.utils.cli.print_info(
|
|
240
249
|
"Enabling SSL verification for the Rasa Studio authentication server."
|
|
241
250
|
)
|
|
242
|
-
|
|
251
|
+
|
|
252
|
+
studio_auth = StudioAuth(studio_config)
|
|
243
253
|
|
|
244
254
|
if _check_studio_auth(studio_auth):
|
|
245
255
|
return studio_config
|
|
@@ -183,7 +183,7 @@ class LLMBasedCommandGenerator(GraphComponent, CommandGenerator, ABC):
|
|
|
183
183
|
except Exception as e:
|
|
184
184
|
structlogger.error(
|
|
185
185
|
"llm_based_command_generator.train.failed",
|
|
186
|
-
event_info=
|
|
186
|
+
event_info="Flow retrieval store is inaccessible.",
|
|
187
187
|
error=e,
|
|
188
188
|
)
|
|
189
189
|
raise
|
|
@@ -19,6 +19,7 @@ from rasa.engine.storage.storage import ModelStorage
|
|
|
19
19
|
from rasa.shared.constants import ROUTE_TO_CALM_SLOT
|
|
20
20
|
from rasa.shared.core.domain import Domain
|
|
21
21
|
from rasa.shared.core.flows.flows_list import FlowsList
|
|
22
|
+
from rasa.shared.core.flows.steps import CollectInformationFlowStep
|
|
22
23
|
from rasa.shared.core.slot_mappings import (
|
|
23
24
|
SlotFillingManager,
|
|
24
25
|
extract_slot_value,
|
|
@@ -217,7 +218,24 @@ def _issue_set_slot_commands(
|
|
|
217
218
|
commands: List[Command] = []
|
|
218
219
|
domain = domain if domain else Domain.empty()
|
|
219
220
|
slot_filling_manager = SlotFillingManager(domain, tracker, message)
|
|
220
|
-
|
|
221
|
+
|
|
222
|
+
# only use slots that don't have ask_before_filling set to True
|
|
223
|
+
available_slot_names = flows.available_slot_names(ask_before_filling=False)
|
|
224
|
+
|
|
225
|
+
# check if the current step is a CollectInformationFlowStep
|
|
226
|
+
# in case it has ask_before_filling set to True, we need to add the
|
|
227
|
+
# slot to the available_slot_names
|
|
228
|
+
if tracker.active_flow:
|
|
229
|
+
flow = flows.flow_by_id(tracker.active_flow)
|
|
230
|
+
step_id = tracker.current_step_id
|
|
231
|
+
if flow is not None:
|
|
232
|
+
current_step = flow.step_by_id(step_id)
|
|
233
|
+
if (
|
|
234
|
+
current_step
|
|
235
|
+
and isinstance(current_step, CollectInformationFlowStep)
|
|
236
|
+
and current_step.ask_before_filling
|
|
237
|
+
):
|
|
238
|
+
available_slot_names.add(current_step.collect)
|
|
221
239
|
|
|
222
240
|
for _, slot in tracker.slots.items():
|
|
223
241
|
# if a slot is not collected in available flows,
|
|
@@ -221,12 +221,16 @@ class FlowsList:
|
|
|
221
221
|
[f for f in self.underlying_flows if not f.is_startable_only_via_link()]
|
|
222
222
|
)
|
|
223
223
|
|
|
224
|
-
def available_slot_names(
|
|
224
|
+
def available_slot_names(
|
|
225
|
+
self, ask_before_filling: Optional[bool] = None
|
|
226
|
+
) -> Set[str]:
|
|
225
227
|
"""Get all slot names collected by flows."""
|
|
226
228
|
return {
|
|
227
229
|
step.collect
|
|
228
230
|
for flow in self.underlying_flows
|
|
229
231
|
for step in flow.get_collect_steps()
|
|
232
|
+
if ask_before_filling is None
|
|
233
|
+
or step.ask_before_filling == ask_before_filling
|
|
230
234
|
}
|
|
231
235
|
|
|
232
236
|
def available_custom_actions(self) -> Set[str]:
|
|
@@ -5,6 +5,8 @@ import litellm
|
|
|
5
5
|
import logging
|
|
6
6
|
import structlog
|
|
7
7
|
from litellm import aembedding, embedding, validate_environment
|
|
8
|
+
|
|
9
|
+
from rasa.shared.constants import API_BASE_CONFIG_KEY
|
|
8
10
|
from rasa.shared.exceptions import (
|
|
9
11
|
ProviderClientAPIException,
|
|
10
12
|
ProviderClientValidationError,
|
|
@@ -85,7 +87,10 @@ class _BaseLiteLLMEmbeddingClient:
|
|
|
85
87
|
|
|
86
88
|
def _validate_environment_variables(self) -> None:
|
|
87
89
|
"""Validate that the required environment variables are set."""
|
|
88
|
-
validation_info = validate_environment(
|
|
90
|
+
validation_info = validate_environment(
|
|
91
|
+
self._litellm_model_name,
|
|
92
|
+
api_base=self._litellm_extra_parameters.get(API_BASE_CONFIG_KEY),
|
|
93
|
+
)
|
|
89
94
|
if missing_environment_variables := validation_info.get(
|
|
90
95
|
_VALIDATE_ENVIRONMENT_MISSING_KEYS_KEY
|
|
91
96
|
):
|
|
@@ -9,6 +9,7 @@ from litellm import (
|
|
|
9
9
|
validate_environment,
|
|
10
10
|
)
|
|
11
11
|
|
|
12
|
+
from rasa.shared.constants import API_BASE_CONFIG_KEY
|
|
12
13
|
from rasa.shared.exceptions import (
|
|
13
14
|
ProviderClientAPIException,
|
|
14
15
|
ProviderClientValidationError,
|
|
@@ -102,7 +103,10 @@ class _BaseLiteLLMClient:
|
|
|
102
103
|
|
|
103
104
|
def _validate_environment_variables(self) -> None:
|
|
104
105
|
"""Validate that the required environment variables are set."""
|
|
105
|
-
validation_info = validate_environment(
|
|
106
|
+
validation_info = validate_environment(
|
|
107
|
+
self._litellm_model_name,
|
|
108
|
+
api_base=self._litellm_extra_parameters.get(API_BASE_CONFIG_KEY),
|
|
109
|
+
)
|
|
106
110
|
if missing_environment_variables := validation_info.get(
|
|
107
111
|
_VALIDATE_ENVIRONMENT_MISSING_KEYS_KEY
|
|
108
112
|
):
|
rasa/studio/auth.py
CHANGED
|
@@ -23,12 +23,10 @@ from rasa.studio.results_logger import with_studio_error_handler, StudioResult
|
|
|
23
23
|
class StudioAuth:
|
|
24
24
|
"""Handles the authentication with the Rasa Studio authentication server."""
|
|
25
25
|
|
|
26
|
-
def __init__(
|
|
27
|
-
self,
|
|
28
|
-
studio_config: StudioConfig,
|
|
29
|
-
verify: bool = True,
|
|
30
|
-
) -> None:
|
|
26
|
+
def __init__(self, studio_config: StudioConfig) -> None:
|
|
31
27
|
self.config = studio_config
|
|
28
|
+
verify = not studio_config.disable_verify
|
|
29
|
+
|
|
32
30
|
self.keycloak_openid = KeycloakOpenID(
|
|
33
31
|
server_url=studio_config.authentication_server_url,
|
|
34
32
|
client_id=studio_config.client_id,
|
rasa/studio/config.py
CHANGED
|
@@ -2,13 +2,14 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import os
|
|
4
4
|
from dataclasses import dataclass
|
|
5
|
-
from typing import Dict, Optional, Text
|
|
5
|
+
from typing import Any, Dict, Optional, Text
|
|
6
6
|
|
|
7
7
|
from rasa.utils.common import read_global_config_value, write_global_config_value
|
|
8
8
|
|
|
9
9
|
from rasa.studio.constants import (
|
|
10
10
|
RASA_STUDIO_AUTH_SERVER_URL_ENV,
|
|
11
11
|
RASA_STUDIO_CLI_CLIENT_ID_KEY_ENV,
|
|
12
|
+
RASA_STUDIO_CLI_DISABLE_VERIFY_KEY_ENV,
|
|
12
13
|
RASA_STUDIO_CLI_REALM_NAME_KEY_ENV,
|
|
13
14
|
RASA_STUDIO_CLI_STUDIO_URL_ENV,
|
|
14
15
|
STUDIO_CONFIG_KEY,
|
|
@@ -19,6 +20,7 @@ STUDIO_URL_KEY = "studio_url"
|
|
|
19
20
|
CLIENT_ID_KEY = "client_id"
|
|
20
21
|
REALM_NAME_KEY = "realm_name"
|
|
21
22
|
CLIENT_SECRET_KEY = "client_secret"
|
|
23
|
+
DISABLE_VERIFY = "disable_verify"
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
@dataclass
|
|
@@ -27,13 +29,15 @@ class StudioConfig:
|
|
|
27
29
|
studio_url: Optional[Text]
|
|
28
30
|
client_id: Optional[Text]
|
|
29
31
|
realm_name: Optional[Text]
|
|
32
|
+
disable_verify: bool = False
|
|
30
33
|
|
|
31
|
-
def to_dict(self) -> Dict[Text, Optional[
|
|
34
|
+
def to_dict(self) -> Dict[Text, Optional[Any]]:
|
|
32
35
|
return {
|
|
33
36
|
AUTH_SERVER_URL_KEY: self.authentication_server_url,
|
|
34
37
|
STUDIO_URL_KEY: self.studio_url,
|
|
35
38
|
CLIENT_ID_KEY: self.client_id,
|
|
36
39
|
REALM_NAME_KEY: self.realm_name,
|
|
40
|
+
DISABLE_VERIFY: self.disable_verify,
|
|
37
41
|
}
|
|
38
42
|
|
|
39
43
|
@classmethod
|
|
@@ -43,6 +47,7 @@ class StudioConfig:
|
|
|
43
47
|
studio_url=data[STUDIO_URL_KEY],
|
|
44
48
|
client_id=data[CLIENT_ID_KEY],
|
|
45
49
|
realm_name=data[REALM_NAME_KEY],
|
|
50
|
+
disable_verify=data.get(DISABLE_VERIFY, False),
|
|
46
51
|
)
|
|
47
52
|
|
|
48
53
|
def write_config(self) -> None:
|
|
@@ -73,7 +78,7 @@ class StudioConfig:
|
|
|
73
78
|
config = read_global_config_value(STUDIO_CONFIG_KEY, unavailable_ok=True)
|
|
74
79
|
|
|
75
80
|
if config is None:
|
|
76
|
-
return StudioConfig(None, None, None, None)
|
|
81
|
+
return StudioConfig(None, None, None, None, False)
|
|
77
82
|
|
|
78
83
|
if not isinstance(config, dict):
|
|
79
84
|
raise ValueError(
|
|
@@ -83,7 +88,7 @@ class StudioConfig:
|
|
|
83
88
|
)
|
|
84
89
|
|
|
85
90
|
for key in config:
|
|
86
|
-
if not isinstance(config[key], str):
|
|
91
|
+
if not isinstance(config[key], str) and key != DISABLE_VERIFY:
|
|
87
92
|
raise ValueError(
|
|
88
93
|
"Invalid config file format. "
|
|
89
94
|
f"Key '{key}' is not a text value."
|
|
@@ -102,6 +107,9 @@ class StudioConfig:
|
|
|
102
107
|
studio_url=StudioConfig._read_env_value(RASA_STUDIO_CLI_STUDIO_URL_ENV),
|
|
103
108
|
client_id=StudioConfig._read_env_value(RASA_STUDIO_CLI_CLIENT_ID_KEY_ENV),
|
|
104
109
|
realm_name=StudioConfig._read_env_value(RASA_STUDIO_CLI_REALM_NAME_KEY_ENV),
|
|
110
|
+
disable_verify=bool(
|
|
111
|
+
os.getenv(RASA_STUDIO_CLI_DISABLE_VERIFY_KEY_ENV, False)
|
|
112
|
+
),
|
|
105
113
|
)
|
|
106
114
|
|
|
107
115
|
@staticmethod
|
|
@@ -124,4 +132,5 @@ class StudioConfig:
|
|
|
124
132
|
studio_url=self.studio_url or other.studio_url,
|
|
125
133
|
client_id=self.client_id or other.client_id,
|
|
126
134
|
realm_name=self.realm_name or other.realm_name,
|
|
135
|
+
disable_verify=self.disable_verify or other.disable_verify,
|
|
127
136
|
)
|
rasa/studio/constants.py
CHANGED
|
@@ -10,6 +10,7 @@ RASA_STUDIO_AUTH_SERVER_URL_ENV = "RASA_STUDIO_AUTH_SERVER_URL"
|
|
|
10
10
|
RASA_STUDIO_CLI_STUDIO_URL_ENV = "RASA_STUDIO_CLI_STUDIO_URL"
|
|
11
11
|
RASA_STUDIO_CLI_REALM_NAME_KEY_ENV = "RASA_STUDIO_CLI_REALM_NAME_KEY"
|
|
12
12
|
RASA_STUDIO_CLI_CLIENT_ID_KEY_ENV = "RASA_STUDIO_CLI_CLIENT_ID_KEY"
|
|
13
|
+
RASA_STUDIO_CLI_DISABLE_VERIFY_KEY_ENV = "RASA_STUDIO_CLI_DISABLE_VERIFY_KEY"
|
|
13
14
|
|
|
14
15
|
STUDIO_NLU_FILENAME = "studio_nlu.yml"
|
|
15
16
|
STUDIO_DOMAIN_FILENAME = "studio_domain.yml"
|
rasa/studio/data_handler.py
CHANGED
|
@@ -76,7 +76,9 @@ class StudioDataHandler:
|
|
|
76
76
|
|
|
77
77
|
return request
|
|
78
78
|
|
|
79
|
-
def _make_request(
|
|
79
|
+
def _make_request(
|
|
80
|
+
self, GQL_req: Dict[Any, Any], verify: bool = True
|
|
81
|
+
) -> Dict[Any, Any]:
|
|
80
82
|
token = KeycloakTokenReader().get_token()
|
|
81
83
|
if token.is_expired():
|
|
82
84
|
token = self.refresh_token(token)
|
|
@@ -93,6 +95,7 @@ class StudioDataHandler:
|
|
|
93
95
|
"Authorization": f"{token.token_type} {token.access_token}",
|
|
94
96
|
"Content-Type": "application/json",
|
|
95
97
|
},
|
|
98
|
+
verify=verify,
|
|
96
99
|
)
|
|
97
100
|
|
|
98
101
|
if res.status_code != 200:
|
|
@@ -128,7 +131,9 @@ class StudioDataHandler:
|
|
|
128
131
|
The data from Rasa Studio.
|
|
129
132
|
"""
|
|
130
133
|
GQL_req = self._build_request()
|
|
131
|
-
|
|
134
|
+
verify = not self.studio_config.disable_verify
|
|
135
|
+
|
|
136
|
+
response = self._make_request(GQL_req, verify=verify)
|
|
132
137
|
self._extract_data(response)
|
|
133
138
|
|
|
134
139
|
def request_data(
|
|
@@ -145,7 +150,9 @@ class StudioDataHandler:
|
|
|
145
150
|
The data from Rasa Studio.
|
|
146
151
|
"""
|
|
147
152
|
GQL_req = self._build_request(intent_names, entity_names)
|
|
148
|
-
|
|
153
|
+
verify = not self.studio_config.disable_verify
|
|
154
|
+
|
|
155
|
+
response = self._make_request(GQL_req, verify=verify)
|
|
149
156
|
self._extract_data(response)
|
|
150
157
|
|
|
151
158
|
def get_config(self) -> Optional[str]:
|
rasa/studio/upload.py
CHANGED
|
@@ -56,7 +56,10 @@ def _get_selected_entities_and_intents(
|
|
|
56
56
|
|
|
57
57
|
def handle_upload(args: argparse.Namespace) -> None:
|
|
58
58
|
"""Uploads primitives to rasa studio."""
|
|
59
|
-
|
|
59
|
+
studio_config = StudioConfig.read_config()
|
|
60
|
+
endpoint = studio_config.studio_url
|
|
61
|
+
verify = not studio_config.disable_verify
|
|
62
|
+
|
|
60
63
|
if not endpoint:
|
|
61
64
|
rasa.shared.utils.cli.print_error_and_exit(
|
|
62
65
|
"No GraphQL endpoint found in config. Please run `rasa studio config`."
|
|
@@ -76,9 +79,9 @@ def handle_upload(args: argparse.Namespace) -> None:
|
|
|
76
79
|
|
|
77
80
|
# check safely if args.calm is set and not fail if not
|
|
78
81
|
if hasattr(args, "calm") and args.calm:
|
|
79
|
-
upload_calm_assistant(args, endpoint)
|
|
82
|
+
upload_calm_assistant(args, endpoint, verify=verify)
|
|
80
83
|
else:
|
|
81
|
-
upload_nlu_assistant(args, endpoint)
|
|
84
|
+
upload_nlu_assistant(args, endpoint, verify=verify)
|
|
82
85
|
|
|
83
86
|
|
|
84
87
|
config_keys = [
|
|
@@ -126,7 +129,9 @@ def _get_assistant_name(config: Dict[Text, Any]) -> str:
|
|
|
126
129
|
|
|
127
130
|
|
|
128
131
|
@with_studio_error_handler
|
|
129
|
-
def upload_calm_assistant(
|
|
132
|
+
def upload_calm_assistant(
|
|
133
|
+
args: argparse.Namespace, endpoint: str, verify: bool = True
|
|
134
|
+
) -> StudioResult:
|
|
130
135
|
"""Uploads the CALM assistant data to Rasa Studio.
|
|
131
136
|
|
|
132
137
|
Args:
|
|
@@ -216,11 +221,13 @@ def upload_calm_assistant(args: argparse.Namespace, endpoint: str) -> StudioResu
|
|
|
216
221
|
)
|
|
217
222
|
|
|
218
223
|
structlogger.info("Uploading to Rasa Studio...")
|
|
219
|
-
return make_request(endpoint, graphql_req)
|
|
224
|
+
return make_request(endpoint, graphql_req, verify)
|
|
220
225
|
|
|
221
226
|
|
|
222
227
|
@with_studio_error_handler
|
|
223
|
-
def upload_nlu_assistant(
|
|
228
|
+
def upload_nlu_assistant(
|
|
229
|
+
args: argparse.Namespace, endpoint: str, verify: bool = True
|
|
230
|
+
) -> StudioResult:
|
|
224
231
|
"""Uploads the classic (dm1) assistant data to Rasa Studio.
|
|
225
232
|
|
|
226
233
|
Args:
|
|
@@ -268,15 +275,16 @@ def upload_nlu_assistant(args: argparse.Namespace, endpoint: str) -> StudioResul
|
|
|
268
275
|
graphql_req = build_request(assistant_name, nlu_examples_yaml, domain_yaml)
|
|
269
276
|
|
|
270
277
|
structlogger.info("Uploading to Rasa Studio...")
|
|
271
|
-
return make_request(endpoint, graphql_req)
|
|
278
|
+
return make_request(endpoint, graphql_req, verify)
|
|
272
279
|
|
|
273
280
|
|
|
274
|
-
def make_request(endpoint: str, graphql_req: Dict) -> StudioResult:
|
|
281
|
+
def make_request(endpoint: str, graphql_req: Dict, verify: bool = True) -> StudioResult:
|
|
275
282
|
"""Makes a request to the studio endpoint to upload data.
|
|
276
283
|
|
|
277
284
|
Args:
|
|
278
285
|
endpoint: The studio endpoint
|
|
279
286
|
graphql_req: The graphql request
|
|
287
|
+
verify: Whether to verify SSL
|
|
280
288
|
"""
|
|
281
289
|
token = KeycloakTokenReader().get_token()
|
|
282
290
|
res = requests.post(
|
|
@@ -286,6 +294,7 @@ def make_request(endpoint: str, graphql_req: Dict) -> StudioResult:
|
|
|
286
294
|
"Authorization": f"{token.token_type} {token.access_token}",
|
|
287
295
|
"Content-Type": "application/json",
|
|
288
296
|
},
|
|
297
|
+
verify=verify,
|
|
289
298
|
)
|
|
290
299
|
|
|
291
300
|
if results_logger.response_has_errors(res.json()):
|
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.14
|
|
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
|
|
@@ -68,7 +68,7 @@ Requires-Dist: mattermostwrapper (>=2.2,<2.3)
|
|
|
68
68
|
Requires-Dist: mlflow (>=2.15.1,<3.0.0) ; extra == "mlflow"
|
|
69
69
|
Requires-Dist: networkx (>=3.1,<3.2)
|
|
70
70
|
Requires-Dist: numpy (>=1.23.5,<1.25.0) ; python_version >= "3.9" and python_version < "3.11"
|
|
71
|
-
Requires-Dist: openai (>=1.
|
|
71
|
+
Requires-Dist: openai (>=1.55.3,<1.56.0)
|
|
72
72
|
Requires-Dist: openpyxl (>=3.1.5,<4.0.0)
|
|
73
73
|
Requires-Dist: opentelemetry-api (>=1.16.0,<1.17.0)
|
|
74
74
|
Requires-Dist: opentelemetry-exporter-jaeger (>=1.16.0,<1.17.0)
|
|
@@ -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=HJpxm2GmzD5nqbKenWUgE-luEOtJ5p2xv_bjzDzRS1c,9004
|
|
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
|
|
@@ -359,13 +359,13 @@ rasa/dialogue_understanding/generator/command_generator.py,sha256=woJ4-59Iarugyx
|
|
|
359
359
|
rasa/dialogue_understanding/generator/constants.py,sha256=yh4mAiIINkDcZs_xApEjMoMn7pFm3xhFmFF3DjStTco,680
|
|
360
360
|
rasa/dialogue_understanding/generator/flow_document_template.jinja2,sha256=f4H6vVd-_nX_RtutMh1xD3ZQE_J2OyuPHAtiltfiAPY,253
|
|
361
361
|
rasa/dialogue_understanding/generator/flow_retrieval.py,sha256=E7u1Ynb606LOLo_QEJke7NfdrWs9Z3MXjv0U15fbb18,16157
|
|
362
|
-
rasa/dialogue_understanding/generator/llm_based_command_generator.py,sha256=
|
|
362
|
+
rasa/dialogue_understanding/generator/llm_based_command_generator.py,sha256=Aktu_gdxAIQowfQ9KBcS2w3R9Hilc2ehLPB89ek9mVs,16627
|
|
363
363
|
rasa/dialogue_understanding/generator/llm_command_generator.py,sha256=P1LA0eJxf33GKzN_baUWq1P9KNwYCvKZR-N-Z4zzdjA,2459
|
|
364
364
|
rasa/dialogue_understanding/generator/multi_step/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
365
365
|
rasa/dialogue_understanding/generator/multi_step/fill_slots_prompt.jinja2,sha256=Y0m673tAML3cFPaLM-urMXDsBYUUcXIw9YUpkAhGUuA,2933
|
|
366
366
|
rasa/dialogue_understanding/generator/multi_step/handle_flows_prompt.jinja2,sha256=8l93_QBKBYnqLICVdiTu5ejZDE8F36BU8-qwba0px44,1927
|
|
367
367
|
rasa/dialogue_understanding/generator/multi_step/multi_step_llm_command_generator.py,sha256=133WGlwv49PF4_DKM53u0J_pWrDs88dgUYc5fq1m6NQ,31568
|
|
368
|
-
rasa/dialogue_understanding/generator/nlu_command_adapter.py,sha256
|
|
368
|
+
rasa/dialogue_understanding/generator/nlu_command_adapter.py,sha256=_mltSp6JzB6tYmhxjTVxyjOzorO7-Poj2nLpHQrDsQs,9202
|
|
369
369
|
rasa/dialogue_understanding/generator/single_step/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
370
370
|
rasa/dialogue_understanding/generator/single_step/command_prompt_template.jinja2,sha256=qVTuas5XgAv2M_hsihyXl-wAnBDEpg_uhVvNrR5m-h0,3751
|
|
371
371
|
rasa/dialogue_understanding/generator/single_step/single_step_llm_command_generator.py,sha256=lzSGEqsKtRPWK9hP3GmaZazN39icII-MZp_0sykvpNQ,16031
|
|
@@ -559,7 +559,7 @@ rasa/shared/core/flows/flow_path.py,sha256=xstwahZBU5cfMY46mREA4NoOGlKLBRAqeP_mJ
|
|
|
559
559
|
rasa/shared/core/flows/flow_step.py,sha256=YW2rF2uCDEPfkX8vIHue95zfjF4cU84DWiW1wvGsGZs,4218
|
|
560
560
|
rasa/shared/core/flows/flow_step_links.py,sha256=phK1BiAnASSvjUm3FcPw3atOzXbZ8ul6t9PjJes0oqI,10006
|
|
561
561
|
rasa/shared/core/flows/flow_step_sequence.py,sha256=jStz6epvKIycZWn8nE52ZB1vbncnOKkP5J_GuJsyLa8,2253
|
|
562
|
-
rasa/shared/core/flows/flows_list.py,sha256=
|
|
562
|
+
rasa/shared/core/flows/flows_list.py,sha256=PtcoK9d7gabFeofdGzQ0bYGh7tYyQDs9t8Wa3F6fkAc,8119
|
|
563
563
|
rasa/shared/core/flows/flows_yaml_schema.json,sha256=ZoVbDzNM89miI3q00J7JtkZRM5dBnicsCpuy9B76jr8,10896
|
|
564
564
|
rasa/shared/core/flows/nlu_trigger.py,sha256=gfnRUi7QJaUjMb43RTyQWbLoIUSx2I78LeM8CjDIIDE,3907
|
|
565
565
|
rasa/shared/core/flows/steps/__init__.py,sha256=M43kHDuB8okcIE3WLivnvuCBzIsA5Qi2ATXUGTVW2Rw,655
|
|
@@ -635,7 +635,7 @@ rasa/shared/providers/_configs/self_hosted_llm_client_config.py,sha256=fUEvqCrhE
|
|
|
635
635
|
rasa/shared/providers/_configs/utils.py,sha256=vxtWmrnpnH2ryHWiP7hpLbSBAq3x-3hsGxGWSEgp4Lk,3334
|
|
636
636
|
rasa/shared/providers/_ssl_verification_utils.py,sha256=4tujCOjg0KKX2_DzOb7lZTdsUXtzRB4UkfhkC3W0jO0,4166
|
|
637
637
|
rasa/shared/providers/embedding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
638
|
-
rasa/shared/providers/embedding/_base_litellm_embedding_client.py,sha256=
|
|
638
|
+
rasa/shared/providers/embedding/_base_litellm_embedding_client.py,sha256=ggfcEc8Ht9m272awIl_1gWlG7Fe6xC-FhGGjujNRXlM,9148
|
|
639
639
|
rasa/shared/providers/embedding/_langchain_embedding_client_adapter.py,sha256=IR2Rb3ReJ9C9sxOoOGRXgtz8STWdMREs_4AeSMKFjl4,2135
|
|
640
640
|
rasa/shared/providers/embedding/azure_openai_embedding_client.py,sha256=R4d0AGXudYAeqOjDdUeqkcrziNrlD5E4RgLi1ggp0Rc,10242
|
|
641
641
|
rasa/shared/providers/embedding/default_litellm_embedding_client.py,sha256=B-BSoIOWV_-tmRr_gcEEMpibA9PUTi3XF91PR0JKGM4,3231
|
|
@@ -644,7 +644,7 @@ rasa/shared/providers/embedding/embedding_response.py,sha256=H55mSAL3LfVvDlBklaC
|
|
|
644
644
|
rasa/shared/providers/embedding/huggingface_local_embedding_client.py,sha256=Zo3gyj49h4LxXV7bx39TXpIPKlernG-5xzqXczTCbig,6913
|
|
645
645
|
rasa/shared/providers/embedding/openai_embedding_client.py,sha256=XNRGE7apo2v3kWRrtgxE-Gq4rvNko3IiXtvgC4krDYE,5429
|
|
646
646
|
rasa/shared/providers/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
647
|
-
rasa/shared/providers/llm/_base_litellm_client.py,sha256=
|
|
647
|
+
rasa/shared/providers/llm/_base_litellm_client.py,sha256=hZ12FaGnb13wacxBCQYi0gbLzYBwgobAyVsPjvCiIOI,9330
|
|
648
648
|
rasa/shared/providers/llm/azure_openai_llm_client.py,sha256=jwEntKsBHKOXUhNEQM-kTYIfRCJ6qEka58ZPnKsSsb8,11836
|
|
649
649
|
rasa/shared/providers/llm/default_litellm_llm_client.py,sha256=yvqd4ARoGSi9iqfE2uFvVEYRU6rICePBnEEKTduCc9w,2777
|
|
650
650
|
rasa/shared/providers/llm/llm_client.py,sha256=6-gMsEJqquhUPGXzNiq_ybM_McLWxAJ_QhbmWcLnb_Q,2358
|
|
@@ -667,14 +667,14 @@ 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=poDOFJ4jU-hQG7XS7ozeFA8ec5L4NSUBiFvH-N5BuQc,31089
|
|
669
669
|
rasa/studio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
670
|
-
rasa/studio/auth.py,sha256=
|
|
671
|
-
rasa/studio/config.py,sha256=
|
|
672
|
-
rasa/studio/constants.py,sha256=
|
|
673
|
-
rasa/studio/data_handler.py,sha256=
|
|
670
|
+
rasa/studio/auth.py,sha256=Lw0zkNhQx3pW8yANWAg9x1M4hXT4Jjpxcnjfw8LYFsA,9672
|
|
671
|
+
rasa/studio/config.py,sha256=IGxMCpdE31PFms0hqYbT6GlAOS1w2L1wutnc8wQSO4s,4541
|
|
672
|
+
rasa/studio/constants.py,sha256=SIpfW70P3OwoLU359BSXQ9fNEVLF6YTCnX6CVvsG0uo,810
|
|
673
|
+
rasa/studio/data_handler.py,sha256=o6jDLE15SBtkBDv4n9RCG9spF0f9BCm0PmXU8jSOfik,12416
|
|
674
674
|
rasa/studio/download.py,sha256=9uE4KKaHnID_3-Tt_E5_D00XTwhLlj4oxORY8CZRrZc,17188
|
|
675
675
|
rasa/studio/results_logger.py,sha256=0gCkEaZ1CeFmxRHArK5my_DsLYjApZrxfiRMT5asE6A,4963
|
|
676
676
|
rasa/studio/train.py,sha256=gfPtirITzBDo9gV4hqDNSwPYtVp_22cq8OWI6YIBgyk,4243
|
|
677
|
-
rasa/studio/upload.py,sha256=
|
|
677
|
+
rasa/studio/upload.py,sha256=5hvj_DUzxq5JkZswro-KaLE4QAKwbMLGb8TakzS1etk,14290
|
|
678
678
|
rasa/telemetry.py,sha256=Q6MQnDhOY6cKRVs3PayiM6WYWb8QJ_Hb3_eOm12n0tI,61093
|
|
679
679
|
rasa/tracing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
680
680
|
rasa/tracing/config.py,sha256=O4iHkE4kF6r4uVAt3JUb--TniK7pWD4j3d08Vf_GuYY,12736
|
|
@@ -720,9 +720,9 @@ rasa/utils/train_utils.py,sha256=f1NWpp5y6al0dzoQyyio4hc4Nf73DRoRSHDzEK6-C4E,212
|
|
|
720
720
|
rasa/utils/url_tools.py,sha256=JQcHL2aLqLHu82k7_d9imUoETCm2bmlHaDpOJ-dKqBc,1218
|
|
721
721
|
rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
|
|
722
722
|
rasa/validator.py,sha256=ToRaa4dS859CJO3H2VGqS943O5qWOg45ypbDfFMKECU,62699
|
|
723
|
-
rasa/version.py,sha256=
|
|
724
|
-
rasa_pro-3.10.
|
|
725
|
-
rasa_pro-3.10.
|
|
726
|
-
rasa_pro-3.10.
|
|
727
|
-
rasa_pro-3.10.
|
|
728
|
-
rasa_pro-3.10.
|
|
723
|
+
rasa/version.py,sha256=z2i3uuT45OdhuDRVnuLCtmG8pfzzwC-13qbKorgsDmQ,118
|
|
724
|
+
rasa_pro-3.10.14.dist-info/METADATA,sha256=ZDJzu4fsisgXmG0MJRp2XJGY2zHYrQUAddh2-G4Tezs,10919
|
|
725
|
+
rasa_pro-3.10.14.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
|
|
726
|
+
rasa_pro-3.10.14.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
|
|
727
|
+
rasa_pro-3.10.14.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
|
|
728
|
+
rasa_pro-3.10.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|