From bcf11ecbd4abda082fc59a9c6d40fabf74403085 Mon Sep 17 00:00:00 2001 From: Paul Kompfner Date: Mon, 23 Feb 2026 16:01:30 -0500 Subject: [PATCH] Looks like the Deepgram Sagemaker TTS services aren't able yet to successfully disconnect/reconnect to apply runtime settings updates. For now, marking them as not yet supporting runtime settings updates. --- src/pipecat/services/deepgram/stt_sagemaker.py | 9 +++++++-- src/pipecat/services/deepgram/tts_sagemaker.py | 12 +++++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/src/pipecat/services/deepgram/stt_sagemaker.py b/src/pipecat/services/deepgram/stt_sagemaker.py index 30a53a4d1..64bb2ba8f 100644 --- a/src/pipecat/services/deepgram/stt_sagemaker.py +++ b/src/pipecat/services/deepgram/stt_sagemaker.py @@ -204,8 +204,13 @@ class DeepgramSageMakerSTTService(STTService): elif "live_options" in changed and self._settings.live_options.language is not None: self._settings.language = self._settings.live_options.language - await self._disconnect() - await self._connect() + # TODO: someday we could reconnect here to apply updated settings. + # Code might look something like the below: + # await self._disconnect() + # await self._connect() + + self._warn_unhandled_updated_settings(changed) + return changed async def start(self, frame: StartFrame): diff --git a/src/pipecat/services/deepgram/tts_sagemaker.py b/src/pipecat/services/deepgram/tts_sagemaker.py index 24f9eaec9..8447c96f0 100644 --- a/src/pipecat/services/deepgram/tts_sagemaker.py +++ b/src/pipecat/services/deepgram/tts_sagemaker.py @@ -228,14 +228,20 @@ class DeepgramSageMakerTTSService(TTSService): """ changed = await super()._update_settings(update) + if not changed: + return changed + # Deepgram uses voice as the model, so keep them in sync for metrics if "voice" in changed: self._settings.model = self._settings.voice self._sync_model_name_to_metrics() - if changed: - await self._disconnect() - await self._connect() + # TODO: someday we could reconnect here to apply updated settings. + # Code might look something like the below: + # await self._disconnect() + # await self._connect() + + self._warn_unhandled_updated_settings(changed) return changed