rasa-pro 3.11.5__py3-none-any.whl → 3.11.6__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.

@@ -12,6 +12,7 @@ import time
12
12
 
13
13
  from rasa.core.brokers.broker import EventBroker
14
14
  from rasa.core.exceptions import KafkaProducerInitializationError
15
+ from rasa.shared.core.events import ErrorHandled
15
16
  from rasa.shared.utils.io import DEFAULT_ENCODING
16
17
  from rasa.utils.endpoints import EndpointConfig
17
18
  import rasa.shared.utils.common
@@ -119,7 +120,7 @@ class KafkaEventBroker(EventBroker):
119
120
  retry_delay_in_seconds: float = 5,
120
121
  ) -> None:
121
122
  """Publishes events."""
122
- from confluent_kafka import KafkaException
123
+ from confluent_kafka import KafkaError, KafkaException
123
124
 
124
125
  if retries == 1:
125
126
  retries = 2
@@ -143,28 +144,66 @@ class KafkaEventBroker(EventBroker):
143
144
  )
144
145
  self.producer.poll(1)
145
146
  retries -= 1
146
- except Exception as e:
147
- logger.error(
148
- f"Could not publish message to kafka url '{self.url}'. "
149
- f"Failed with error: {e}"
150
- )
151
- try:
152
- self._check_kafka_connection()
153
- except KafkaException:
154
- logger.debug("Connection to kafka lost, reconnecting...")
155
- self.producer = self._create_producer()
156
- try:
157
- self._check_kafka_connection()
158
- logger.debug("Reconnection to kafka successful")
159
- self._publish(event)
160
- return
161
- except KafkaException:
162
- pass
163
- retries -= 1
164
- time.sleep(retry_delay_in_seconds)
147
+ except Exception as exc:
148
+ if (
149
+ isinstance(exc, KafkaException)
150
+ and exc.args[0].code() == KafkaError.MSG_SIZE_TOO_LARGE
151
+ ):
152
+ logger.warning(
153
+ "Message size is too large for the Kafka broker. "
154
+ "Please check the message.max.bytes configuration. "
155
+ "Sending error event."
156
+ )
157
+
158
+ original_event_type = event.get("event", "")
159
+ sender_id = event.get("sender_id", "")
160
+ event = ErrorHandled(
161
+ error_code=KafkaError.MSG_SIZE_TOO_LARGE,
162
+ metadata={
163
+ "error_msg": f"Skipping message for event type "
164
+ f"'{original_event_type}' because "
165
+ f"of Kafka message size limit: {exc.args[0].str()}.",
166
+ "error_source": "KafkaEventBroker",
167
+ },
168
+ ).as_dict()
169
+ event.update({"sender_id": sender_id})
170
+ else:
171
+ logger.error(
172
+ f"Could not publish message to kafka url '{self.url}'. "
173
+ f"Failed with error: {exc}"
174
+ )
175
+ self._retry_publish(event, retries, retry_delay_in_seconds)
165
176
 
166
177
  logger.error("Failed to publish Kafka event.")
167
178
 
179
+ def _retry_publish(
180
+ self,
181
+ event: Dict[Text, Any],
182
+ retries: int,
183
+ retry_delay_in_seconds: float,
184
+ ) -> None:
185
+ """Retries publishing if the producer is not connected.
186
+
187
+ Args:
188
+ event: The event to publish.
189
+ """
190
+ from confluent_kafka import KafkaException
191
+
192
+ try:
193
+ self._check_kafka_connection()
194
+ except KafkaException:
195
+ logger.debug("Connection to kafka lost, reconnecting...")
196
+ self.producer = self._create_producer()
197
+ try:
198
+ self._check_kafka_connection()
199
+ logger.debug("Reconnection to kafka successful")
200
+ self._publish(event)
201
+ return
202
+ except KafkaException:
203
+ pass
204
+ retries -= 1
205
+ time.sleep(retry_delay_in_seconds)
206
+
168
207
  def _check_kafka_connection(self) -> None:
