From e987c4741adbcd1fad32981a8146b4f4eec7bb18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 27 May 2025 10:31:11 -0700 Subject: [PATCH 1/2] pyproject: update deepgram-sdk to 4.1.0 --- CHANGELOG.md | 2 ++ pyproject.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7c734120f..6bbe20218 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -89,6 +89,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Upgraded `deepgram-sdk` to 4.1.0. + - Updated `GoogleTTSService` to use Google's streaming TTS API. The default voice also updated to `en-US-Chirp3-HD-Charon`. diff --git a/pyproject.toml b/pyproject.toml index 4572e3ba7..661710865 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,7 +48,7 @@ cartesia = [ "cartesia~=2.0.3", "websockets~=13.1" ] cerebras = [] deepseek = [] daily = [ "daily-python~=0.19.0" ] -deepgram = [ "deepgram-sdk~=3.8.0" ] +deepgram = [ "deepgram-sdk~=4.1.0" ] elevenlabs = [ "websockets~=13.1" ] fal = [ "fal-client~=0.5.9" ] fireworks = [] From 0099f60d2931c5d63134fb54ef84823711e22cf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 27 May 2025 15:17:44 -0700 Subject: [PATCH 2/2] deepgram: fix an issue with user provided LiveOptions --- CHANGELOG.md | 3 +++ src/pipecat/services/deepgram/stt.py | 18 ++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6bbe20218..538b01f1e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -147,6 +147,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed +- Fixed a `DeegramSTTService` connection issue when the user provided their own + `LiveOptions`. + - Fixed a `DailyTransport` issue that would cause images needing resize to block the event loop. diff --git a/src/pipecat/services/deepgram/stt.py b/src/pipecat/services/deepgram/stt.py index 07cc6a9d2..a223da143 100644 --- a/src/pipecat/services/deepgram/stt.py +++ b/src/pipecat/services/deepgram/stt.py @@ -78,17 +78,19 @@ class DeepgramSTTService(STTService): vad_events=False, ) - merged_options = default_options + merged_options = default_options.to_dict() if live_options: - merged_options = LiveOptions(**{**default_options.to_dict(), **live_options.to_dict()}) + default_model = default_options.model + merged_options.update(live_options.to_dict()) + # NOTE(aleix): Fixes an in deepgram-sdk where `model` is initialized + # to the string "None" instead of the value `None`. + if "model" in merged_options and merged_options["model"] == "None": + merged_options["model"] = default_model - # deepgram connection requires language to be a string - if isinstance(merged_options.language, Language) and hasattr( - merged_options.language, "value" - ): - merged_options.language = merged_options.language.value + if "language" in merged_options and isinstance(merged_options["language"], Language): + merged_options["language"] = merged_options["language"].value - self._settings = merged_options.to_dict() + self._settings = merged_options self._addons = addons self._client = DeepgramClient(