diff --git a/CHANGELOG.md b/CHANGELOG.md index 3fb849848..38e1e2251 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 interaction (e.g., voice agents, speech-to-text) and operates at a native sample rate of 16 kHz with fixed enhancement parameters. +- Updated Deepgram logging to include Deepgram request IDs for improved debugging. + ### Deprecated - The `noise_gate_enable` parameter in `AICFilter` is deprecated and no longer diff --git a/src/pipecat/services/deepgram/flux/stt.py b/src/pipecat/services/deepgram/flux/stt.py index 17b5f5172..74e9d1053 100644 --- a/src/pipecat/services/deepgram/flux/stt.py +++ b/src/pipecat/services/deepgram/flux/stt.py @@ -244,6 +244,11 @@ 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..11be561b1 100644 --- a/src/pipecat/services/deepgram/stt.py +++ b/src/pipecat/services/deepgram/stt.py @@ -234,6 +234,13 @@ 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..0f555109e 100644 --- a/src/pipecat/services/deepgram/tts.py +++ b/src/pipecat/services/deepgram/tts.py @@ -280,6 +280,14 @@ 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()