169
208
  """Verifies connection with Kafka.
170
209
 
@@ -1,7 +1,8 @@
1
- from dataclasses import dataclass
2
- from typing import Any, Dict, Optional
3
1
  import json
4
2
  import os
3
+ from dataclasses import dataclass
4
+ from typing import Any, Dict, Optional
5
+ from urllib.parse import urlencode
5
6
 
6
7
  import websockets
7
8
  from websockets.legacy.client import WebSocketClientProtocol
@@ -19,11 +20,14 @@ from rasa.shared.constants import DEEPGRAM_API_KEY_ENV_VAR
19
20
  @dataclass
20
21
  class DeepgramASRConfig(ASREngineConfig):
21
22
  endpoint: Optional[str] = None
22
- # number of miliseconds of silence to determine end of speech
23
+ # number of milliseconds of silence to determine end of speech
23
24
  endpointing: Optional[int] = None
24
25
  language: Optional[str] = None
25
26
  model: Optional[str] = None
26
27
  smart_format: Optional[bool] = None
28
+ # number of milliseconds of no new transcript to determine end of speech
29
+ # should be at least 1000 according to docs
30
+ utterance_end_ms: Optional[int] = None
27
31
 
28
32
 
29
33
  class DeepgramASR(ASREngine[DeepgramASRConfig]):
@@ -37,22 +41,35 @@ class DeepgramASR(ASREngine[DeepgramASRConfig]):
37
41
  """Connect to the ASR system."""
38
42
  deepgram_api_key = os.environ[DEEPGRAM_API_KEY_ENV_VAR]
39
43
  extra_headers = {"Authorization": f"Token {deepgram_api_key}"}
40
- api_url = self._get_api_url()
41
- query_params = self._get_query_params()
42
44
  return await websockets.connect( # type: ignore
43
- api_url + query_params,
45
+ self._get_api_url_with_query_params(),
44
46
  extra_headers=extra_headers,
45
47
  )
46
48
 
49
+ def _get_api_url_with_query_params(self) -> str:
50
+ """Combine api url and query params."""
51
+ return self._get_api_url() + self._get_query_params()
52
+
47
53
  def _get_api_url(self) -> str:
54
+ """Get the api url with the configured endpoint."""
48
55
  return f"wss://{self.config.endpoint}/v1/listen?"
49
56
 
50
57
  def _get_query_params(self) -> str:
51
- return (
52
- f"encoding=mulaw&sample_rate={HERTZ}&endpointing={self.config.endpointing}"
53
- f"&vad_events=true&language={self.config.language}&interim_results=true"
54
- f"&model={self.config.model}&smart_format={str(self.config.smart_format).lower()}"
55
- )
58
+ """Get the configured query parameters for the api."""
59
+ query_params = {
60
+ "encoding": "mulaw",
61
+ "sample_rate": HERTZ,
62
+ "endpointing": self.config.endpointing,
63
+ "vad_events": "true",
64
+ "language": self.config.language,
65
+ "interim_results": "true",
66
+ "model": self.config.model,
67
+ "smart_format": str(self.config.smart_format).lower(),
68
+ }
69
+ if self.config.utterance_end_ms and self.config.utterance_end_ms > 0:
70
+ query_params["utterance_end_ms"] = self.config.utterance_end_ms
71
+
72
+ return urlencode(query_params)
56
73
 
57
74
  async def signal_audio_done(self) -> None:
58
75
  """Signal to the ASR Api that you are done sending data."""
@@ -67,24 +84,48 @@ class DeepgramASR(ASREngine[DeepgramASRConfig]):
67
84
  def engine_event_to_asr_event(self, e: Any) -> Optional[ASREvent]:
68
85
  """Translate an engine event to a common ASREvent."""
69
86
  data = json.loads(e)
70
- if "is_final" in data:
71
- transcript = data["channel"]["alternatives"][0]["transcript"]
87
+ data_type = data["type"]
88
+ if data_type == "Results":
89
+ transcript_data = data["channel"]["alternatives"][0]
90
+ transcript = transcript_data["transcript"]
72
91
  if data["is_final"]:
73
92
  if data.get("speech_final"):
74
- full_transcript = self.accumulated_transcript + transcript
93
+ full_transcript = self.concatenate_transcripts(
94
+ self.accumulated_transcript, transcript
95
+ )
75
96
  self.accumulated_transcript = ""
76
97
  if full_transcript:
77
98
  return NewTranscript(full_transcript)
78
99
  else:
79
- self.accumulated_transcript += transcript
100
+ self.accumulated_transcript = self.concatenate_transcripts(
101
+ self.accumulated_transcript, transcript
102
+ )
80
103
  elif transcript:
81
104
  return UserIsSpeaking()
105
+ # event that comes after utterance_end_ms of no new transcript
106
+ elif data_type == "UtteranceEnd":
107
+ if self.accumulated_transcript:
108
+ transcript = self.accumulated_transcript
109
+ self.accumulated_transcript = ""
110
+ return NewTranscript(transcript)
82
111
  return None
83
112
 
84
113
  @staticmethod
85
114
  def get_default_config() -> DeepgramASRConfig:
86
- return DeepgramASRConfig("api.deepgram.com", 400, "en", "nova-2-general", True)
115
+ return DeepgramASRConfig(
116
+ endpoint="api.deepgram.com",
117
+ endpointing=400,
118
+ language="en",
119
+ model="nova-2-general",
120
+ smart_format=True,
121
+ utterance_end_ms=1000,
122
+ )
87
123
 
88
124
  @classmethod
89
125
  def from_config_dict(cls, config: Dict) -> "DeepgramASR":
90
126
  return DeepgramASR(DeepgramASRConfig.from_dict(config))
127
+
128
+ @staticmethod
129
+ def concatenate_transcripts(t1: str, t2: str) -> str:
130
+ """Concatenate two transcripts making sure there is a space between them."""
131
+ return (t1.strip() + " " + t2.strip()).strip()
@@ -102,6 +102,9 @@ class BrowserAudioInputChannel(VoiceInputChannel):
102
102
 
103
103
  @blueprint.websocket("/websocket") # type: ignore
104
104
  async def handle_message(request: Request, ws: Websocket) -> None:
105
- await self.run_audio_streaming(on_new_message, ws)
105
+ try:
106
+ await self.run_audio_streaming(on_new_message, ws)
107
+ except Exception as e:
108
+ logger.error("browser_audio.handle_message.error", error=e)
106
109
 
107
110
  return blueprint
@@ -87,13 +87,22 @@ class CartesiaTTS(TTSEngine[CartesiaTTSConfig]):
87
87
  async for data in response.content.iter_chunked(1024):
88
88
  yield self.engine_bytes_to_rasa_audio_bytes(data)
89
89
  return
90
+ elif response.status == 401:
91
+ structlogger.error(
92
+ "cartesia.synthesize.rest.unauthorized",
93
+ status_code=response.status,
94
+ )
95
+ raise TTSError(
96
+ "Unauthorized. Please make sure you have the correct API key."
97
+ )
90
98
  else:
99
+ response_text = await response.text()
91
100
  structlogger.error(
92
101
  "cartesia.synthesize.rest.failed",
93
102
  status_code=response.status,
94
- msg=response.text(),
103
+ msg=response_text,
95
104
  )
96
- raise TTSError(f"TTS failed: {response.text()}")
105
+ raise TTSError(f"TTS failed: {response_text}")
97
106
  except ClientConnectorError as e:
98
107
  raise TTSError(e)
99
108
  except TimeoutError as e:
@@ -4,7 +4,7 @@ If the answer is not known or cannot be determined from the provided documents o
4
4
  Use the following documents to answer the question:
5
5
  {% for doc in docs %}
6
6
  {{ loop.cycle("*")}}. {{ doc.metadata }}
7
- {{ doc.page_content }}
7
+ {{ doc.text }}
8
8
  {% endfor %}
9
9
 
10
10
  {% if citation_enabled %}
rasa/keys ADDED
@@ -0,0 +1 @@
1
+ {"segment": "CcvVD1I68Nkkxrv93cIqv1twIwrwG8nz", "sentry": "a283f1fde04347b099c8d729109dd450@o251570"}
@@ -45,7 +45,7 @@ class ConversationStep:
45
45
  elif isinstance(command, SetSlotCommand):
46
46
  output.append(f"SetSlot({command.name}, {command.value})")
47
47
  elif isinstance(command, ClarifyCommand):
48
- output.append(f"Clarify({command.options})")
48
+ output.append(f"Clarify({', '.join(command.options)})")
49
49
  elif isinstance(command, CancelFlowCommand):
50
50
  output.append("CancelFlow()")
51
51
  elif isinstance(command, ChitChatAnswerCommand):
rasa/shared/constants.py CHANGED
@@ -166,6 +166,7 @@ OPENAI_API_VERSION_CONFIG_KEY = "openai_api_version"
166
166
 
167
167
  AWS_BEDROCK_PROVIDER = "bedrock"
168
168
  AWS_SAGEMAKER_PROVIDER = "sagemaker"
169
+ AWS_SAGEMAKER_CHAT_PROVIDER = "sagemaker"
169
170
 
170
171
  API_BASE_CONFIG_KEY = "api_base"
171
172
  API_TYPE_CONFIG_KEY = "api_type"
@@ -178,3 +178,5 @@ POLICY_NAME_RULE = "RulePolicy"
178
178
  CLASSIFIER_NAME_FALLBACK = "FallbackClassifier"
179
179
 
180
180
  POLICIES_THAT_EXTRACT_ENTITIES = {"TEDPolicy"}
181
+
182
+ ERROR_CODE_KEY = "error_code"
@@ -31,6 +31,7 @@ from typing import Union
31
31
 
32
32
  from rasa.shared.constants import DOCS_URL_TRAINING_DATA
33
33
  from rasa.shared.core.constants import (
34
+ ERROR_CODE_KEY,
34
35
  LOOP_NAME,
35
36
  EXTERNAL_MESSAGE_PREFIX,
36
37
  ACTION_NAME_SENDER_ID_CONNECTOR_STR,
@@ -2557,3 +2558,69 @@ class SessionEnded(AlwaysEqualEventMixin):
2557
2558
  """Applies event to current conversation state."""
2558
2559
  # noinspection PyProtectedMember
2559
2560
  tracker._reset()
2561
+
2562
+
2563
+ class ErrorHandled(Event):
2564
+ """An error occurred during the conversation.
2565
+
2566
+ The error message is stored in the metadata of the event.
2567
+ """
2568
+
2569
+ type_name = "error"
2570
+
2571
+ def __init__(
2572
+ self,
2573
+ error_code: int,
2574
+ timestamp: Optional[float] = None,
2575
+ metadata: Optional[Dict[str, Any]] = None,
2576
+ ) -> None:
2577
+ """Creates event for an error.
2578
+
2579
+ Args:
2580
+ error_code: Error int code.
2581
+ timestamp: When the event was created.
2582
+ metadata: Additional event metadata.
2583
+ """
2584
+ self.error_code = error_code
2585
+ super().__init__(timestamp, metadata)
2586
+
2587
+ def __str__(self) -> Text:
2588
+ """Returns text representation of event."""
2589
+ return f"ErrorHandled({self.error_code})"
2590
+
2591
+ def __repr__(self) -> Text:
2592
+ """Returns event as string for debugging."""
2593
+ return f"ErrorHandled({self.error_code}, {self.timestamp}, {self.metadata})"
2594
+
2595
+ def __hash__(self) -> int:
2596
+ """Returns unique hash for event."""
2597
+ return hash(self.error_code)
2598
+
2599
+ def __eq__(self, other: Any) -> bool:
2600
+ """Compares object with other object."""
2601
+ if not isinstance(other, ErrorHandled):
2602
+ return NotImplemented
2603
+
2604
+ return self.error_code == other.error_code
2605
+
2606
+ def as_story_string(self) -> Text:
2607
+ """Returns text representation of event."""
2608
+ props = json.dumps({ERROR_CODE_KEY: self.error_code})
2609
+ return f"{ErrorHandled.type_name}{props}"
2610
+
2611
+ @classmethod
2612
+ def _from_story_string(cls, parameters: Dict[Text, Any]) -> List["ErrorHandled"]:
2613
+ """Called to convert a parsed story line into an event."""
2614
+ return [
2615
+ ErrorHandled(
2616
+ parameters.get(ERROR_CODE_KEY),
2617
+ parameters.get("timestamp"),
2618
+ parameters.get("metadata"),
2619
+ )
2620
+ ]
2621
+
2622
+ def as_dict(self) -> Dict[Text, Any]:
2623
+ """Returns serialized event."""
2624
+ serialized = super().as_dict()
2625
+ serialized.update({ERROR_CODE_KEY: self.error_code})
2626
+ return serialized
@@ -3,6 +3,7 @@ from typing import Dict, Any
3
3
  from rasa.shared.constants import (
4
4
  AWS_BEDROCK_PROVIDER,
5
5
  AWS_SAGEMAKER_PROVIDER,
6
+ AWS_SAGEMAKER_CHAT_PROVIDER,
6
7
  )
7
8
  from rasa.shared.providers._configs.default_litellm_client_config import (
8
9
  DefaultLiteLLMClientConfig,
@@ -98,7 +99,11 @@ class DefaultLiteLLMClient(_BaseLiteLLMClient):
98
99
  # SageMaker) in Rasa by allowing AWS secrets to be provided as extra
99
100
  # parameters without triggering validation errors due to missing AWS
100
101
  # environment variables.
101
- if self.provider.lower() in [AWS_BEDROCK_PROVIDER, AWS_SAGEMAKER_PROVIDER]:
102
+ if self.provider.lower() in [
103
+ AWS_BEDROCK_PROVIDER,
104
+ AWS_SAGEMAKER_PROVIDER,
105
+ AWS_SAGEMAKER_CHAT_PROVIDER,
106
+ ]:
102
107
  validate_aws_setup_for_litellm_clients(
103
108
  self._litellm_model_name,
104
109
  self._litellm_extra_parameters,
@@ -165,8 +165,7 @@ DIALOGUE_STACK_UPDATED = {
165
165
  }
166
166
  ROUTING_SESSION_ENDED = {"properties": {"event": {"const": "routing_session_ended"}}}
167
167
 
168
-
169
- ROUTING_SESSION_ENDED = {"properties": {"event": {"const": "routing_session_ended"}}}
168
+ ERROR_HANDLED = {"properties": {"event": {"const": "error"}}}
170
169
 
171
170
  EVENT_SCHEMA = {
172
171
  "type": "object",
@@ -208,6 +207,7 @@ EVENT_SCHEMA = {
208
207
  DIALOGUE_STACK_UPDATED,
209
208
  ROUTING_SESSION_ENDED,
210
209
  SESSION_ENDED,
210
+ ERROR_HANDLED,
211
211
  ],
212
212
  }
213
213
 
rasa/version.py CHANGED
@@ -1,3 +1,3 @@
1
1
  # this file will automatically be changed,
2
2
  # do not add anything but the version number here!
3
- __version__ = "3.11.5"
3
+ __version__ = "3.11.6"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: rasa-pro
3
- Version: 3.11.5
3
+ Version: 3.11.6
4
4
  Summary: State-of-the-art open-core Conversational AI framework for Enterprises that natively leverages generative AI for effortless assistant development.
5
5
  Home-page: https://rasa.com
6
6
  Keywords: nlp,machine-learning,machine-learning-library,bot,bots,botkit,rasa conversational-agents,conversational-ai,chatbot,chatbot-framework,bot-framework
@@ -8,11 +8,10 @@ Author: Rasa Technologies GmbH
8
8
  Author-email: hi@rasa.com
9
9
  Maintainer: Tom Bocklisch
10
10
  Maintainer-email: tom@rasa.com
11
- Requires-Python: >=3.9,<3.12
11
+ Requires-Python: >=3.9.2,<3.12
12
12
  Classifier: Development Status :: 5 - Production/Stable
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: Programming Language :: Python :: 3
15
- Classifier: Programming Language :: Python :: 3.9
16
15
  Classifier: Programming Language :: Python :: 3.10
17
16
  Classifier: Programming Language :: Python :: 3.11
18
17
  Classifier: Topic :: Software Development :: Libraries
@@ -40,7 +39,7 @@ Requires-Dist: colorclass (>=2.2,<2.3)
40
39
  Requires-Dist: coloredlogs (>=15,<16)
41
40
  Requires-Dist: colorhash (>=2.0,<2.1.0)
42
41
  Requires-Dist: confluent-kafka (>=2.3.0,<3.0.0)
43
- Requires-Dist: cryptography (>=43.0.1)
42
+ Requires-Dist: cryptography (>=44.0.1)
44
43
  Requires-Dist: cvg-python-sdk (>=0.5.1,<0.6.0)
45
44
  Requires-Dist: dask (>=2024.7.0,<2024.8.0)
46
45
  Requires-Dist: demoji (>=1.1.0,<2.0.0)
@@ -57,13 +56,13 @@ Requires-Dist: hvac (>=1.2.1,<2.0.0)
57
56
  Requires-Dist: importlib-metadata (>=8.5.0,<8.6.0)
58
57
  Requires-Dist: importlib-resources (==6.1.3)
59
58
  Requires-Dist: jieba (>=0.42.1,<0.43) ; extra == "jieba" or extra == "full"
60
- Requires-Dist: jinja2 (>=3.1.4,<4.0.0)
59
+ Requires-Dist: jinja2 (>=3.1.6,<3.2.0)
61
60
  Requires-Dist: jsonpatch (>=1.33,<2.0)
62
61
  Requires-Dist: jsonpickle (>=3.3.0,<3.4)
63
62
  Requires-Dist: jsonschema (>=4.22)
64
63
  Requires-Dist: keras (==2.14.0)
65
- Requires-Dist: langchain (>=0.2.0,<0.3.0)
66
- Requires-Dist: langchain-community (>=0.2.0,<0.3.0)
64
+ Requires-Dist: langchain (>=0.2.17,<0.3.0)
65
+ Requires-Dist: langchain-community (>=0.2.19,<0.3.0)
67
66
  Requires-Dist: litellm (>=1.52.6,<1.53.0)
68
67
  Requires-Dist: matplotlib (>=3.7,<3.8)
69
68
  Requires-Dist: mattermostwrapper (>=2.2,<2.3)
@@ -106,7 +105,7 @@ Requires-Dist: randomname (>=0.2.1,<0.3.0)
106
105
  Requires-Dist: rasa-sdk (==3.11.0)
107
106
  Requires-Dist: redis (>=4.6.0,<6.0)
108
107
  Requires-Dist: regex (>=2022.10.31,<2022.11)
109
- Requires-Dist: requests (>=2.31.0,<2.32.0)
108
+ Requires-Dist: requests (>=2.32.2,<2.33.0)
110
109
  Requires-Dist: rich (>=13.4.2,<14.0.0)
111
110
  Requires-Dist: rocketchat_API (>=1.30.0,<1.31.0)
112
111
  Requires-Dist: ruamel.yaml (>=0.17.21,<0.17.22)
@@ -115,7 +115,7 @@ rasa/core/auth_retry_tracker_store.py,sha256=7tq_tcmZE4vqtbI3qur9_30pbuAUDK0VdzE
115
115
  rasa/core/brokers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
116
116
  rasa/core/brokers/broker.py,sha256=mwzP6R_NgQcKj7fEP9S5nwsOp7ZkO2pwyXfSgYoxj4E,4398
117
117
  rasa/core/brokers/file.py,sha256=GpeDEgwJYAUNZwUUqzGFzzMHiVi-N_kX185cm8RF4BM,1804
118
- rasa/core/brokers/kafka.py,sha256=sJl1g92fo__cs-y2SKs4Uof6HJRJ-1fwHkjRuMs-cF4,12216
118
+ rasa/core/brokers/kafka.py,sha256=zTecA7qwD8-rLKVFrNUTtAN7KXIuQlpsCqKu5lok8k4,13712
119
119
  rasa/core/brokers/pika.py,sha256=HPJn4Bm1KDAD9-UCK4uBTCrFWEPEkaSO9MJldO94xok,14379
120
120
  rasa/core/brokers/sql.py,sha256=4cDqpbwXwjcq5THbrgRptfUq38-UOnckZq7S7d9wU9o,2728
121
121
  rasa/core/channels/__init__.py,sha256=WGzKxtcaoG2yvQ7Rjsh69tbZFl3DsnQj_FbXihwsnN8,2178
@@ -275,13 +275,13 @@ rasa/core/channels/voice_stream/asr/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQ
275
275
  rasa/core/channels/voice_stream/asr/asr_engine.py,sha256=3TzPUxrSitWc1rXlasmpG5WHeACl6PqXCMtKhsbza5I,3050
276
276
  rasa/core/channels/voice_stream/asr/asr_event.py,sha256=QDn8OdeQ-7uBedT6Eqvs8wyR5T4UNHQ32TSMPaRHXwQ,246
277
277
  rasa/core/channels/voice_stream/asr/azure.py,sha256=om_P6NSqRlrwyGnvx1xwfwfnt72naP6PnCYKU42rf4I,5346
278
- rasa/core/channels/voice_stream/asr/deepgram.py,sha256=IGaTP9XujJ9PTrXNgixvzi8hiVWY8JZLjGCBraceERY,3483
278
+ rasa/core/channels/voice_stream/asr/deepgram.py,sha256=TUJr0CuxRka7wCmHlMb9bcOOyOWlRwSFI98VxJXtvzw,5128
279
279
  rasa/core/channels/voice_stream/audio_bytes.py,sha256=3V0QQplPD-kVfebaaeVcKgV7pwIJyjnTenujVD3y3sY,340
280
- rasa/core/channels/voice_stream/browser_audio.py,sha256=4gIaz0rnKZfpuAuP17Vlqhbp0zHZFaA7t1oJJGC1Axo,3764
280
+ rasa/core/channels/voice_stream/browser_audio.py,sha256=BP5xrbUp-u3oIPDJCY299eIRRMVZWyHrV1zNL5sq_fo,3896
281
281
  rasa/core/channels/voice_stream/call_state.py,sha256=8mveygG0YTSXEzh2j6opgFnCYKuLKCj66ZIdZA6RCLU,764
282
282
  rasa/core/channels/voice_stream/tts/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
283
283
  rasa/core/channels/voice_stream/tts/azure.py,sha256=gGEmLdmT_-5J8B4JJ2flnbiWNfJT3P7jq-uCCH7_uL4,3924
284
- rasa/core/channels/voice_stream/tts/cartesia.py,sha256=P_7D96nzRAJiyM-6NmWz10QqH47eWdV4aaODOwZ--gU,4389
284
+ rasa/core/channels/voice_stream/tts/cartesia.py,sha256=XPbH5iFNH3bYrpbF5lzfs_S-dRW00I2OSYcATdSsAh4,4813
285
285
  rasa/core/channels/voice_stream/tts/tts_cache.py,sha256=dKYEMkIVuT2n4pJ-JMI2n1diGvFOAOvOXMt7uIiSQtc,849
286
286
  rasa/core/channels/voice_stream/tts/tts_engine.py,sha256=VTKGe5XTXHcnr0dtQC-EzUCFsYVEYV3hjiB_kqyAPCc,1812
287
287
  rasa/core/channels/voice_stream/twilio_media_streams.py,sha256=UIvJYPw6AGUmOLX7aqZIE1mzESo6grcL8f_veIpoq1s,6339
@@ -323,7 +323,7 @@ rasa/core/policies/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
323
323
  rasa/core/policies/ensemble.py,sha256=AjNOEy2Iubbe-LdKaoFUXG8ch6yPrg3bTvcTcAPmeOs,12959
324
324
  rasa/core/policies/enterprise_search_policy.py,sha256=nG1vgZO5woxvXCZWayYXQzZkmxPemfsL0c62QkZcgcI,34126
325
325
  rasa/core/policies/enterprise_search_prompt_template.jinja2,sha256=dCS_seyBGxMQoMsOjjvPp0dd31OSzZCJSZeev1FJK5Q,1187
326
- rasa/core/policies/enterprise_search_prompt_with_citation_template.jinja2,sha256=vRQBs3q13UmvRRgqA8-DmRtM7tqZP2ngwMVJ4gy7lE0,3302
326
+ rasa/core/policies/enterprise_search_prompt_with_citation_template.jinja2,sha256=va9rpP97dN3PKoJZOVfyuISt3cPBlb10Pqyz25RwO_Q,3294
327
327
  rasa/core/policies/flow_policy.py,sha256=wGb1l_59cGM9ZaexSIK5uXFi618739oNfLOxx2FC0_Y,7490
328
328
  rasa/core/policies/flows/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
329
  rasa/core/policies/flows/flow_exceptions.py,sha256=_FQuN-cerQDM1pivce9bz4zylh5UYkljvYS1gjDukHI,1527
@@ -495,9 +495,10 @@ rasa/graph_components/validators/default_recipe_validator.py,sha256=BHrF6NTfJz42
495
495
  rasa/graph_components/validators/finetuning_validator.py,sha256=38AcwmV8cF5TIlWhUIzh98wtZf934ix04HcczCJiWkU,12863
496
496
  rasa/hooks.py,sha256=3nsfCA142V56mBQ7ktBXhD_RyaSrfj7fY3t7HnsD4Pc,3709
497
497
  rasa/jupyter.py,sha256=x_GF9PK2zMhltb48GEIV9YZ4pRhCto8nV5SioYSCljI,1782
498
+ rasa/keys,sha256=2Stg1fstgJ203cOoW1B2gGMY29fhEnjIfTVxKv_fqPo,101
498
499
  rasa/llm_fine_tuning/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
499
500
  rasa/llm_fine_tuning/annotation_module.py,sha256=wFmW3d6lI5o49OWmdbYQlgr24rqHDgA0T0hLM1pSb9U,8578
500
- rasa/llm_fine_tuning/conversations.py,sha256=QvsgoL8wes5Pad22J1LFOKqtl90SCnjZ1HvawbxZ5tw,5197
501
+ rasa/llm_fine_tuning/conversations.py,sha256=iW2hoR23Km5wnMC7t8pOXH2Zj3LVcA62xrx2aKDRP78,5208
501
502
  rasa/llm_fine_tuning/llm_data_preparation_module.py,sha256=t-EjZmM7MOfpo422wNuf7ZsnTGOaD5TTroYqd-Hwh6U,6082
502
503
  rasa/llm_fine_tuning/paraphrasing/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
503
504
  rasa/llm_fine_tuning/paraphrasing/conversation_rephraser.py,sha256=JPvGXdk36yQ23L86FXWiJMTcoBse9tSnhjTnoFvt8Q0,9945
@@ -586,13 +587,13 @@ rasa/nlu/utils/spacy_utils.py,sha256=pBvsCVKVuZ3b2Pjn-XuOVZ6lzZu9Voc2R4N1VczwtCM
586
587
  rasa/plugin.py,sha256=H_OZcHy_U3eAK-JHr43TSxcPqS0JEGcZkFvmumeeJEs,2670
587
588
  rasa/server.py,sha256=X3BbY9cxul-2vI28SMim2J2ncU4hJgkNAe3TKKLS1ow,59321
588
589
  rasa/shared/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
589
- rasa/shared/constants.py,sha256=N26p41HcVwtlX_hibT4wRqFBT3RTqwLkVAb6dGV-eMo,11230
590
+ rasa/shared/constants.py,sha256=OZoAU78gHfXAv8uoxPGNeCC_ru2IGvq5tN4qMDaZANM,11272
590
591
  rasa/shared/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
591
592
  rasa/shared/core/command_payload_reader.py,sha256=Vhiop9LWFawaEruRifBBrVmoEJ-fj1Tli1wBvsYu2_I,3563
592
- rasa/shared/core/constants.py,sha256=WNFzABG-eiVREBL6aDZAmcNDiSmuSbvWuxXIMoX2Iv8,5704
593
+ rasa/shared/core/constants.py,sha256=NczxSU0aGYNQQRsOYyNF1VEEx2knOxbF-gUEz1RgU0E,5735
593
594
  rasa/shared/core/conversation.py,sha256=tw1fD2XB3gOdQjDI8hHo5TAAmE2JYNogQGWe3rE929w,1385
594
595
  rasa/shared/core/domain.py,sha256=SsRLbLIEZ-coPTEwr-XxU_O-X-0mR466YLvXJJOAEpc,81247
595
- rasa/shared/core/events.py,sha256=6yuOrZs8hZaR0FV1nC58l1u6qE4fegwrvL5nH1w7xY4,83719
596
+ rasa/shared/core/events.py,sha256=zdGSP1bNV1RyKC9Z54S7EbQ8TfGne_n9XKj64aoghdI,85803
596
597
  rasa/shared/core/flows/__init__.py,sha256=HszhIvEARpmyxABFc1MKYvj8oy04WiZW1xmCdToakbs,181
597
598
  rasa/shared/core/flows/flow.py,sha256=n9vB1SKwRczlymxrY19KiWq2BXR-LKpVUr5-Zh9827s,21530
598
599
  rasa/shared/core/flows/flow_path.py,sha256=xstwahZBU5cfMY46mREA4NoOGlKLBRAqeP_mJ3UZqOI,2283
@@ -693,7 +694,7 @@ rasa/shared/providers/embedding/openai_embedding_client.py,sha256=XNRGE7apo2v3kW
693
694
  rasa/shared/providers/llm/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
694
695
  rasa/shared/providers/llm/_base_litellm_client.py,sha256=O5PpLKBgvAroWRyJE5YbzuVPb0jXMHjae917F8HgqIU,10004
695
696
  rasa/shared/providers/llm/azure_openai_llm_client.py,sha256=A6sg2bvulNczuzu1J0V7CoAkXUx4EUxtiqI4R98_IKE,12976
696
- rasa/shared/providers/llm/default_litellm_llm_client.py,sha256=1oiUIXr_U5ldyBQZ8cnrV3P7Qw9kMw1yvaVg6mjKkHU,3940
697
+ rasa/shared/providers/llm/default_litellm_llm_client.py,sha256=BFwnJy6tN06_2V_11p7QkVP--Wk2330p5mOeOrcqWjc,4049
697
698
  rasa/shared/providers/llm/litellm_router_llm_client.py,sha256=llko2DfOpiLMpHxnW26I1Hb1wTn7VmZ_yu43GRXhqwQ,6815
698
699
  rasa/shared/providers/llm/llm_client.py,sha256=6-gMsEJqquhUPGXzNiq_ybM_McLWxAJ_QhbmWcLnb_Q,2358
699
700
  rasa/shared/providers/llm/llm_response.py,sha256=Ltmc8yk9cAqtK8QgwfZZywudM5ZQsT4y_AKAQ3q05hA,1490
@@ -718,7 +719,7 @@ rasa/shared/utils/pykwalify_extensions.py,sha256=4W8gde8C6QpGCY_t9IEmaZSgjMuie1x
718
719
  rasa/shared/utils/schemas/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
719
720
  rasa/shared/utils/schemas/config.yml,sha256=czxSADw9hOIZdhvFP8pVUQo810hs9_C8ZGfCPx17taM,27
720
721
  rasa/shared/utils/schemas/domain.yml,sha256=b2k4ZYSV-QL3hGjDaRg8rfoqaTh4hbhDc_hBlMB8cuI,3409
721
- rasa/shared/utils/schemas/events.py,sha256=9sg_w4VeFMksyl-uscUht1TErf1gfKR56agyYSvl2c4,6912
722
+ rasa/shared/utils/schemas/events.py,sha256=tB5sNkhPoBHSzGvEvgwFJ3B37vKgQXXvgAJr-kgpLAI,6910
722
723
  rasa/shared/utils/schemas/model_config.yml,sha256=OravyVWalSwjiXYRarRzg0tiRnUFHe1q4-5Wj1TEeFk,811
723
724
  rasa/shared/utils/schemas/stories.yml,sha256=DV3wAFnv1leD7kV-FH-GQihF1QX5oKHc8Eb24mxjizc,4737
724
725
  rasa/shared/utils/yaml.py,sha256=x4tJJsz082KTg851vaavu3uhHiof0FiLuNat-PQdcGc,37637
@@ -777,9 +778,9 @@ rasa/utils/train_utils.py,sha256=f1NWpp5y6al0dzoQyyio4hc4Nf73DRoRSHDzEK6-C4E,212
777
778
  rasa/utils/url_tools.py,sha256=JQcHL2aLqLHu82k7_d9imUoETCm2bmlHaDpOJ-dKqBc,1218
778
779
  rasa/utils/yaml.py,sha256=KjbZq5C94ZP7Jdsw8bYYF7HASI6K4-C_kdHfrnPLpSI,2000
779
780
  rasa/validator.py,sha256=W_iCpCASGYqpvVLR-XZYRVKCN2NxGgy1eHtpGSbcCNU,67318
780
- rasa/version.py,sha256=SjTQnmFk1zsJJESqAAphYA7NvHuKr_V45OhJzK-lsfM,117
781
- rasa_pro-3.11.5.dist-info/METADATA,sha256=6p8ARMqPCDHNv1riikAOLJzYhOV7XWCcspWx57wu81w,10801
782
- rasa_pro-3.11.5.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
783
- rasa_pro-3.11.5.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
784
- rasa_pro-3.11.5.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
785
- rasa_pro-3.11.5.dist-info/RECORD,,
781
+ rasa/version.py,sha256=pMIjL-WowhszkqETjDfbvdPM_R6fzCnGoOmEusPOuGI,117
782
+ rasa_pro-3.11.6.dist-info/METADATA,sha256=YpJVS30vj5RozZCCcRL7uFmTCl9nC1FPXLmPxYTL3nE,10755
783
+ rasa_pro-3.11.6.dist-info/NOTICE,sha256=7HlBoMHJY9CL2GlYSfTQ-PZsVmLmVkYmMiPlTjhuCqA,218
784
+ rasa_pro-3.11.6.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
785
+ rasa_pro-3.11.6.dist-info/entry_points.txt,sha256=ckJ2SfEyTPgBqj_I6vm_tqY9dZF_LAPJZA335Xp0Q9U,43
786
+ rasa_pro-3.11.6.dist-info/RECORD,,