diff --git a/src/pipecat/services/ai_service.py b/src/pipecat/services/ai_service.py index c4e45a417..dd9ef1dba 100644 --- a/src/pipecat/services/ai_service.py +++ b/src/pipecat/services/ai_service.py @@ -10,6 +10,7 @@ Provides the foundation for all AI services in the Pipecat framework, including model management, settings handling, and frame processing lifecycle methods. """ +import warnings from typing import Any, AsyncGenerator, Dict from loguru import logger @@ -130,6 +131,43 @@ class AIService(FrameProcessor): return changed + def _warn_init_param_moved_to_settings( + self, + param_name: str, + settings_field: str | None = None, + stacklevel: int = 3, + ): + """Warn that an ``__init__`` param has moved to ``Settings``. + + Emits a ``DeprecationWarning`` directing users to the canonical + ``settings=ServiceClass.Settings(field=...)`` API. + + Args: + param_name: Name of the deprecated ``__init__`` parameter. + settings_field: The corresponding field on the ``Settings`` + dataclass, if different from *param_name*. When ``None`` + the message omits the field hint. + stacklevel: Stack depth for the warning. Default ``3`` targets + the caller's caller (i.e. user code that instantiated the + service). + """ + label = f"{type(self).__name__}.Settings" + if settings_field: + msg = ( + f"The `{param_name}` parameter is deprecated. " + f"Use `settings={label}({settings_field}=...)` instead. " + f"If both are provided, `settings` takes precedence." + ) + else: + msg = ( + f"The `{param_name}` parameter is deprecated. " + f"Use `settings={label}(...)` instead. " + f"If both are provided, `settings` takes precedence." + ) + with warnings.catch_warnings(): + warnings.simplefilter("always") + warnings.warn(msg, DeprecationWarning, stacklevel=stacklevel) + def _warn_unhandled_updated_settings(self, unhandled): """Log a warning for settings changes that won't take effect at runtime. diff --git a/src/pipecat/services/anthropic/llm.py b/src/pipecat/services/anthropic/llm.py index 2f77e1665..fcaed1dfe 100644 --- a/src/pipecat/services/anthropic/llm.py +++ b/src/pipecat/services/anthropic/llm.py @@ -58,7 +58,7 @@ from pipecat.processors.aggregators.openai_llm_context import ( from pipecat.processors.frame_processor import FrameDirection from pipecat.services.llm_service import FunctionCallFromLLM, LLMService from pipecat.services.settings import NOT_GIVEN as _NOT_GIVEN -from pipecat.services.settings import LLMSettings, _NotGiven, _warn_deprecated_param, is_given +from pipecat.services.settings import LLMSettings, _NotGiven, is_given from pipecat.utils.tracing.service_decorators import traced_llm try: @@ -272,12 +272,12 @@ class AnthropicLLMService(LLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.max_tokens = params.max_tokens default_settings.temperature = params.temperature diff --git a/src/pipecat/services/assemblyai/stt.py b/src/pipecat/services/assemblyai/stt.py index e7a2854b0..f52c1d935 100644 --- a/src/pipecat/services/assemblyai/stt.py +++ b/src/pipecat/services/assemblyai/stt.py @@ -32,7 +32,7 @@ from pipecat.frames.frames import ( VADUserStoppedSpeakingFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import ASSEMBLYAI_TTFS_P99 from pipecat.services.stt_service import WebsocketSTTService from pipecat.transcriptions.language import Language @@ -208,12 +208,12 @@ class AssemblyAISTTService(WebsocketSTTService): # 2. Apply direct init arg overrides (deprecated) if language is not None: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = language # 3. Apply connection_params overrides (deprecated) — only if settings not provided if connection_params is not None: - _warn_deprecated_param("connection_params", self.Settings) + self._warn_init_param_moved_to_settings("connection_params") if not settings: sample_rate = connection_params.sample_rate encoding = connection_params.encoding diff --git a/src/pipecat/services/asyncai/tts.py b/src/pipecat/services/asyncai/tts.py index 2cecb2d5b..42c0a09a4 100644 --- a/src/pipecat/services/asyncai/tts.py +++ b/src/pipecat/services/asyncai/tts.py @@ -26,7 +26,7 @@ from pipecat.frames.frames import ( TTSStoppedFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import TextAggregationMode, TTSService, WebsocketTTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -161,15 +161,15 @@ class AsyncAITTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = ( self.language_to_service_language(params.language) if params.language else None @@ -555,15 +555,15 @@ class AsyncAIHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = ( self.language_to_service_language(params.language) if params.language else None diff --git a/src/pipecat/services/aws/llm.py b/src/pipecat/services/aws/llm.py index 9a2ebfdcf..59859abf7 100644 --- a/src/pipecat/services/aws/llm.py +++ b/src/pipecat/services/aws/llm.py @@ -55,7 +55,7 @@ from pipecat.processors.aggregators.openai_llm_context import ( ) from pipecat.processors.frame_processor import FrameDirection from pipecat.services.llm_service import LLMService -from pipecat.services.settings import NOT_GIVEN, LLMSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, LLMSettings, _NotGiven from pipecat.utils.tracing.service_decorators import traced_llm try: @@ -841,15 +841,15 @@ class AWSBedrockLLMService(LLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if stop_sequences is not None: - _warn_deprecated_param("stop_sequences", self.Settings, "stop_sequences") + self._warn_init_param_moved_to_settings("stop_sequences", "stop_sequences") default_settings.stop_sequences = stop_sequences # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.max_tokens = params.max_tokens default_settings.temperature = params.temperature diff --git a/src/pipecat/services/aws/nova_sonic/llm.py b/src/pipecat/services/aws/nova_sonic/llm.py index 0309c0fad..b1f56dbbd 100644 --- a/src/pipecat/services/aws/nova_sonic/llm.py +++ b/src/pipecat/services/aws/nova_sonic/llm.py @@ -60,7 +60,7 @@ from pipecat.processors.aggregators.openai_llm_context import ( ) from pipecat.processors.frame_processor import FrameDirection from pipecat.services.llm_service import LLMService -from pipecat.services.settings import NOT_GIVEN, LLMSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, LLMSettings, _NotGiven from pipecat.utils.time import time_now_iso8601 try: @@ -337,13 +337,13 @@ class AWSNovaSonicLLMService(LLMService): # 2. Apply direct init arg overrides (deprecated) if model != "amazon.nova-2-sonic-v1:0": - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id != "matthew": - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if system_instruction is not None: - _warn_deprecated_param("system_instruction", self.Settings, "system_instruction") + self._warn_init_param_moved_to_settings("system_instruction", "system_instruction") default_settings.system_instruction = system_instruction # 3. Apply params overrides — only if settings not provided diff --git a/src/pipecat/services/aws/stt.py b/src/pipecat/services/aws/stt.py index 0a648759c..eed1a321d 100644 --- a/src/pipecat/services/aws/stt.py +++ b/src/pipecat/services/aws/stt.py @@ -29,7 +29,7 @@ from pipecat.frames.frames import ( TranscriptionFrame, ) from pipecat.services.aws.utils import build_event_message, decode_event, get_presigned_url -from pipecat.services.settings import STTSettings, _warn_deprecated_param +from pipecat.services.settings import STTSettings from pipecat.services.stt_latency import AWS_TRANSCRIBE_TTFS_P99 from pipecat.services.stt_service import WebsocketSTTService from pipecat.transcriptions.language import Language, resolve_language @@ -105,7 +105,7 @@ class AWSTranscribeSTTService(WebsocketSTTService): # 2. Apply direct init arg overrides (deprecated) if language is not None: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = self.language_to_service_language(language) # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/aws/tts.py b/src/pipecat/services/aws/tts.py index 1e16958fe..9648c45c8 100644 --- a/src/pipecat/services/aws/tts.py +++ b/src/pipecat/services/aws/tts.py @@ -23,7 +23,7 @@ from pipecat.frames.frames import ( Frame, TTSAudioRawFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -222,12 +222,12 @@ class AWSPollyTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.engine = params.engine default_settings.language = ( diff --git a/src/pipecat/services/azure/image.py b/src/pipecat/services/azure/image.py index a80496599..fc50d710a 100644 --- a/src/pipecat/services/azure/image.py +++ b/src/pipecat/services/azure/image.py @@ -20,7 +20,7 @@ from PIL import Image from pipecat.frames.frames import ErrorFrame, Frame, URLImageRawFrame from pipecat.services.image_service import ImageGenService -from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven @dataclass @@ -85,11 +85,11 @@ class AzureImageGenServiceREST(ImageGenService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if image_size is not None: - _warn_deprecated_param("image_size", self.Settings, "image_size") + self._warn_init_param_moved_to_settings("image_size", "image_size") default_settings.image_size = image_size # 4. Apply settings delta (canonical API, always wins) diff --git a/src/pipecat/services/azure/llm.py b/src/pipecat/services/azure/llm.py index b4f2de5dc..ea705eec6 100644 --- a/src/pipecat/services/azure/llm.py +++ b/src/pipecat/services/azure/llm.py @@ -14,7 +14,6 @@ from openai import AsyncAzureOpenAI from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -63,7 +62,7 @@ class AzureLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/azure/stt.py b/src/pipecat/services/azure/stt.py index 7309a4a4e..857b166cb 100644 --- a/src/pipecat/services/azure/stt.py +++ b/src/pipecat/services/azure/stt.py @@ -26,7 +26,7 @@ from pipecat.frames.frames import ( TranscriptionFrame, ) from pipecat.services.azure.common import language_to_azure_language -from pipecat.services.settings import STTSettings, _warn_deprecated_param +from pipecat.services.settings import STTSettings from pipecat.services.stt_latency import AZURE_TTFS_P99 from pipecat.services.stt_service import STTService from pipecat.transcriptions.language import Language @@ -111,7 +111,7 @@ class AzureSTTService(STTService): # 2. Apply direct init arg overrides (deprecated) if language is not None and language != Language.EN_US: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = language_to_azure_language(language) # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/azure/tts.py b/src/pipecat/services/azure/tts.py index d33937d52..0130ef5cb 100644 --- a/src/pipecat/services/azure/tts.py +++ b/src/pipecat/services/azure/tts.py @@ -25,7 +25,7 @@ from pipecat.frames.frames import ( ) from pipecat.processors.frame_processor import FrameDirection from pipecat.services.azure.common import language_to_azure_language -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TextAggregationMode, TTSService from pipecat.transcriptions.language import Language from pipecat.utils.tracing.service_decorators import traced_tts @@ -304,12 +304,12 @@ class AzureTTSService(TTSService, AzureBaseTTSService): # 2. Apply direct init arg overrides (deprecated) if voice is not None: - _warn_deprecated_param("voice", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice", "voice") default_settings.voice = voice # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.emphasis = params.emphasis default_settings.language = ( @@ -801,12 +801,12 @@ class AzureHttpTTSService(TTSService, AzureBaseTTSService): # 2. Apply direct init arg overrides (deprecated) if voice is not None: - _warn_deprecated_param("voice", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice", "voice") default_settings.voice = voice # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.emphasis = params.emphasis default_settings.language = ( diff --git a/src/pipecat/services/camb/tts.py b/src/pipecat/services/camb/tts.py index 7586644ce..b0c237165 100644 --- a/src/pipecat/services/camb/tts.py +++ b/src/pipecat/services/camb/tts.py @@ -30,7 +30,7 @@ from pipecat.frames.frames import ( StartFrame, TTSAudioRawFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -246,15 +246,15 @@ class CambTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = ( diff --git a/src/pipecat/services/cartesia/stt.py b/src/pipecat/services/cartesia/stt.py index e094ef044..85d43bcd3 100644 --- a/src/pipecat/services/cartesia/stt.py +++ b/src/pipecat/services/cartesia/stt.py @@ -28,7 +28,7 @@ from pipecat.frames.frames import ( VADUserStoppedSpeakingFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import STTSettings, _warn_deprecated_param +from pipecat.services.settings import STTSettings from pipecat.services.stt_latency import CARTESIA_TTFS_P99 from pipecat.services.stt_service import WebsocketSTTService from pipecat.transcriptions.language import Language @@ -189,7 +189,7 @@ class CartesiaSTTService(WebsocketSTTService): # 2. Apply live_options overrides — only if settings not provided if live_options is not None: - _warn_deprecated_param("live_options", self.Settings) + self._warn_init_param_moved_to_settings("live_options") if not settings: if live_options.sample_rate and sample_rate is None: sample_rate = live_options.sample_rate diff --git a/src/pipecat/services/cartesia/tts.py b/src/pipecat/services/cartesia/tts.py index 90497eb1d..aca5c46c6 100644 --- a/src/pipecat/services/cartesia/tts.py +++ b/src/pipecat/services/cartesia/tts.py @@ -25,7 +25,7 @@ from pipecat.frames.frames import ( TTSAudioRawFrame, TTSStoppedFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TextAggregationMode, TTSService, WebsocketTTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.text.base_text_aggregator import BaseTextAggregator @@ -309,15 +309,15 @@ class CartesiaTTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) @@ -756,15 +756,15 @@ class CartesiaHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) diff --git a/src/pipecat/services/cerebras/llm.py b/src/pipecat/services/cerebras/llm.py index e2a15f4e5..7c31a6857 100644 --- a/src/pipecat/services/cerebras/llm.py +++ b/src/pipecat/services/cerebras/llm.py @@ -14,7 +14,6 @@ from loguru import logger from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -62,7 +61,7 @@ class CerebrasLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/deepgram/flux/stt.py b/src/pipecat/services/deepgram/flux/stt.py index 085d1ed2c..64d4e87b9 100644 --- a/src/pipecat/services/deepgram/flux/stt.py +++ b/src/pipecat/services/deepgram/flux/stt.py @@ -28,7 +28,7 @@ from pipecat.frames.frames import ( UserStartedSpeakingFrame, UserStoppedSpeakingFrame, ) -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_service import WebsocketSTTService from pipecat.transcriptions.language import Language from pipecat.utils.time import time_now_iso8601 @@ -233,12 +233,12 @@ class DeepgramFluxSTTService(WebsocketSTTService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.eager_eot_threshold = params.eager_eot_threshold default_settings.eot_threshold = params.eot_threshold diff --git a/src/pipecat/services/deepgram/sagemaker/stt.py b/src/pipecat/services/deepgram/sagemaker/stt.py index 98b3556cc..1087b124f 100644 --- a/src/pipecat/services/deepgram/sagemaker/stt.py +++ b/src/pipecat/services/deepgram/sagemaker/stt.py @@ -33,7 +33,7 @@ from pipecat.frames.frames import ( from pipecat.processors.frame_processor import FrameDirection from pipecat.services.aws.sagemaker.bidi_client import SageMakerBidiClient from pipecat.services.deepgram.stt import DeepgramSTTService, LiveOptions -from pipecat.services.settings import STTSettings, _warn_deprecated_param, is_given +from pipecat.services.settings import STTSettings, is_given from pipecat.services.stt_latency import DEEPGRAM_SAGEMAKER_TTFS_P99 from pipecat.services.stt_service import STTService from pipecat.transcriptions.language import Language @@ -147,7 +147,7 @@ class DeepgramSageMakerSTTService(STTService): # 2. Apply live_options overrides — only if settings not provided if live_options is not None: - _warn_deprecated_param("live_options", self.Settings) + self._warn_init_param_moved_to_settings("live_options") if not settings: # Extract init-only fields from live_options if live_options.sample_rate is not None and sample_rate is None: diff --git a/src/pipecat/services/deepgram/sagemaker/tts.py b/src/pipecat/services/deepgram/sagemaker/tts.py index f2c55c882..70be4a00e 100644 --- a/src/pipecat/services/deepgram/sagemaker/tts.py +++ b/src/pipecat/services/deepgram/sagemaker/tts.py @@ -33,7 +33,7 @@ from pipecat.frames.frames import ( ) from pipecat.processors.frame_processor import FrameDirection from pipecat.services.aws.sagemaker.bidi_client import SageMakerBidiClient -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import TTSService from pipecat.utils.tracing.service_decorators import traced_tts @@ -101,7 +101,7 @@ class DeepgramSageMakerTTSService(TTSService): **kwargs: Additional arguments passed to the parent TTSService. """ if voice is not None: - _warn_deprecated_param("voice", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice", "voice") voice = voice or "aura-2-helena-en" diff --git a/src/pipecat/services/deepgram/stt.py b/src/pipecat/services/deepgram/stt.py index e84964dce..7d849a160 100644 --- a/src/pipecat/services/deepgram/stt.py +++ b/src/pipecat/services/deepgram/stt.py @@ -29,7 +29,6 @@ from pipecat.services.settings import ( NOT_GIVEN, STTSettings, _NotGiven, - _warn_deprecated_param, is_given, ) from pipecat.services.stt_latency import DEEPGRAM_TTFS_P99 @@ -370,7 +369,7 @@ class DeepgramSTTService(STTService): # 3. Apply live_options overrides — only if settings not provided if live_options is not None: - _warn_deprecated_param("live_options", self.Settings) + self._warn_init_param_moved_to_settings("live_options") if not settings: # Extract init-only fields from live_options if live_options.sample_rate is not None and sample_rate is None: diff --git a/src/pipecat/services/deepgram/tts.py b/src/pipecat/services/deepgram/tts.py index 5fdbeb700..9f2dc3976 100644 --- a/src/pipecat/services/deepgram/tts.py +++ b/src/pipecat/services/deepgram/tts.py @@ -26,7 +26,7 @@ from pipecat.frames.frames import ( TTSAudioRawFrame, TTSStoppedFrame, ) -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import TTSService, WebsocketTTSService from pipecat.utils.tracing.service_decorators import traced_tts @@ -105,7 +105,7 @@ class DeepgramTTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if voice is not None: - _warn_deprecated_param("voice", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice", "voice") default_settings.model = voice default_settings.voice = voice @@ -407,7 +407,7 @@ class DeepgramHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice is not None: - _warn_deprecated_param("voice", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice", "voice") default_settings.model = voice default_settings.voice = voice diff --git a/src/pipecat/services/deepseek/llm.py b/src/pipecat/services/deepseek/llm.py index abb0d56bb..cfb69cb9a 100644 --- a/src/pipecat/services/deepseek/llm.py +++ b/src/pipecat/services/deepseek/llm.py @@ -14,7 +14,6 @@ from loguru import logger from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -62,7 +61,7 @@ class DeepSeekLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/elevenlabs/stt.py b/src/pipecat/services/elevenlabs/stt.py index 7247241d3..daca9be3d 100644 --- a/src/pipecat/services/elevenlabs/stt.py +++ b/src/pipecat/services/elevenlabs/stt.py @@ -35,7 +35,7 @@ from pipecat.frames.frames import ( VADUserStoppedSpeakingFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import ELEVENLABS_REALTIME_TTFS_P99, ELEVENLABS_TTFS_P99 from pipecat.services.stt_service import SegmentedSTTService, WebsocketSTTService from pipecat.transcriptions.language import Language, resolve_language @@ -278,12 +278,12 @@ class ElevenLabsSTTService(SegmentedSTTService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = language_to_elevenlabs_language(params.language) @@ -540,12 +540,12 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = params.language_code if params.commit_strategy != CommitStrategy.MANUAL: diff --git a/src/pipecat/services/elevenlabs/tts.py b/src/pipecat/services/elevenlabs/tts.py index 46acc2f1c..8cfd1abe2 100644 --- a/src/pipecat/services/elevenlabs/tts.py +++ b/src/pipecat/services/elevenlabs/tts.py @@ -44,7 +44,7 @@ from pipecat.frames.frames import ( TTSStoppedFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import ( TextAggregationMode, TTSService, @@ -437,16 +437,16 @@ class ElevenLabsTTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided _pronunciation_dictionary_locators = pronunciation_dictionary_locators if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) @@ -1002,16 +1002,16 @@ class ElevenLabsHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided _pronunciation_dictionary_locators = pronunciation_dictionary_locators if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) diff --git a/src/pipecat/services/fal/image.py b/src/pipecat/services/fal/image.py index 3c15a918a..31af55440 100644 --- a/src/pipecat/services/fal/image.py +++ b/src/pipecat/services/fal/image.py @@ -23,7 +23,7 @@ from pydantic import BaseModel from pipecat.frames.frames import ErrorFrame, Frame, URLImageRawFrame from pipecat.services.image_service import ImageGenService -from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven @dataclass @@ -142,11 +142,11 @@ class FalImageGenService(ImageGenService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.seed = params.seed default_settings.num_inference_steps = params.num_inference_steps diff --git a/src/pipecat/services/fal/stt.py b/src/pipecat/services/fal/stt.py index c1aae24b7..7bfcfbcfd 100644 --- a/src/pipecat/services/fal/stt.py +++ b/src/pipecat/services/fal/stt.py @@ -20,7 +20,7 @@ from loguru import logger from pydantic import BaseModel from pipecat.frames.frames import ErrorFrame, Frame, TranscriptionFrame -from pipecat.services.settings import STTSettings, _warn_deprecated_param +from pipecat.services.settings import STTSettings from pipecat.services.stt_latency import FAL_TTFS_P99 from pipecat.services.stt_service import SegmentedSTTService from pipecat.transcriptions.language import Language, resolve_language @@ -223,7 +223,7 @@ class FalSTTService(SegmentedSTTService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = language_to_fal_language(params.language) diff --git a/src/pipecat/services/fireworks/llm.py b/src/pipecat/services/fireworks/llm.py index fdd688149..bf141fac1 100644 --- a/src/pipecat/services/fireworks/llm.py +++ b/src/pipecat/services/fireworks/llm.py @@ -14,7 +14,6 @@ from loguru import logger from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -62,7 +61,7 @@ class FireworksLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/fish/tts.py b/src/pipecat/services/fish/tts.py index 39669574a..92cb54701 100644 --- a/src/pipecat/services/fish/tts.py +++ b/src/pipecat/services/fish/tts.py @@ -27,7 +27,7 @@ from pipecat.frames.frames import ( TTSStoppedFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import InterruptibleTTSService from pipecat.transcriptions.language import Language from pipecat.utils.tracing.service_decorators import traced_tts @@ -185,15 +185,15 @@ class FishAudioTTSService(InterruptibleTTSService): # 2. Apply direct init arg overrides (deprecated) if reference_id is not None: - _warn_deprecated_param("reference_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("reference_id", "voice") default_settings.voice = reference_id if model_id is not None: - _warn_deprecated_param("model_id", self.Settings, "model") + self._warn_init_param_moved_to_settings("model_id", "model") default_settings.model = model_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.latency is not None: default_settings.latency = params.latency diff --git a/src/pipecat/services/gladia/stt.py b/src/pipecat/services/gladia/stt.py index a68bf78b3..2ce2a15b5 100644 --- a/src/pipecat/services/gladia/stt.py +++ b/src/pipecat/services/gladia/stt.py @@ -39,7 +39,7 @@ from pipecat.services.gladia.config import ( PreProcessingConfig, RealtimeProcessingConfig, ) -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import GLADIA_TTFS_P99 from pipecat.services.stt_service import WebsocketSTTService from pipecat.transcriptions.language import Language, resolve_language @@ -317,12 +317,12 @@ class GladiaSTTService(WebsocketSTTService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if params.language is not None: with warnings.catch_warnings(): warnings.simplefilter("always") diff --git a/src/pipecat/services/google/gemini_live/llm.py b/src/pipecat/services/google/gemini_live/llm.py index 167abb938..5c9e5f8b3 100644 --- a/src/pipecat/services/google/gemini_live/llm.py +++ b/src/pipecat/services/google/gemini_live/llm.py @@ -76,7 +76,7 @@ from pipecat.services.openai.llm import ( OpenAIAssistantContextAggregator, OpenAIUserContextAggregator, ) -from pipecat.services.settings import NOT_GIVEN, LLMSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, LLMSettings, _NotGiven from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.string import match_endofsentence from pipecat.utils.time import time_now_iso8601 @@ -742,15 +742,15 @@ class GeminiLiveLLMService(LLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id != "Charon": - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.frequency_penalty = params.frequency_penalty default_settings.max_tokens = params.max_tokens diff --git a/src/pipecat/services/google/gemini_live/vertex/llm.py b/src/pipecat/services/google/gemini_live/vertex/llm.py index c610b4cdb..cb9d74c62 100644 --- a/src/pipecat/services/google/gemini_live/vertex/llm.py +++ b/src/pipecat/services/google/gemini_live/vertex/llm.py @@ -26,7 +26,6 @@ from pipecat.services.google.gemini_live.llm import ( InputParams, language_to_gemini_language, ) -from pipecat.services.settings import _warn_deprecated_param try: from google.auth import default @@ -160,15 +159,15 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id != "Charon": - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.frequency_penalty = params.frequency_penalty default_settings.max_tokens = params.max_tokens diff --git a/src/pipecat/services/google/image.py b/src/pipecat/services/google/image.py index 40706ad50..6a2919986 100644 --- a/src/pipecat/services/google/image.py +++ b/src/pipecat/services/google/image.py @@ -26,7 +26,7 @@ from pydantic import BaseModel, Field from pipecat.frames.frames import ErrorFrame, Frame, URLImageRawFrame from pipecat.services.google.utils import update_google_client_http_options from pipecat.services.image_service import ImageGenService -from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven try: from google import genai @@ -110,7 +110,7 @@ class GoogleImageGenService(ImageGenService): # 2. Apply params overrides (deprecated) if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.model = params.model default_settings.number_of_images = params.number_of_images diff --git a/src/pipecat/services/google/llm.py b/src/pipecat/services/google/llm.py index 02b5a5c19..698b9f97f 100644 --- a/src/pipecat/services/google/llm.py +++ b/src/pipecat/services/google/llm.py @@ -61,7 +61,6 @@ from pipecat.services.settings import ( NOT_GIVEN, LLMSettings, _NotGiven, - _warn_deprecated_param, is_given, ) from pipecat.utils.tracing.service_decorators import traced_llm @@ -838,15 +837,15 @@ class GoogleLLMService(LLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if system_instruction is not None: - _warn_deprecated_param("system_instruction", self.Settings, "system_instruction") + self._warn_init_param_moved_to_settings("system_instruction", "system_instruction") default_settings.system_instruction = system_instruction # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.max_tokens = params.max_tokens default_settings.temperature = params.temperature diff --git a/src/pipecat/services/google/openai/llm.py b/src/pipecat/services/google/openai/llm.py index 717c1e379..da5d1be7a 100644 --- a/src/pipecat/services/google/openai/llm.py +++ b/src/pipecat/services/google/openai/llm.py @@ -30,7 +30,6 @@ from pipecat.metrics.metrics import LLMTokenUsage from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -100,7 +99,7 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/google/stt.py b/src/pipecat/services/google/stt.py index cab176668..173b201fe 100644 --- a/src/pipecat/services/google/stt.py +++ b/src/pipecat/services/google/stt.py @@ -36,7 +36,7 @@ from pipecat.frames.frames import ( StartFrame, TranscriptionFrame, ) -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import GOOGLE_TTFS_P99 from pipecat.services.stt_service import STTService from pipecat.transcriptions.language import Language, resolve_language @@ -531,7 +531,7 @@ class GoogleSTTService(STTService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.languages = list(params.language_list) default_settings.model = params.model diff --git a/src/pipecat/services/google/tts.py b/src/pipecat/services/google/tts.py index c2e32ad3c..3455a8125 100644 --- a/src/pipecat/services/google/tts.py +++ b/src/pipecat/services/google/tts.py @@ -39,7 +39,6 @@ from pipecat.services.settings import ( NOT_GIVEN, TTSSettings, _NotGiven, - _warn_deprecated_param, is_given, ) from pipecat.services.tts_service import TTSService @@ -636,12 +635,12 @@ class GoogleHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.pitch is not None: default_settings.pitch = params.pitch @@ -1083,12 +1082,12 @@ class GoogleTTSService(GoogleBaseTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) @@ -1331,10 +1330,10 @@ class GeminiTTSService(GoogleBaseTTSService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if default_settings.voice not in self.AVAILABLE_VOICES: @@ -1344,7 +1343,7 @@ class GeminiTTSService(GoogleBaseTTSService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) diff --git a/src/pipecat/services/google/vertex/llm.py b/src/pipecat/services/google/vertex/llm.py index 014dea405..946a8f1bb 100644 --- a/src/pipecat/services/google/vertex/llm.py +++ b/src/pipecat/services/google/vertex/llm.py @@ -22,7 +22,6 @@ from typing import Optional from loguru import logger from pipecat.services.google.llm import GoogleLLMService -from pipecat.services.settings import _warn_deprecated_param try: from google.auth import default @@ -215,15 +214,15 @@ class GoogleVertexLLMService(GoogleLLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if system_instruction is not None: - _warn_deprecated_param("system_instruction", self.Settings, "system_instruction") + self._warn_init_param_moved_to_settings("system_instruction", "system_instruction") default_settings.system_instruction = system_instruction # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.max_tokens = params.max_tokens default_settings.temperature = params.temperature diff --git a/src/pipecat/services/gradium/stt.py b/src/pipecat/services/gradium/stt.py index 90d1e800f..c328dceab 100644 --- a/src/pipecat/services/gradium/stt.py +++ b/src/pipecat/services/gradium/stt.py @@ -28,7 +28,7 @@ from pipecat.frames.frames import ( VADUserStoppedSpeakingFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import GRADIUM_TTFS_P99 from pipecat.services.stt_service import WebsocketSTTService from pipecat.transcriptions.language import Language, resolve_language @@ -162,7 +162,7 @@ class GradiumSTTService(WebsocketSTTService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = params.language if params.delay_in_frames is not None: diff --git a/src/pipecat/services/gradium/tts.py b/src/pipecat/services/gradium/tts.py index 43114b193..f63f931ad 100644 --- a/src/pipecat/services/gradium/tts.py +++ b/src/pipecat/services/gradium/tts.py @@ -21,7 +21,7 @@ from pipecat.frames.frames import ( TTSAudioRawFrame, TTSStoppedFrame, ) -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import WebsocketTTSService from pipecat.utils.tracing.service_decorators import traced_tts @@ -108,15 +108,15 @@ class GradiumTTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") # Note: params.temp has no corresponding settings field # 4. Apply settings delta (canonical API, always wins) diff --git a/src/pipecat/services/grok/llm.py b/src/pipecat/services/grok/llm.py index 3eaf0646a..160ad3331 100644 --- a/src/pipecat/services/grok/llm.py +++ b/src/pipecat/services/grok/llm.py @@ -29,7 +29,6 @@ from pipecat.services.openai.llm import ( OpenAILLMService, OpenAIUserContextAggregator, ) -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -117,7 +116,7 @@ class GrokLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/grok/realtime/llm.py b/src/pipecat/services/grok/realtime/llm.py index dcd7ac59e..bfa192aad 100644 --- a/src/pipecat/services/grok/realtime/llm.py +++ b/src/pipecat/services/grok/realtime/llm.py @@ -60,7 +60,6 @@ from pipecat.services.settings import ( NOT_GIVEN, LLMSettings, _NotGiven, - _warn_deprecated_param, is_given, ) from pipecat.utils.time import time_now_iso8601 diff --git a/src/pipecat/services/groq/llm.py b/src/pipecat/services/groq/llm.py index 8b6bdc3bc..d36b52ab8 100644 --- a/src/pipecat/services/groq/llm.py +++ b/src/pipecat/services/groq/llm.py @@ -13,7 +13,6 @@ from loguru import logger from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -61,7 +60,7 @@ class GroqLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/groq/stt.py b/src/pipecat/services/groq/stt.py index 6a234cc27..6ff4075ae 100644 --- a/src/pipecat/services/groq/stt.py +++ b/src/pipecat/services/groq/stt.py @@ -9,7 +9,6 @@ from dataclasses import dataclass from typing import Optional -from pipecat.services.settings import _warn_deprecated_param from pipecat.services.stt_latency import GROQ_TTFS_P99 from pipecat.services.whisper.base_stt import ( BaseWhisperSTTService, @@ -93,16 +92,16 @@ class GroqSTTService(BaseWhisperSTTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if language is not None: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = self.language_to_service_language(language) if prompt is not None: - _warn_deprecated_param("prompt", self.Settings, "prompt") + self._warn_init_param_moved_to_settings("prompt", "prompt") default_settings.prompt = prompt if temperature is not None: - _warn_deprecated_param("temperature", self.Settings, "temperature") + self._warn_init_param_moved_to_settings("temperature", "temperature") default_settings.temperature = temperature # --- 3. (no params object for this service) --- diff --git a/src/pipecat/services/groq/tts.py b/src/pipecat/services/groq/tts.py index 714ecdeb1..00ff3ef84 100644 --- a/src/pipecat/services/groq/tts.py +++ b/src/pipecat/services/groq/tts.py @@ -19,7 +19,7 @@ from pipecat.frames.frames import ( Frame, TTSAudioRawFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.transcriptions.language import Language from pipecat.utils.tracing.service_decorators import traced_tts @@ -120,15 +120,15 @@ class GroqTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if model_name is not None: - _warn_deprecated_param("model_name", self.Settings, "model") + self._warn_init_param_moved_to_settings("model_name", "model") default_settings.model = model_name if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = str(params.language) if params.language else "en" default_settings.speed = params.speed diff --git a/src/pipecat/services/hume/tts.py b/src/pipecat/services/hume/tts.py index 9fa1cd46c..e591ebec2 100644 --- a/src/pipecat/services/hume/tts.py +++ b/src/pipecat/services/hume/tts.py @@ -25,7 +25,7 @@ from pipecat.frames.frames import ( TTSStoppedFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.utils.tracing.service_decorators import traced_tts @@ -147,12 +147,12 @@ class HumeTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.description = params.description default_settings.speed = params.speed diff --git a/src/pipecat/services/inworld/tts.py b/src/pipecat/services/inworld/tts.py index f24e9dcf6..334c3c617 100644 --- a/src/pipecat/services/inworld/tts.py +++ b/src/pipecat/services/inworld/tts.py @@ -40,7 +40,7 @@ from pipecat import version as pipecat_version USER_AGENT = f"pipecat/{pipecat_version()}" from pydantic import BaseModel -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven try: from websockets.asyncio.client import connect as websocket_connect @@ -174,15 +174,15 @@ class InworldHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.speaking_rate is not None: default_settings.speaking_rate = params.speaking_rate @@ -592,17 +592,17 @@ class InworldTTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided _buffer_max_delay_ms = None _buffer_char_threshold = None if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.speaking_rate is not None: default_settings.speaking_rate = params.speaking_rate diff --git a/src/pipecat/services/kokoro/tts.py b/src/pipecat/services/kokoro/tts.py index fd7f15c27..34e703dab 100644 --- a/src/pipecat/services/kokoro/tts.py +++ b/src/pipecat/services/kokoro/tts.py @@ -21,7 +21,7 @@ from pipecat.frames.frames import ( Frame, TTSAudioRawFrame, ) -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import TTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -155,12 +155,12 @@ class KokoroTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = language_to_kokoro_language(params.language) diff --git a/src/pipecat/services/lmnt/tts.py b/src/pipecat/services/lmnt/tts.py index ea5986ffc..0ca91a107 100644 --- a/src/pipecat/services/lmnt/tts.py +++ b/src/pipecat/services/lmnt/tts.py @@ -22,7 +22,7 @@ from pipecat.frames.frames import ( TTSStoppedFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import InterruptibleTTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -134,10 +134,10 @@ class LmntTTSService(InterruptibleTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/minimax/tts.py b/src/pipecat/services/minimax/tts.py index 173c1ea05..d41fb6255 100644 --- a/src/pipecat/services/minimax/tts.py +++ b/src/pipecat/services/minimax/tts.py @@ -24,7 +24,7 @@ from pipecat.frames.frames import ( StartFrame, TTSAudioRawFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -243,15 +243,15 @@ class MiniMaxHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.speed = params.speed default_settings.volume = params.volume diff --git a/src/pipecat/services/mistral/llm.py b/src/pipecat/services/mistral/llm.py index 4b74695ef..3ee1b2623 100644 --- a/src/pipecat/services/mistral/llm.py +++ b/src/pipecat/services/mistral/llm.py @@ -16,7 +16,6 @@ from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams from pipecat.frames.frames import FunctionCallFromLLM from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -64,7 +63,7 @@ class MistralLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/moondream/vision.py b/src/pipecat/services/moondream/vision.py index b8ab5a270..6eeff19cd 100644 --- a/src/pipecat/services/moondream/vision.py +++ b/src/pipecat/services/moondream/vision.py @@ -25,7 +25,7 @@ from pipecat.frames.frames import ( VisionFullResponseStartFrame, VisionTextFrame, ) -from pipecat.services.settings import VisionSettings, _warn_deprecated_param +from pipecat.services.settings import VisionSettings from pipecat.services.vision_service import VisionService try: @@ -110,7 +110,7 @@ class MoondreamService(VisionService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 4. Apply settings delta (canonical API, always wins) diff --git a/src/pipecat/services/neuphonic/tts.py b/src/pipecat/services/neuphonic/tts.py index 5c0605293..b345a0ff4 100644 --- a/src/pipecat/services/neuphonic/tts.py +++ b/src/pipecat/services/neuphonic/tts.py @@ -33,7 +33,7 @@ from pipecat.frames.frames import ( TTSStoppedFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import InterruptibleTTSService, TextAggregationMode, TTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -159,12 +159,12 @@ class NeuphonicTTSService(InterruptibleTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) @@ -493,12 +493,12 @@ class NeuphonicHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = self.language_to_service_language(params.language) diff --git a/src/pipecat/services/nvidia/llm.py b/src/pipecat/services/nvidia/llm.py index b40190bec..66bbd4402 100644 --- a/src/pipecat/services/nvidia/llm.py +++ b/src/pipecat/services/nvidia/llm.py @@ -18,7 +18,6 @@ from pipecat.processors.aggregators.llm_context import LLMContext from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -68,7 +67,7 @@ class NvidiaLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/nvidia/stt.py b/src/pipecat/services/nvidia/stt.py index 3c8004baa..fcca14741 100644 --- a/src/pipecat/services/nvidia/stt.py +++ b/src/pipecat/services/nvidia/stt.py @@ -23,7 +23,7 @@ from pipecat.frames.frames import ( StartFrame, TranscriptionFrame, ) -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import NVIDIA_TTFS_P99 from pipecat.services.stt_service import SegmentedSTTService, STTService from pipecat.transcriptions.language import Language, resolve_language @@ -185,7 +185,7 @@ class NvidiaSTTService(STTService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = params.language @@ -515,7 +515,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = ( language_to_nvidia_riva_language(params.language or Language.EN_US) or "en-US" diff --git a/src/pipecat/services/nvidia/tts.py b/src/pipecat/services/nvidia/tts.py index b41de8b47..5e7a20a3c 100644 --- a/src/pipecat/services/nvidia/tts.py +++ b/src/pipecat/services/nvidia/tts.py @@ -29,7 +29,7 @@ from pipecat.frames.frames import ( StartFrame, TTSAudioRawFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.transcriptions.language import Language @@ -126,12 +126,12 @@ class NvidiaTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = params.language diff --git a/src/pipecat/services/ollama/llm.py b/src/pipecat/services/ollama/llm.py index 3b15049a4..a24ebfcaf 100644 --- a/src/pipecat/services/ollama/llm.py +++ b/src/pipecat/services/ollama/llm.py @@ -13,7 +13,6 @@ from loguru import logger from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -60,7 +59,7 @@ class OLLamaLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/openai/image.py b/src/pipecat/services/openai/image.py index 31f9949b8..de010247b 100644 --- a/src/pipecat/services/openai/image.py +++ b/src/pipecat/services/openai/image.py @@ -25,7 +25,7 @@ from pipecat.frames.frames import ( URLImageRawFrame, ) from pipecat.services.image_service import ImageGenService -from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, ImageGenSettings, _NotGiven @dataclass @@ -90,11 +90,11 @@ class OpenAIImageGenService(ImageGenService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if image_size is not None: - _warn_deprecated_param("image_size", self.Settings, "image_size") + self._warn_init_param_moved_to_settings("image_size", "image_size") default_settings.image_size = image_size # 4. Apply settings delta (canonical API, always wins) diff --git a/src/pipecat/services/openai/llm.py b/src/pipecat/services/openai/llm.py index 032d4dfa4..abb3e7eec 100644 --- a/src/pipecat/services/openai/llm.py +++ b/src/pipecat/services/openai/llm.py @@ -26,7 +26,6 @@ from pipecat.processors.aggregators.llm_response import ( ) from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.services.openai.base_llm import BaseOpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -120,7 +119,7 @@ class OpenAILLMService(BaseOpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # Handle service_tier from deprecated params @@ -129,7 +128,7 @@ class OpenAILLMService(BaseOpenAILLMService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.frequency_penalty = params.frequency_penalty default_settings.presence_penalty = params.presence_penalty diff --git a/src/pipecat/services/openai/realtime/llm.py b/src/pipecat/services/openai/realtime/llm.py index 300792cbd..faaa19884 100644 --- a/src/pipecat/services/openai/realtime/llm.py +++ b/src/pipecat/services/openai/realtime/llm.py @@ -63,7 +63,6 @@ from pipecat.services.settings import ( NOT_GIVEN, LLMSettings, _NotGiven, - _warn_deprecated_param, is_given, ) from pipecat.transcriptions.language import Language @@ -294,7 +293,7 @@ class OpenAIRealtimeLLMService(LLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if session_properties is not None: diff --git a/src/pipecat/services/openai/stt.py b/src/pipecat/services/openai/stt.py index 943be17de..39ca60b25 100644 --- a/src/pipecat/services/openai/stt.py +++ b/src/pipecat/services/openai/stt.py @@ -35,7 +35,7 @@ from pipecat.frames.frames import ( VADUserStoppedSpeakingFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import OPENAI_REALTIME_TTFS_P99, OPENAI_TTFS_P99 from pipecat.services.stt_service import WebsocketSTTService from pipecat.services.whisper.base_stt import ( @@ -126,13 +126,13 @@ class OpenAISTTService(BaseWhisperSTTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if prompt is not None: - _warn_deprecated_param("prompt", self.Settings, "prompt") + self._warn_init_param_moved_to_settings("prompt", "prompt") default_settings.prompt = prompt if temperature is not None: - _warn_deprecated_param("temperature", self.Settings, "temperature") + self._warn_init_param_moved_to_settings("temperature", "temperature") default_settings.temperature = temperature # --- 3. (no params object for this service) --- @@ -310,16 +310,16 @@ class OpenAIRealtimeSTTService(WebsocketSTTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if language is not None and language != Language.EN: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = language if prompt is not None: - _warn_deprecated_param("prompt", self.Settings, "prompt") + self._warn_init_param_moved_to_settings("prompt", "prompt") default_settings.prompt = prompt if noise_reduction is not None: - _warn_deprecated_param("noise_reduction", self.Settings, "noise_reduction") + self._warn_init_param_moved_to_settings("noise_reduction", "noise_reduction") default_settings.noise_reduction = noise_reduction # --- 3. (no params object for this service) --- diff --git a/src/pipecat/services/openai/tts.py b/src/pipecat/services/openai/tts.py index 7eb80cd1e..074792b33 100644 --- a/src/pipecat/services/openai/tts.py +++ b/src/pipecat/services/openai/tts.py @@ -23,7 +23,7 @@ from pipecat.frames.frames import ( StartFrame, TTSAudioRawFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.utils.tracing.service_decorators import traced_tts @@ -166,21 +166,21 @@ class OpenAITTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice is not None: - _warn_deprecated_param("voice", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice", "voice") default_settings.voice = voice if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if instructions is not None: - _warn_deprecated_param("instructions", self.Settings, "instructions") + self._warn_init_param_moved_to_settings("instructions", "instructions") default_settings.instructions = instructions if speed is not None: - _warn_deprecated_param("speed", self.Settings, "speed") + self._warn_init_param_moved_to_settings("speed", "speed") default_settings.speed = speed # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.instructions is not None: default_settings.instructions = params.instructions diff --git a/src/pipecat/services/openai_realtime_beta/openai.py b/src/pipecat/services/openai_realtime_beta/openai.py index 209ff3122..0a6315986 100644 --- a/src/pipecat/services/openai_realtime_beta/openai.py +++ b/src/pipecat/services/openai_realtime_beta/openai.py @@ -54,7 +54,7 @@ from pipecat.processors.aggregators.openai_llm_context import ( from pipecat.processors.frame_processor import FrameDirection from pipecat.services.llm_service import FunctionCallFromLLM, LLMService from pipecat.services.openai.llm import OpenAIContextAggregatorPair -from pipecat.services.settings import LLMSettings, _warn_deprecated_param +from pipecat.services.settings import LLMSettings from pipecat.transcriptions.language import Language from pipecat.utils.time import time_now_iso8601 from pipecat.utils.tracing.service_decorators import traced_openai_realtime, traced_stt @@ -173,7 +173,7 @@ class OpenAIRealtimeBetaLLMService(LLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply settings delta (canonical API, always wins) if settings is not None: diff --git a/src/pipecat/services/openpipe/llm.py b/src/pipecat/services/openpipe/llm.py index a2198eb74..0a8fd9044 100644 --- a/src/pipecat/services/openpipe/llm.py +++ b/src/pipecat/services/openpipe/llm.py @@ -18,7 +18,6 @@ from loguru import logger from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param try: from openpipe import AsyncOpenAI as OpenPipeAI @@ -80,7 +79,7 @@ class OpenPipeLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/openrouter/llm.py b/src/pipecat/services/openrouter/llm.py index 84647890f..f92fb5e3b 100644 --- a/src/pipecat/services/openrouter/llm.py +++ b/src/pipecat/services/openrouter/llm.py @@ -17,7 +17,6 @@ from loguru import logger from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -66,7 +65,7 @@ class OpenRouterLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/perplexity/llm.py b/src/pipecat/services/perplexity/llm.py index c93a77c16..6c2ceba35 100644 --- a/src/pipecat/services/perplexity/llm.py +++ b/src/pipecat/services/perplexity/llm.py @@ -20,7 +20,6 @@ from pipecat.processors.aggregators.llm_context import LLMContext from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -69,7 +68,7 @@ class PerplexityLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/piper/tts.py b/src/pipecat/services/piper/tts.py index 0d56d377e..1b0037abb 100644 --- a/src/pipecat/services/piper/tts.py +++ b/src/pipecat/services/piper/tts.py @@ -19,7 +19,7 @@ from pipecat.frames.frames import ( Frame, TTSStoppedFrame, ) -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import TTSService from pipecat.utils.tracing.service_decorators import traced_tts @@ -81,7 +81,7 @@ class PiperTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. (No step 3, as there's no params object to apply) @@ -232,7 +232,7 @@ class PiperHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/qwen/llm.py b/src/pipecat/services/qwen/llm.py index 4c3d7015c..857c89bea 100644 --- a/src/pipecat/services/qwen/llm.py +++ b/src/pipecat/services/qwen/llm.py @@ -13,7 +13,6 @@ from loguru import logger from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -61,7 +60,7 @@ class QwenLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/resembleai/tts.py b/src/pipecat/services/resembleai/tts.py index 7375b9a1b..fc70d814b 100644 --- a/src/pipecat/services/resembleai/tts.py +++ b/src/pipecat/services/resembleai/tts.py @@ -23,7 +23,7 @@ from pipecat.frames.frames import ( TTSStartedFrame, TTSStoppedFrame, ) -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import WebsocketTTSService from pipecat.utils.tracing.service_decorators import traced_tts @@ -92,7 +92,7 @@ class ResembleAITTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/rime/tts.py b/src/pipecat/services/rime/tts.py index df1b269cd..24a5d152b 100644 --- a/src/pipecat/services/rime/tts.py +++ b/src/pipecat/services/rime/tts.py @@ -31,7 +31,7 @@ from pipecat.frames.frames import ( TTSStoppedFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import ( InterruptibleTTSService, TextAggregationMode, @@ -241,15 +241,15 @@ class RimeTTSService(WebsocketTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = ( self.language_to_service_language(params.language) if params.language else None @@ -744,15 +744,15 @@ class RimeHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = ( self.language_to_service_language(params.language) if params.language else "eng" @@ -974,15 +974,15 @@ class RimeNonJsonTTSService(InterruptibleTTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = ( self.language_to_service_language(params.language) if params.language else None diff --git a/src/pipecat/services/sambanova/llm.py b/src/pipecat/services/sambanova/llm.py index a77252ff8..3c7d76737 100644 --- a/src/pipecat/services/sambanova/llm.py +++ b/src/pipecat/services/sambanova/llm.py @@ -24,7 +24,6 @@ from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext from pipecat.services.llm_service import FunctionCallFromLLM from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param from pipecat.utils.tracing.service_decorators import traced_llm @@ -73,7 +72,7 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/sambanova/stt.py b/src/pipecat/services/sambanova/stt.py index c42a491e1..d3a77b4eb 100644 --- a/src/pipecat/services/sambanova/stt.py +++ b/src/pipecat/services/sambanova/stt.py @@ -11,7 +11,6 @@ from typing import Any, Optional from loguru import logger -from pipecat.services.settings import _warn_deprecated_param from pipecat.services.stt_latency import SAMBANOVA_TTFS_P99 from pipecat.services.whisper.base_stt import ( BaseWhisperSTTService, @@ -90,16 +89,16 @@ class SambaNovaSTTService(BaseWhisperSTTService): # type: ignore # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if language is not None: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = self.language_to_service_language(language) if prompt is not None: - _warn_deprecated_param("prompt", self.Settings, "prompt") + self._warn_init_param_moved_to_settings("prompt", "prompt") default_settings.prompt = prompt if temperature is not None: - _warn_deprecated_param("temperature", self.Settings, "temperature") + self._warn_init_param_moved_to_settings("temperature", "temperature") default_settings.temperature = temperature # --- 3. (no params object for this service) --- diff --git a/src/pipecat/services/sarvam/stt.py b/src/pipecat/services/sarvam/stt.py index b2c02f7cd..8d0a38810 100644 --- a/src/pipecat/services/sarvam/stt.py +++ b/src/pipecat/services/sarvam/stt.py @@ -36,7 +36,6 @@ from pipecat.services.settings import ( NOT_GIVEN, STTSettings, _NotGiven, - _warn_deprecated_param, is_given, ) from pipecat.services.stt_latency import SARVAM_TTFS_P99 @@ -255,12 +254,12 @@ class SarvamSTTService(STTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # --- 3. Deprecated params overrides --- if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = params.language default_settings.prompt = params.prompt diff --git a/src/pipecat/services/sarvam/tts.py b/src/pipecat/services/sarvam/tts.py index a469dbf33..91ee088cf 100644 --- a/src/pipecat/services/sarvam/tts.py +++ b/src/pipecat/services/sarvam/tts.py @@ -60,7 +60,7 @@ from pipecat.frames.frames import ( ) from pipecat.processors.frame_processor import FrameDirection from pipecat.services.sarvam._sdk import sdk_headers -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import InterruptibleTTSService, TextAggregationMode, TTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -462,15 +462,15 @@ class SarvamHttpTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = ( @@ -874,10 +874,10 @@ class SarvamTTSService(InterruptibleTTSService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # Init-only audio format fields (not runtime-updatable) @@ -886,7 +886,7 @@ class SarvamTTSService(InterruptibleTTSService): # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: if params.language is not None: default_settings.language = ( diff --git a/src/pipecat/services/settings.py b/src/pipecat/services/settings.py index c9a120972..a0bf3cd58 100644 --- a/src/pipecat/services/settings.py +++ b/src/pipecat/services/settings.py @@ -37,7 +37,6 @@ Key helpers: from __future__ import annotations import copy -import warnings from dataclasses import dataclass, field, fields from typing import TYPE_CHECKING, Any, ClassVar, Dict, Mapping, Optional, Type, TypeVar @@ -49,45 +48,6 @@ if TYPE_CHECKING: from pipecat.turns.user_turn_completion_mixin import UserTurnCompletionConfig -# --------------------------------------------------------------------------- -# Deprecation helper -# --------------------------------------------------------------------------- - - -def _warn_deprecated_param( - param_name: str, - settings_class: type, - settings_field: str | None = None, - stacklevel: int = 3, -): - """Emit DeprecationWarning for a deprecated init parameter. - - Args: - param_name: Name of the deprecated parameter. - settings_class: The settings class to use instead. - settings_field: Specific field on the settings class, if different - from *param_name*. - stacklevel: Stack depth for the warning. Default ``3`` targets - the caller's caller (i.e. user code that instantiated the service). - """ - settings_class_name = settings_class.__name__ - if settings_field: - msg = ( - f"The `{param_name}` parameter is deprecated. " - f"Use `settings={settings_class_name}({settings_field}=...)` instead. " - f"If both are provided, `settings` takes precedence." - ) - else: - msg = ( - f"The `{param_name}` parameter is deprecated. " - f"Use `settings={settings_class_name}(...)` instead. " - f"If both are provided, `settings` takes precedence." - ) - with warnings.catch_warnings(): - warnings.simplefilter("always") - warnings.warn(msg, DeprecationWarning, stacklevel=stacklevel) - - # --------------------------------------------------------------------------- # NOT_GIVEN sentinel # --------------------------------------------------------------------------- diff --git a/src/pipecat/services/soniox/stt.py b/src/pipecat/services/soniox/stt.py index abf42dcdc..f123d850c 100644 --- a/src/pipecat/services/soniox/stt.py +++ b/src/pipecat/services/soniox/stt.py @@ -24,7 +24,7 @@ from pipecat.frames.frames import ( VADUserStoppedSpeakingFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import SONIOX_TTFS_P99 from pipecat.services.stt_service import WebsocketSTTService from pipecat.transcriptions.language import Language @@ -233,12 +233,12 @@ class SonioxSTTService(WebsocketSTTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # --- 3. Deprecated params overrides --- if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.model = params.model if params.audio_format is not None: diff --git a/src/pipecat/services/speechmatics/stt.py b/src/pipecat/services/speechmatics/stt.py index 2a54b2b08..ae8e35850 100644 --- a/src/pipecat/services/speechmatics/stt.py +++ b/src/pipecat/services/speechmatics/stt.py @@ -33,7 +33,7 @@ from pipecat.frames.frames import ( VADUserStoppedSpeakingFrame, ) from pipecat.processors.frame_processor import FrameDirection -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import SPEECHMATICS_TTFS_P99 from pipecat.services.stt_service import STTService from pipecat.transcriptions.language import Language, resolve_language @@ -454,7 +454,7 @@ class SpeechmaticsSTTService(STTService): # --- 3. Deprecated params overrides --- if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.language = _params.language default_settings.domain = _params.domain diff --git a/src/pipecat/services/speechmatics/tts.py b/src/pipecat/services/speechmatics/tts.py index 243437cb3..64f64378a 100644 --- a/src/pipecat/services/speechmatics/tts.py +++ b/src/pipecat/services/speechmatics/tts.py @@ -20,7 +20,7 @@ from pipecat.frames.frames import ( Frame, TTSAudioRawFrame, ) -from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, TTSSettings, _NotGiven from pipecat.services.tts_service import TTSService from pipecat.utils.network import exponential_backoff_time from pipecat.utils.tracing.service_decorators import traced_tts @@ -119,12 +119,12 @@ class SpeechmaticsTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. Apply params overrides — only if settings not provided if params is not None: - _warn_deprecated_param("params", self.Settings) + self._warn_init_param_moved_to_settings("params") if not settings: default_settings.max_retries = params.max_retries diff --git a/src/pipecat/services/together/llm.py b/src/pipecat/services/together/llm.py index b1eb83d26..4ec2f8244 100644 --- a/src/pipecat/services/together/llm.py +++ b/src/pipecat/services/together/llm.py @@ -13,7 +13,6 @@ from loguru import logger from pipecat.services.openai.base_llm import BaseOpenAILLMService from pipecat.services.openai.llm import OpenAILLMService -from pipecat.services.settings import _warn_deprecated_param @dataclass @@ -61,7 +60,7 @@ class TogetherLLMService(OpenAILLMService): # 2. Apply direct init arg overrides (deprecated) if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model # 3. (No step 3, as there's no params object to apply) diff --git a/src/pipecat/services/whisper/base_stt.py b/src/pipecat/services/whisper/base_stt.py index d045eafc7..93bb5de34 100644 --- a/src/pipecat/services/whisper/base_stt.py +++ b/src/pipecat/services/whisper/base_stt.py @@ -18,7 +18,7 @@ from openai import AsyncOpenAI from openai.types.audio import Transcription from pipecat.frames.frames import ErrorFrame, Frame, TranscriptionFrame -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_latency import WHISPER_TTFS_P99 from pipecat.services.stt_service import SegmentedSTTService from pipecat.transcriptions.language import Language, resolve_language @@ -190,16 +190,16 @@ class BaseWhisperSTTService(SegmentedSTTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if language is not None: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = self.language_to_service_language(language) if prompt is not None: - _warn_deprecated_param("prompt", self.Settings, "prompt") + self._warn_init_param_moved_to_settings("prompt", "prompt") default_settings.prompt = prompt if temperature is not None: - _warn_deprecated_param("temperature", self.Settings, "temperature") + self._warn_init_param_moved_to_settings("temperature", "temperature") default_settings.temperature = temperature # --- 3. (no params object for this service) --- diff --git a/src/pipecat/services/whisper/stt.py b/src/pipecat/services/whisper/stt.py index 29574007a..ac5d90c30 100644 --- a/src/pipecat/services/whisper/stt.py +++ b/src/pipecat/services/whisper/stt.py @@ -20,7 +20,7 @@ from loguru import logger from typing_extensions import TYPE_CHECKING, override from pipecat.frames.frames import ErrorFrame, Frame, TranscriptionFrame -from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven, _warn_deprecated_param +from pipecat.services.settings import NOT_GIVEN, STTSettings, _NotGiven from pipecat.services.stt_service import SegmentedSTTService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.time import time_now_iso8601 @@ -256,13 +256,13 @@ class WhisperSTTService(SegmentedSTTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if isinstance(model, str) else model.value if no_speech_prob is not None: - _warn_deprecated_param("no_speech_prob", self.Settings, "no_speech_prob") + self._warn_init_param_moved_to_settings("no_speech_prob", "no_speech_prob") default_settings.no_speech_prob = no_speech_prob if language is not None: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = language # --- 3. (no params object for this service) --- @@ -432,16 +432,16 @@ class WhisperSTTServiceMLX(WhisperSTTService): # --- 2. Deprecated direct-arg overrides --- if model is not None: - _warn_deprecated_param("model", self.Settings, "model") + self._warn_init_param_moved_to_settings("model", "model") default_settings.model = model if isinstance(model, str) else model.value if no_speech_prob is not None: - _warn_deprecated_param("no_speech_prob", self.Settings, "no_speech_prob") + self._warn_init_param_moved_to_settings("no_speech_prob", "no_speech_prob") default_settings.no_speech_prob = no_speech_prob if language is not None: - _warn_deprecated_param("language", self.Settings, "language") + self._warn_init_param_moved_to_settings("language", "language") default_settings.language = language if temperature is not None: - _warn_deprecated_param("temperature", self.Settings, "temperature") + self._warn_init_param_moved_to_settings("temperature", "temperature") default_settings.temperature = temperature # --- 3. (no params object for this service) --- diff --git a/src/pipecat/services/xtts/tts.py b/src/pipecat/services/xtts/tts.py index b769742f3..099fce65c 100644 --- a/src/pipecat/services/xtts/tts.py +++ b/src/pipecat/services/xtts/tts.py @@ -23,7 +23,7 @@ from pipecat.frames.frames import ( StartFrame, TTSAudioRawFrame, ) -from pipecat.services.settings import TTSSettings, _warn_deprecated_param +from pipecat.services.settings import TTSSettings from pipecat.services.tts_service import TTSService from pipecat.transcriptions.language import Language, resolve_language from pipecat.utils.tracing.service_decorators import traced_tts @@ -122,7 +122,7 @@ class XTTSService(TTSService): # 2. Apply direct init arg overrides (deprecated) if voice_id is not None: - _warn_deprecated_param("voice_id", self.Settings, "voice") + self._warn_init_param_moved_to_settings("voice_id", "voice") default_settings.voice = voice_id # 3. (No step 3, as there's no params object to apply)