From 7db49b90671f41768ad9b5a942164df2b3f2708a Mon Sep 17 00:00:00 2001 From: Jason Maldonis Date: Mon, 17 Nov 2025 12:22:52 -0600 Subject: [PATCH] deepgram: added request IDs to debug logs Deepgram request IDs are necessary for investigating behavior at the request level. This commit adds DEBUG logs that print Deepgram request IDs when using Deepgram's STT or TTS. --- src/pipecat/services/deepgram/flux/stt.py | 6 ++++++ src/pipecat/services/deepgram/stt.py | 6 ++++++ src/pipecat/services/deepgram/tts.py | 12 ++++++++++++ 3 files changed, 24 insertions(+) diff --git a/src/pipecat/services/deepgram/flux/stt.py b/src/pipecat/services/deepgram/flux/stt.py index 17b5f5172..a561c9ae3 100644 --- a/src/pipecat/services/deepgram/flux/stt.py +++ b/src/pipecat/services/deepgram/flux/stt.py @@ -244,6 +244,12 @@ class DeepgramFluxSTTService(WebsocketSTTService): additional_headers={"Authorization": f"Token {self._api_key}"}, ) + headers = { + k: v for k, v in self._websocket.response.headers.items() + if k.startswith("dg-") + } + logger.debug(f'{self}: Websocket connection initialized: {{"headers": {headers}}}') + # Creating the receiver task if not self._receive_task: self._receive_task = self.create_task( diff --git a/src/pipecat/services/deepgram/stt.py b/src/pipecat/services/deepgram/stt.py index 6513fb186..4006766fb 100644 --- a/src/pipecat/services/deepgram/stt.py +++ b/src/pipecat/services/deepgram/stt.py @@ -234,6 +234,12 @@ class DeepgramSTTService(STTService): if not await self._connection.start(options=self._settings, addons=self._addons): await self.push_error(error_msg=f"Unable to connect to Deepgram") + else: + headers = { + k: v for k, v in self._connection._socket.response.headers.items() + if k.startswith("dg-") + } + logger.debug(f'{self}: Websocket connection initialized: {{"headers": {headers}}}') async def _disconnect(self): if await self._connection.is_connected(): diff --git a/src/pipecat/services/deepgram/tts.py b/src/pipecat/services/deepgram/tts.py index b497cdd08..51342335e 100644 --- a/src/pipecat/services/deepgram/tts.py +++ b/src/pipecat/services/deepgram/tts.py @@ -280,6 +280,18 @@ class DeepgramTTSService(WebsocketTTSService): await self._connect() await self.start_ttfb_metrics() + + response = await self._deepgram_client.speak.asyncrest.v("1").stream_raw( + {"text": text}, options + ) + + headers = { + k: v + for k, v in response.headers.items() + if k.startswith("dg-") + } + logger.debug(f'{self}: HTTP connection initialized: {{"headers": {headers}}}') + await self.start_tts_usage_metrics(text) yield TTSStartedFrame()