From 5147f4086e95a22405630d579cd355c66b4f517c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Tue, 14 May 2024 14:49:30 -0700 Subject: [PATCH] transports(daily): add DailyTranscriptionSettings to update settings easier --- src/pipecat/transports/services/daily.py | 31 +++++++++++++----------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/src/pipecat/transports/services/daily.py b/src/pipecat/transports/services/daily.py index 6c8f05e98..02b5d9028 100644 --- a/src/pipecat/transports/services/daily.py +++ b/src/pipecat/transports/services/daily.py @@ -80,21 +80,23 @@ class WebRTCVADAnalyzer(VADAnalyzer): return confidence +class DailyTranscriptionSettings(BaseModel): + language: str = "en" + tier: str = "nova" + model: str = "2-conversationalai" + profanity_filter: bool = True + redact: bool = False + endpointing: bool = True + punctuate: bool = True + includeRawResponse: bool = True + extra: Mapping[str, Any] = { + "interim_results": True + } + + class DailyParams(TransportParams): transcription_enabled: bool = False - transcription_settings: Mapping[str, Any] = { - "language": "en", - "tier": "nova", - "model": "2-conversationalai", - "profanity_filter": True, - "redact": False, - "endpointing": True, - "punctuate": True, - "includeRawResponse": True, - "extra": { - "interim_results": True, - } - } + transcription_settings: DailyTranscriptionSettings = DailyTranscriptionSettings() class DailyCallbacks(BaseModel): @@ -265,7 +267,8 @@ class DailySession(EventHandler): if self._token and self._params.transcription_enabled: logger.info( f"Enabling transcription with settings {self._params.transcription_settings}") - self._client.start_transcription(self._params.transcription_settings) + self._client.start_transcription( + self._params.transcription_settings.model_dump()) self._callbacks.on_joined(data["participants"]["local"]) else: