From facc280599aef59a1abc290fda022c706330c09f Mon Sep 17 00:00:00 2001 From: Vaibhav159 Date: Mon, 16 Dec 2024 17:47:50 +0530 Subject: [PATCH 1/5] fixing [#868] bug where deepgram client fails due to langauge --- src/pipecat/services/deepgram.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/pipecat/services/deepgram.py b/src/pipecat/services/deepgram.py index 6578f2873..48193388d 100644 --- a/src/pipecat/services/deepgram.py +++ b/src/pipecat/services/deepgram.py @@ -138,6 +138,9 @@ class DeepgramSTTService(STTService): merged_options = default_options if live_options: merged_options = LiveOptions(**{**default_options.to_dict(), **live_options.to_dict()}) + + # deepgram connection requires language to be a string + merged_options.language = merged_options.language.value self._settings = merged_options.to_dict() self._client = DeepgramClient( From 5f7d28bb052886cd794580fadc54fe57acf8b6c0 Mon Sep 17 00:00:00 2001 From: Vaibhav159 Date: Tue, 17 Dec 2024 22:07:35 +0530 Subject: [PATCH 2/5] adding type check and value check --- src/pipecat/services/deepgram.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pipecat/services/deepgram.py b/src/pipecat/services/deepgram.py index 48193388d..6404dce80 100644 --- a/src/pipecat/services/deepgram.py +++ b/src/pipecat/services/deepgram.py @@ -140,7 +140,9 @@ class DeepgramSTTService(STTService): merged_options = LiveOptions(**{**default_options.to_dict(), **live_options.to_dict()}) # deepgram connection requires language to be a string - merged_options.language = merged_options.language.value + if isinstance(merged_options.language, Language) and hasattr(merged_options.language, "value"): + merged_options.language = merged_options.language.value + self._settings = merged_options.to_dict() self._client = DeepgramClient( From b94b10f7d6aadd2e78f3674b651448cbbffe21ab Mon Sep 17 00:00:00 2001 From: Vaibhav159 Date: Tue, 17 Dec 2024 22:11:52 +0530 Subject: [PATCH 3/5] added change log --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53a2871aa..78e069fc7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -38,6 +38,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 only be pushed downstream after the audio generated from `TTSSpeakFrame` has been spoken. +- Fixed a [bug](https://github.com/pipecat-ai/pipecat/issues/868) in `DeepgramSTTService` that was causing Language to be passed + as python object instead of a string, causing connection to fail. + ## [0.0.51] - 2024-12-16 ### Fixed From 7351e281e215d552eef324ffb941bf990e1a6331 Mon Sep 17 00:00:00 2001 From: Vaibhav159 Date: Tue, 17 Dec 2024 22:21:56 +0530 Subject: [PATCH 4/5] ruff change --- src/pipecat/services/deepgram.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pipecat/services/deepgram.py b/src/pipecat/services/deepgram.py index 6404dce80..17d4ef933 100644 --- a/src/pipecat/services/deepgram.py +++ b/src/pipecat/services/deepgram.py @@ -140,7 +140,9 @@ class DeepgramSTTService(STTService): merged_options = LiveOptions(**{**default_options.to_dict(), **live_options.to_dict()}) # deepgram connection requires language to be a string - if isinstance(merged_options.language, Language) and hasattr(merged_options.language, "value"): + if isinstance(merged_options.language, Language) and hasattr( + merged_options.language, "value" + ): merged_options.language = merged_options.language.value self._settings = merged_options.to_dict() From f14d32d09e02d2edc8c50f8269cc7582ab7dc695 Mon Sep 17 00:00:00 2001 From: Vaibhav159 Date: Tue, 17 Dec 2024 23:11:18 +0530 Subject: [PATCH 5/5] fixing ruff issue --- src/pipecat/services/deepgram.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pipecat/services/deepgram.py b/src/pipecat/services/deepgram.py index 17d4ef933..8d3def5be 100644 --- a/src/pipecat/services/deepgram.py +++ b/src/pipecat/services/deepgram.py @@ -141,7 +141,7 @@ class DeepgramSTTService(STTService): # deepgram connection requires language to be a string if isinstance(merged_options.language, Language) and hasattr( - merged_options.language, "value" + merged_options.language, "value" ): merged_options.language = merged_options.language.value