Prefer Service.Settings over raw settings class names across all services
Replace direct references to settings class names (e.g. `FooSettings`) with the nested `Settings` alias form throughout all 87 service files: - Type annotations: `Settings` - Runtime code: `self.Settings` - Docstrings: `ServiceClass.Settings` - Cross-file inheritance: `ParentService.Settings` This makes the `Settings` alias the canonical way to reference a service's settings, keeping only the class definition and alias assignment as the remaining hits for each raw settings class name.
This commit is contained in:
@@ -160,7 +160,7 @@ class AnthropicLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AnthropicLLMSettings
|
Settings = AnthropicLLMSettings
|
||||||
_settings: AnthropicLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Overriding the default adapter to use the Anthropic one.
|
# Overriding the default adapter to use the Anthropic one.
|
||||||
adapter_class = AnthropicLLMAdapter
|
adapter_class = AnthropicLLMAdapter
|
||||||
@@ -172,7 +172,7 @@ class AnthropicLLMService(LLMService):
|
|||||||
"""Input parameters for Anthropic model inference.
|
"""Input parameters for Anthropic model inference.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``AnthropicLLMSettings`` instead. Pass settings directly via the
|
Use ``AnthropicLLMService.Settings`` instead. Pass settings directly via the
|
||||||
``settings`` parameter of :class:`AnthropicLLMService`.
|
``settings`` parameter of :class:`AnthropicLLMService`.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
@@ -220,7 +220,7 @@ class AnthropicLLMService(LLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[AnthropicLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
client=None,
|
client=None,
|
||||||
retry_timeout_secs: Optional[float] = 5.0,
|
retry_timeout_secs: Optional[float] = 5.0,
|
||||||
retry_on_timeout: Optional[bool] = False,
|
retry_on_timeout: Optional[bool] = False,
|
||||||
@@ -233,12 +233,12 @@ class AnthropicLLMService(LLMService):
|
|||||||
model: Model name to use.
|
model: Model name to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AnthropicLLMSettings(model=...)`` instead.
|
Use ``settings=AnthropicLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
params: Optional model parameters for inference.
|
params: Optional model parameters for inference.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AnthropicLLMSettings(...)`` instead.
|
Use ``settings=AnthropicLLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings for this service. When both
|
settings: Runtime-updatable settings for this service. When both
|
||||||
deprecated parameters and *settings* are provided, *settings*
|
deprecated parameters and *settings* are provided, *settings*
|
||||||
@@ -249,7 +249,7 @@ class AnthropicLLMService(LLMService):
|
|||||||
**kwargs: Additional arguments passed to parent LLMService.
|
**kwargs: Additional arguments passed to parent LLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AnthropicLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="claude-sonnet-4-6",
|
model="claude-sonnet-4-6",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
max_tokens=4096,
|
max_tokens=4096,
|
||||||
@@ -268,12 +268,12 @@ class AnthropicLLMService(LLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", AnthropicLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", AnthropicLLMSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.max_tokens = params.max_tokens
|
default_settings.max_tokens = params.max_tokens
|
||||||
default_settings.temperature = params.temperature
|
default_settings.temperature = params.temperature
|
||||||
|
|||||||
@@ -125,7 +125,7 @@ class AssemblyAIConnectionParams(BaseModel):
|
|||||||
"""Configuration parameters for AssemblyAI WebSocket connection.
|
"""Configuration parameters for AssemblyAI WebSocket connection.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AssemblyAISTTSettings(foo=...)`` instead.
|
Use ``settings=AssemblyAISTTService.Settings(foo=...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
sample_rate: Audio sample rate in Hz. Defaults to 16000.
|
sample_rate: Audio sample rate in Hz. Defaults to 16000.
|
||||||
|
|||||||
@@ -129,7 +129,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AssemblyAISTTSettings
|
Settings = AssemblyAISTTSettings
|
||||||
_settings: AssemblyAISTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -143,7 +143,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
vad_force_turn_endpoint: bool = True,
|
vad_force_turn_endpoint: bool = True,
|
||||||
should_interrupt: bool = True,
|
should_interrupt: bool = True,
|
||||||
speaker_format: Optional[str] = None,
|
speaker_format: Optional[str] = None,
|
||||||
settings: Optional[AssemblyAISTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = ASSEMBLYAI_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = ASSEMBLYAI_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -154,7 +154,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
language: Language code for transcription. Defaults to English (Language.EN).
|
language: Language code for transcription. Defaults to English (Language.EN).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AssemblyAISTTSettings(language=...)`` instead.
|
Use ``settings=AssemblyAISTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
api_endpoint_base_url: WebSocket endpoint URL. Defaults to AssemblyAI's streaming endpoint.
|
api_endpoint_base_url: WebSocket endpoint URL. Defaults to AssemblyAI's streaming endpoint.
|
||||||
sample_rate: Audio sample rate in Hz. Defaults to 16000.
|
sample_rate: Audio sample rate in Hz. Defaults to 16000.
|
||||||
@@ -162,7 +162,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
connection_params: Connection configuration parameters.
|
connection_params: Connection configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AssemblyAISTTSettings(...)`` instead.
|
Use ``settings=AssemblyAISTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
vad_force_turn_endpoint: Controls turn detection mode.
|
vad_force_turn_endpoint: Controls turn detection mode.
|
||||||
When True (Pipecat mode, default): Forces AssemblyAI to return finals ASAP
|
When True (Pipecat mode, default): Forces AssemblyAI to return finals ASAP
|
||||||
@@ -190,7 +190,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
**kwargs: Additional arguments passed to parent STTService class.
|
**kwargs: Additional arguments passed to parent STTService class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AssemblyAISTTSettings(
|
default_settings = self.Settings(
|
||||||
model="u3-rt-pro",
|
model="u3-rt-pro",
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
formatted_finals=True,
|
formatted_finals=True,
|
||||||
@@ -208,12 +208,12 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if language is not None:
|
if language is not None:
|
||||||
_warn_deprecated_param("language", AssemblyAISTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = language
|
default_settings.language = language
|
||||||
|
|
||||||
# 3. Apply connection_params overrides (deprecated) — only if settings not provided
|
# 3. Apply connection_params overrides (deprecated) — only if settings not provided
|
||||||
if connection_params is not None:
|
if connection_params is not None:
|
||||||
_warn_deprecated_param("connection_params", AssemblyAISTTSettings)
|
_warn_deprecated_param("connection_params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
sample_rate = connection_params.sample_rate
|
sample_rate = connection_params.sample_rate
|
||||||
encoding = connection_params.encoding
|
encoding = connection_params.encoding
|
||||||
@@ -299,7 +299,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
self._user_speaking = False
|
self._user_speaking = False
|
||||||
|
|
||||||
def _configure_pipecat_turn_mode(self, settings: AssemblyAISTTSettings, is_u3_pro: bool):
|
def _configure_pipecat_turn_mode(self, settings: Settings, is_u3_pro: bool):
|
||||||
"""Configure settings for Pipecat turn detection mode.
|
"""Configure settings for Pipecat turn detection mode.
|
||||||
|
|
||||||
When vad_force_turn_endpoint is enabled, force AssemblyAI to return
|
When vad_force_turn_endpoint is enabled, force AssemblyAI to return
|
||||||
@@ -353,7 +353,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def _update_settings(self, delta: AssemblyAISTTSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply a settings delta and reconnect to apply changes.
|
"""Apply a settings delta and reconnect to apply changes.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
|||||||
@@ -86,13 +86,13 @@ class AsyncAITTSService(WebsocketTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AsyncAITTSSettings
|
Settings = AsyncAITTSSettings
|
||||||
_settings: AsyncAITTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Async TTS configuration.
|
"""Input parameters for Async TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``AsyncAITTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``AsyncAITTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language to use for synthesis.
|
language: Language to use for synthesis.
|
||||||
@@ -112,7 +112,7 @@ class AsyncAITTSService(WebsocketTTSService):
|
|||||||
encoding: str = "pcm_s16le",
|
encoding: str = "pcm_s16le",
|
||||||
container: str = "raw",
|
container: str = "raw",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[AsyncAITTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -125,14 +125,14 @@ class AsyncAITTSService(WebsocketTTSService):
|
|||||||
https://docs.async.com/list-voices-16699698e0
|
https://docs.async.com/list-voices-16699698e0
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AsyncAITTSSettings(voice=...)`` instead.
|
Use ``settings=AsyncAITTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
version: Async API version.
|
version: Async API version.
|
||||||
url: WebSocket URL for Async TTS API.
|
url: WebSocket URL for Async TTS API.
|
||||||
model: TTS model to use (e.g., "async_flash_v1.0").
|
model: TTS model to use (e.g., "async_flash_v1.0").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AsyncAITTSSettings(model=...)`` instead.
|
Use ``settings=AsyncAITTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate.
|
sample_rate: Audio sample rate.
|
||||||
encoding: Audio encoding format.
|
encoding: Audio encoding format.
|
||||||
@@ -140,7 +140,7 @@ class AsyncAITTSService(WebsocketTTSService):
|
|||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AsyncAITTSSettings(...)`` instead.
|
Use ``settings=AsyncAITTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -153,7 +153,7 @@ class AsyncAITTSService(WebsocketTTSService):
|
|||||||
**kwargs: Additional arguments passed to the parent service.
|
**kwargs: Additional arguments passed to the parent service.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AsyncAITTSSettings(
|
default_settings = self.Settings(
|
||||||
model="async_flash_v1.0",
|
model="async_flash_v1.0",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None,
|
language=None,
|
||||||
@@ -161,15 +161,15 @@ class AsyncAITTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", AsyncAITTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", AsyncAITTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", AsyncAITTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
self.language_to_service_language(params.language) if params.language else None
|
self.language_to_service_language(params.language) if params.language else None
|
||||||
@@ -487,13 +487,13 @@ class AsyncAIHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AsyncAITTSSettings
|
Settings = AsyncAITTSSettings
|
||||||
_settings: AsyncAITTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Async API.
|
"""Input parameters for Async API.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``AsyncAITTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``AsyncAIHttpTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language to use for synthesis.
|
language: Language to use for synthesis.
|
||||||
@@ -514,7 +514,7 @@ class AsyncAIHttpTTSService(TTSService):
|
|||||||
encoding: str = "pcm_s16le",
|
encoding: str = "pcm_s16le",
|
||||||
container: str = "raw",
|
container: str = "raw",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[AsyncAITTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Async TTS service.
|
"""Initialize the Async TTS service.
|
||||||
@@ -524,13 +524,13 @@ class AsyncAIHttpTTSService(TTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AsyncAITTSSettings(voice=...)`` instead.
|
Use ``settings=AsyncAIHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: An aiohttp session for making HTTP requests.
|
aiohttp_session: An aiohttp session for making HTTP requests.
|
||||||
model: TTS model to use (e.g., "async_flash_v1.0").
|
model: TTS model to use (e.g., "async_flash_v1.0").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AsyncAITTSSettings(model=...)`` instead.
|
Use ``settings=AsyncAIHttpTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
url: Base URL for Async API.
|
url: Base URL for Async API.
|
||||||
version: API version string for Async API.
|
version: API version string for Async API.
|
||||||
@@ -540,14 +540,14 @@ class AsyncAIHttpTTSService(TTSService):
|
|||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AsyncAITTSSettings(...)`` instead.
|
Use ``settings=AsyncAIHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to the parent TTSService.
|
**kwargs: Additional arguments passed to the parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AsyncAITTSSettings(
|
default_settings = self.Settings(
|
||||||
model="async_flash_v1.0",
|
model="async_flash_v1.0",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None,
|
language=None,
|
||||||
@@ -555,15 +555,15 @@ class AsyncAIHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", AsyncAITTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", AsyncAITTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", AsyncAITTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
self.language_to_service_language(params.language) if params.language else None
|
self.language_to_service_language(params.language) if params.language else None
|
||||||
|
|||||||
@@ -747,7 +747,7 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AWSBedrockLLMSettings
|
Settings = AWSBedrockLLMSettings
|
||||||
_settings: AWSBedrockLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Overriding the default adapter to use the Anthropic one.
|
# Overriding the default adapter to use the Anthropic one.
|
||||||
adapter_class = AWSBedrockLLMAdapter
|
adapter_class = AWSBedrockLLMAdapter
|
||||||
@@ -756,7 +756,7 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
"""Input parameters for AWS Bedrock LLM service.
|
"""Input parameters for AWS Bedrock LLM service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``AWSBedrockLLMSettings`` instead. Pass settings directly via the
|
Use ``AWSBedrockLLMService.Settings`` instead. Pass settings directly via the
|
||||||
``settings`` parameter of :class:`AWSBedrockLLMService`.
|
``settings`` parameter of :class:`AWSBedrockLLMService`.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
@@ -784,7 +784,7 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
aws_session_token: Optional[str] = None,
|
aws_session_token: Optional[str] = None,
|
||||||
aws_region: Optional[str] = None,
|
aws_region: Optional[str] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[AWSBedrockLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
stop_sequences: Optional[List[str]] = None,
|
stop_sequences: Optional[List[str]] = None,
|
||||||
client_config: Optional[Config] = None,
|
client_config: Optional[Config] = None,
|
||||||
retry_timeout_secs: Optional[float] = 5.0,
|
retry_timeout_secs: Optional[float] = 5.0,
|
||||||
@@ -797,7 +797,7 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
model: The AWS Bedrock model identifier to use.
|
model: The AWS Bedrock model identifier to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSBedrockLLMSettings(model=...)`` instead.
|
Use ``settings=AWSBedrockLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
aws_access_key: AWS access key ID. If None, uses default credentials.
|
aws_access_key: AWS access key ID. If None, uses default credentials.
|
||||||
aws_secret_key: AWS secret access key. If None, uses default credentials.
|
aws_secret_key: AWS secret access key. If None, uses default credentials.
|
||||||
@@ -806,7 +806,7 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
params: Model parameters and configuration.
|
params: Model parameters and configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSBedrockLLMSettings(...)`` instead.
|
Use ``settings=AWSBedrockLLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings for this service. When both
|
settings: Runtime-updatable settings for this service. When both
|
||||||
deprecated parameters and *settings* are provided, *settings*
|
deprecated parameters and *settings* are provided, *settings*
|
||||||
@@ -814,7 +814,7 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
stop_sequences: List of strings that stop generation.
|
stop_sequences: List of strings that stop generation.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSBedrockLLMSettings(stop_sequences=...)`` instead.
|
Use ``settings=AWSBedrockLLMService.Settings(stop_sequences=...)`` instead.
|
||||||
|
|
||||||
client_config: Custom boto3 client configuration.
|
client_config: Custom boto3 client configuration.
|
||||||
retry_timeout_secs: Request timeout in seconds for retry logic.
|
retry_timeout_secs: Request timeout in seconds for retry logic.
|
||||||
@@ -822,7 +822,7 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
**kwargs: Additional arguments passed to parent LLMService.
|
**kwargs: Additional arguments passed to parent LLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AWSBedrockLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="us.amazon.nova-lite-v1:0",
|
model="us.amazon.nova-lite-v1:0",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
max_tokens=None,
|
max_tokens=None,
|
||||||
@@ -841,15 +841,15 @@ class AWSBedrockLLMService(LLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", AWSBedrockLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if stop_sequences is not None:
|
if stop_sequences is not None:
|
||||||
_warn_deprecated_param("stop_sequences", AWSBedrockLLMSettings, "stop_sequences")
|
_warn_deprecated_param("stop_sequences", self.Settings, "stop_sequences")
|
||||||
default_settings.stop_sequences = stop_sequences
|
default_settings.stop_sequences = stop_sequences
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", AWSBedrockLLMSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.max_tokens = params.max_tokens
|
default_settings.max_tokens = params.max_tokens
|
||||||
default_settings.temperature = params.temperature
|
default_settings.temperature = params.temperature
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ class Params(BaseModel):
|
|||||||
"""Configuration parameters for AWS Nova Sonic.
|
"""Configuration parameters for AWS Nova Sonic.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSNovaSonicLLMSettings(...)`` for inference settings
|
Use ``settings=AWSNovaSonicLLMService.Settings(...)`` for inference settings
|
||||||
and ``audio_config=AudioConfig(...)`` for audio configuration.
|
and ``audio_config=AudioConfig(...)`` for audio configuration.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
@@ -247,7 +247,7 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AWSNovaSonicLLMSettings
|
Settings = AWSNovaSonicLLMSettings
|
||||||
_settings: AWSNovaSonicLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Override the default adapter to use the AWSNovaSonicLLMAdapter one
|
# Override the default adapter to use the AWSNovaSonicLLMAdapter one
|
||||||
adapter_class = AWSNovaSonicLLMAdapter
|
adapter_class = AWSNovaSonicLLMAdapter
|
||||||
@@ -263,7 +263,7 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
voice_id: str = "matthew",
|
voice_id: str = "matthew",
|
||||||
params: Optional[Params] = None,
|
params: Optional[Params] = None,
|
||||||
audio_config: Optional[AudioConfig] = None,
|
audio_config: Optional[AudioConfig] = None,
|
||||||
settings: Optional[AWSNovaSonicLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
system_instruction: Optional[str] = None,
|
system_instruction: Optional[str] = None,
|
||||||
tools: Optional[ToolsSchema] = None,
|
tools: Optional[ToolsSchema] = None,
|
||||||
send_transcription_frames: bool = True,
|
send_transcription_frames: bool = True,
|
||||||
@@ -282,7 +282,7 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
model: Model identifier. Defaults to "amazon.nova-2-sonic-v1:0".
|
model: Model identifier. Defaults to "amazon.nova-2-sonic-v1:0".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSNovaSonicLLMSettings(model=...)`` instead.
|
Use ``settings=AWSNovaSonicLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
voice_id: Voice ID for speech synthesis.
|
voice_id: Voice ID for speech synthesis.
|
||||||
Note that some voices are designed for use with a specific language.
|
Note that some voices are designed for use with a specific language.
|
||||||
@@ -291,12 +291,12 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
- Nova Sonic (the older model): see https://docs.aws.amazon.com/nova/latest/userguide/available-voices.html.
|
- Nova Sonic (the older model): see https://docs.aws.amazon.com/nova/latest/userguide/available-voices.html.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSNovaSonicLLMSettings(voice=...)`` instead.
|
Use ``settings=AWSNovaSonicLLMService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
params: Model parameters for audio configuration and inference.
|
params: Model parameters for audio configuration and inference.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSNovaSonicLLMSettings(...)`` for inference
|
Use ``settings=AWSNovaSonicLLMService.Settings(...)`` for inference
|
||||||
settings and ``audio_config=AudioConfig(...)`` for audio
|
settings and ``audio_config=AudioConfig(...)`` for audio
|
||||||
configuration.
|
configuration.
|
||||||
|
|
||||||
@@ -308,7 +308,7 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
system_instruction: System-level instruction for the model.
|
system_instruction: System-level instruction for the model.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSNovaSonicLLMSettings(system_instruction=...)`` instead.
|
Use ``settings=AWSNovaSonicLLMService.Settings(system_instruction=...)`` instead.
|
||||||
tools: Available tools/functions for the model to use.
|
tools: Available tools/functions for the model to use.
|
||||||
send_transcription_frames: Whether to emit transcription frames.
|
send_transcription_frames: Whether to emit transcription frames.
|
||||||
|
|
||||||
@@ -319,7 +319,7 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
**kwargs: Additional arguments passed to the parent LLMService.
|
**kwargs: Additional arguments passed to the parent LLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AWSNovaSonicLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="amazon.nova-2-sonic-v1:0",
|
model="amazon.nova-2-sonic-v1:0",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
voice="matthew",
|
voice="matthew",
|
||||||
@@ -337,15 +337,13 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model != "amazon.nova-2-sonic-v1:0":
|
if model != "amazon.nova-2-sonic-v1:0":
|
||||||
_warn_deprecated_param("model", AWSNovaSonicLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id != "matthew":
|
if voice_id != "matthew":
|
||||||
_warn_deprecated_param("voice_id", AWSNovaSonicLLMSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if system_instruction is not None:
|
if system_instruction is not None:
|
||||||
_warn_deprecated_param(
|
_warn_deprecated_param("system_instruction", self.Settings, "system_instruction")
|
||||||
"system_instruction", AWSNovaSonicLLMSettings, "system_instruction"
|
|
||||||
)
|
|
||||||
default_settings.system_instruction = system_instruction
|
default_settings.system_instruction = system_instruction
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
@@ -356,7 +354,7 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"The `params` parameter is deprecated. "
|
"The `params` parameter is deprecated. "
|
||||||
"Use `settings=AWSNovaSonicLLMSettings(...)` for inference settings "
|
"Use `settings=self.Settings(...)` for inference settings "
|
||||||
"(temperature, max_tokens, top_p, endpointing_sensitivity) "
|
"(temperature, max_tokens, top_p, endpointing_sensitivity) "
|
||||||
"and `audio_config=AudioConfig(...)` for audio configuration "
|
"and `audio_config=AudioConfig(...)` for audio configuration "
|
||||||
"(sample rates, sample sizes, channel counts).",
|
"(sample rates, sample sizes, channel counts).",
|
||||||
@@ -447,7 +445,7 @@ class AWSNovaSonicLLMService(LLMService):
|
|||||||
# settings
|
# settings
|
||||||
#
|
#
|
||||||
|
|
||||||
async def _update_settings(self, delta: AWSNovaSonicLLMSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply a settings delta.
|
"""Apply a settings delta.
|
||||||
|
|
||||||
Settings are stored but not applied to the active connection.
|
Settings are stored but not applied to the active connection.
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ class AWSTranscribeSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AWSTranscribeSTTSettings
|
Settings = AWSTranscribeSTTSettings
|
||||||
_settings: AWSTranscribeSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -72,7 +72,7 @@ class AWSTranscribeSTTService(WebsocketSTTService):
|
|||||||
region: Optional[str] = None,
|
region: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
language: Optional[Language] = None,
|
language: Optional[Language] = None,
|
||||||
settings: Optional[AWSTranscribeSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = AWS_TRANSCRIBE_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = AWS_TRANSCRIBE_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -89,7 +89,7 @@ class AWSTranscribeSTTService(WebsocketSTTService):
|
|||||||
language: Language for transcription.
|
language: Language for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSTranscribeSTTSettings(language=...)`` instead.
|
Use ``settings=AWSTranscribeSTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -98,14 +98,14 @@ class AWSTranscribeSTTService(WebsocketSTTService):
|
|||||||
**kwargs: Additional arguments passed to parent STTService class.
|
**kwargs: Additional arguments passed to parent STTService class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AWSTranscribeSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
language=self.language_to_service_language(Language.EN),
|
language=self.language_to_service_language(Language.EN),
|
||||||
)
|
)
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if language is not None:
|
if language is not None:
|
||||||
_warn_deprecated_param("language", AWSTranscribeSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = self.language_to_service_language(language)
|
default_settings.language = self.language_to_service_language(language)
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -149,13 +149,13 @@ class AWSPollyTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AWSPollyTTSSettings
|
Settings = AWSPollyTTSSettings
|
||||||
_settings: AWSPollyTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for AWS Polly TTS configuration.
|
"""Input parameters for AWS Polly TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``AWSPollyTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``AWSPollyTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
engine: TTS engine to use ('standard', 'neural', etc.).
|
engine: TTS engine to use ('standard', 'neural', etc.).
|
||||||
@@ -183,7 +183,7 @@ class AWSPollyTTSService(TTSService):
|
|||||||
voice_id: Optional[str] = None,
|
voice_id: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[AWSPollyTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initializes the AWS Polly TTS service.
|
"""Initializes the AWS Polly TTS service.
|
||||||
@@ -196,20 +196,20 @@ class AWSPollyTTSService(TTSService):
|
|||||||
voice_id: Voice ID to use for synthesis. Defaults to 'Joanna'.
|
voice_id: Voice ID to use for synthesis. Defaults to 'Joanna'.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSPollyTTSSettings(voice=...)`` instead.
|
Use ``settings=AWSPollyTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate. If None, uses service default.
|
sample_rate: Audio sample rate. If None, uses service default.
|
||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AWSPollyTTSSettings(...)`` instead.
|
Use ``settings=AWSPollyTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService class.
|
**kwargs: Additional arguments passed to parent TTSService class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AWSPollyTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="Joanna",
|
voice="Joanna",
|
||||||
language="en-US",
|
language="en-US",
|
||||||
@@ -222,12 +222,12 @@ class AWSPollyTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", AWSPollyTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", AWSPollyTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.engine = params.engine
|
default_settings.engine = params.engine
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ class AzureImageGenServiceREST(ImageGenService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AzureImageGenSettings
|
Settings = AzureImageGenSettings
|
||||||
_settings: AzureImageGenSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -55,7 +55,7 @@ class AzureImageGenServiceREST(ImageGenService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
aiohttp_session: aiohttp.ClientSession,
|
aiohttp_session: aiohttp.ClientSession,
|
||||||
api_version="2023-06-01-preview",
|
api_version="2023-06-01-preview",
|
||||||
settings: Optional[AzureImageGenSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
):
|
):
|
||||||
"""Initialize the AzureImageGenServiceREST.
|
"""Initialize the AzureImageGenServiceREST.
|
||||||
|
|
||||||
@@ -63,14 +63,14 @@ class AzureImageGenServiceREST(ImageGenService):
|
|||||||
image_size: Size specification for generated images (e.g., "1024x1024").
|
image_size: Size specification for generated images (e.g., "1024x1024").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureImageGenSettings(image_size=...)`` instead.
|
Use ``settings=AzureImageGenServiceREST.Settings(image_size=...)`` instead.
|
||||||
|
|
||||||
api_key: Azure OpenAI API key for authentication.
|
api_key: Azure OpenAI API key for authentication.
|
||||||
endpoint: Azure OpenAI endpoint URL.
|
endpoint: Azure OpenAI endpoint URL.
|
||||||
model: The image generation model to use.
|
model: The image generation model to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureImageGenSettings(model=...)`` instead.
|
Use ``settings=AzureImageGenServiceREST.Settings(model=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: Shared aiohttp session for HTTP requests.
|
aiohttp_session: Shared aiohttp session for HTTP requests.
|
||||||
api_version: Azure API version string. Defaults to "2023-06-01-preview".
|
api_version: Azure API version string. Defaults to "2023-06-01-preview".
|
||||||
@@ -78,18 +78,18 @@ class AzureImageGenServiceREST(ImageGenService):
|
|||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AzureImageGenSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
image_size=None,
|
image_size=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", AzureImageGenSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
if image_size is not None:
|
if image_size is not None:
|
||||||
_warn_deprecated_param("image_size", AzureImageGenSettings, "image_size")
|
_warn_deprecated_param("image_size", self.Settings, "image_size")
|
||||||
default_settings.image_size = image_size
|
default_settings.image_size = image_size
|
||||||
|
|
||||||
# 4. Apply settings delta (canonical API, always wins)
|
# 4. Apply settings delta (canonical API, always wins)
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ from typing import Optional
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
from openai import AsyncAzureOpenAI
|
from openai import AsyncAzureOpenAI
|
||||||
|
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class AzureLLMSettings(OpenAILLMSettings):
|
class AzureLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for AzureLLMService."""
|
"""Settings for AzureLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -40,7 +40,7 @@ class AzureLLMService(OpenAILLMService):
|
|||||||
endpoint: str,
|
endpoint: str,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
api_version: str = "2024-09-01-preview",
|
api_version: str = "2024-09-01-preview",
|
||||||
settings: Optional[AzureLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Azure LLM service.
|
"""Initialize the Azure LLM service.
|
||||||
@@ -51,7 +51,7 @@ class AzureLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "gpt-4o".
|
model: The model identifier to use. Defaults to "gpt-4o".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=AzureLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
api_version: Azure API version. Defaults to "2024-09-01-preview".
|
api_version: Azure API version. Defaults to "2024-09-01-preview".
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -59,11 +59,11 @@ class AzureLLMService(OpenAILLMService):
|
|||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AzureLLMSettings(model="gpt-4o")
|
default_settings = self.Settings(model="gpt-4o")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", AzureLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ from dataclasses import dataclass
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.services.openai.realtime.llm import OpenAIRealtimeLLMService, OpenAIRealtimeLLMSettings
|
from pipecat.services.openai.realtime.llm import OpenAIRealtimeLLMService
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from websockets.asyncio.client import connect as websocket_connect
|
from websockets.asyncio.client import connect as websocket_connect
|
||||||
@@ -21,7 +21,7 @@ except ModuleNotFoundError as e:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class AzureRealtimeLLMSettings(OpenAIRealtimeLLMSettings):
|
class AzureRealtimeLLMSettings(OpenAIRealtimeLLMService.Settings):
|
||||||
"""Settings for AzureRealtimeLLMService."""
|
"""Settings for AzureRealtimeLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -36,7 +36,7 @@ class AzureRealtimeLLMService(OpenAIRealtimeLLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AzureRealtimeLLMSettings
|
Settings = AzureRealtimeLLMSettings
|
||||||
_settings: AzureRealtimeLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ class AzureSTTService(STTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AzureSTTSettings
|
Settings = AzureSTTSettings
|
||||||
_settings: AzureSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -78,7 +78,7 @@ class AzureSTTService(STTService):
|
|||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
private_endpoint: Optional[str] = None,
|
private_endpoint: Optional[str] = None,
|
||||||
endpoint_id: Optional[str] = None,
|
endpoint_id: Optional[str] = None,
|
||||||
settings: Optional[AzureSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = AZURE_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = AZURE_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -91,7 +91,7 @@ class AzureSTTService(STTService):
|
|||||||
language: Language for speech recognition. Defaults to English (US).
|
language: Language for speech recognition. Defaults to English (US).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureSTTSettings(language=...)`` instead.
|
Use ``settings=AzureSTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
||||||
private_endpoint: Private endpoint for STT behind firewall.
|
private_endpoint: Private endpoint for STT behind firewall.
|
||||||
@@ -104,14 +104,14 @@ class AzureSTTService(STTService):
|
|||||||
**kwargs: Additional arguments passed to parent STTService.
|
**kwargs: Additional arguments passed to parent STTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AzureSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
language=language_to_azure_language(Language.EN_US),
|
language=language_to_azure_language(Language.EN_US),
|
||||||
)
|
)
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if language is not None and language != Language.EN_US:
|
if language is not None and language != Language.EN_US:
|
||||||
_warn_deprecated_param("language", AzureSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = language_to_azure_language(language)
|
default_settings.language = language_to_azure_language(language)
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -97,7 +97,8 @@ class AzureBaseTTSService:
|
|||||||
This is a mixin class and should be used alongside TTSService or its subclasses.
|
This is a mixin class and should be used alongside TTSService or its subclasses.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
_settings: AzureTTSSettings
|
Settings = AzureTTSSettings
|
||||||
|
_settings: Settings
|
||||||
|
|
||||||
# Define SSML escape mappings based on SSML reserved characters
|
# Define SSML escape mappings based on SSML reserved characters
|
||||||
# See - https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup-structure
|
# See - https://learn.microsoft.com/en-us/azure/ai-services/speech-service/speech-synthesis-markup-structure
|
||||||
@@ -113,7 +114,7 @@ class AzureBaseTTSService:
|
|||||||
"""Input parameters for Azure TTS voice configuration.
|
"""Input parameters for Azure TTS voice configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureTTSSettings(...)`` instead.
|
Use ``settings=AzureBaseTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
emphasis: Emphasis level for speech ("strong", "moderate", "reduced").
|
emphasis: Emphasis level for speech ("strong", "moderate", "reduced").
|
||||||
@@ -256,7 +257,7 @@ class AzureTTSService(TTSService, AzureBaseTTSService):
|
|||||||
voice: Optional[str] = None,
|
voice: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[AzureBaseTTSService.InputParams] = None,
|
params: Optional[AzureBaseTTSService.InputParams] = None,
|
||||||
settings: Optional[AzureTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -269,13 +270,13 @@ class AzureTTSService(TTSService, AzureBaseTTSService):
|
|||||||
voice: Voice name to use for synthesis.
|
voice: Voice name to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureTTSSettings(voice=...)`` instead.
|
Use ``settings=AzureTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
||||||
params: Voice and synthesis parameters configuration.
|
params: Voice and synthesis parameters configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureTTSSettings(...)`` instead.
|
Use ``settings=AzureTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -288,7 +289,7 @@ class AzureTTSService(TTSService, AzureBaseTTSService):
|
|||||||
**kwargs: Additional arguments passed to parent WordTTSService.
|
**kwargs: Additional arguments passed to parent WordTTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AzureTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="en-US-SaraNeural",
|
voice="en-US-SaraNeural",
|
||||||
language="en-US",
|
language="en-US",
|
||||||
@@ -303,12 +304,12 @@ class AzureTTSService(TTSService, AzureBaseTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice is not None:
|
if voice is not None:
|
||||||
_warn_deprecated_param("voice", AzureTTSSettings, "voice")
|
_warn_deprecated_param("voice", self.Settings, "voice")
|
||||||
default_settings.voice = voice
|
default_settings.voice = voice
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", AzureTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.emphasis = params.emphasis
|
default_settings.emphasis = params.emphasis
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
@@ -761,7 +762,7 @@ class AzureHttpTTSService(TTSService, AzureBaseTTSService):
|
|||||||
voice: Optional[str] = None,
|
voice: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[AzureBaseTTSService.InputParams] = None,
|
params: Optional[AzureBaseTTSService.InputParams] = None,
|
||||||
settings: Optional[AzureTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Azure HTTP TTS service.
|
"""Initialize the Azure HTTP TTS service.
|
||||||
@@ -772,20 +773,20 @@ class AzureHttpTTSService(TTSService, AzureBaseTTSService):
|
|||||||
voice: Voice name to use for synthesis.
|
voice: Voice name to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureTTSSettings(voice=...)`` instead.
|
Use ``settings=AzureHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
||||||
params: Voice and synthesis parameters configuration.
|
params: Voice and synthesis parameters configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=AzureTTSSettings(...)`` instead.
|
Use ``settings=AzureHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = AzureTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="en-US-SaraNeural",
|
voice="en-US-SaraNeural",
|
||||||
language="en-US",
|
language="en-US",
|
||||||
@@ -800,12 +801,12 @@ class AzureHttpTTSService(TTSService, AzureBaseTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice is not None:
|
if voice is not None:
|
||||||
_warn_deprecated_param("voice", AzureTTSSettings, "voice")
|
_warn_deprecated_param("voice", self.Settings, "voice")
|
||||||
default_settings.voice = voice
|
default_settings.voice = voice
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", AzureTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.emphasis = params.emphasis
|
default_settings.emphasis = params.emphasis
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
|
|||||||
@@ -176,13 +176,13 @@ class CambTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = CambTTSSettings
|
Settings = CambTTSSettings
|
||||||
_settings: CambTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Camb.ai TTS configuration.
|
"""Input parameters for Camb.ai TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CambTTSSettings(...)`` instead.
|
Use ``settings=CambTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis (BCP-47 format). Defaults to English.
|
language: Language for synthesis (BCP-47 format). Defaults to English.
|
||||||
@@ -207,7 +207,7 @@ class CambTTSService(TTSService):
|
|||||||
timeout: float = 60.0,
|
timeout: float = 60.0,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[CambTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Camb.ai TTS service.
|
"""Initialize the Camb.ai TTS service.
|
||||||
@@ -217,12 +217,12 @@ class CambTTSService(TTSService):
|
|||||||
voice_id: Voice ID to use.
|
voice_id: Voice ID to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CambTTSSettings(voice=...)`` instead.
|
Use ``settings=CambTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: TTS model to use. Options: "mars-flash" (fast), "mars-pro" (high quality).
|
model: TTS model to use. Options: "mars-flash" (fast), "mars-pro" (high quality).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CambTTSSettings(model=...)`` instead.
|
Use ``settings=CambTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
timeout: Request timeout in seconds. Defaults to 60.0 (minimum recommended
|
timeout: Request timeout in seconds. Defaults to 60.0 (minimum recommended
|
||||||
by Camb.ai).
|
by Camb.ai).
|
||||||
@@ -230,14 +230,14 @@ class CambTTSService(TTSService):
|
|||||||
params: Additional voice parameters. If None, uses defaults.
|
params: Additional voice parameters. If None, uses defaults.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CambTTSSettings(...)`` instead.
|
Use ``settings=CambTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = CambTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="mars-flash",
|
model="mars-flash",
|
||||||
voice=147320,
|
voice=147320,
|
||||||
language="en-us",
|
language="en-us",
|
||||||
@@ -246,15 +246,15 @@ class CambTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", CambTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", CambTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", CambTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ class CartesiaLiveOptions:
|
|||||||
"""Configuration options for Cartesia Live STT service.
|
"""Configuration options for Cartesia Live STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaSTTSettings(...)`` for model/language and
|
Use ``settings=CartesiaSTTService.Settings(...)`` for model/language and
|
||||||
direct ``__init__`` parameters for encoding/sample_rate instead.
|
direct ``__init__`` parameters for encoding/sample_rate instead.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ class CartesiaSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = CartesiaSTTSettings
|
Settings = CartesiaSTTSettings
|
||||||
_settings: CartesiaSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -157,7 +157,7 @@ class CartesiaSTTService(WebsocketSTTService):
|
|||||||
encoding: str = "pcm_s16le",
|
encoding: str = "pcm_s16le",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
live_options: Optional[CartesiaLiveOptions] = None,
|
live_options: Optional[CartesiaLiveOptions] = None,
|
||||||
settings: Optional[CartesiaSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = CARTESIA_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = CARTESIA_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -172,7 +172,7 @@ class CartesiaSTTService(WebsocketSTTService):
|
|||||||
live_options: Configuration options for transcription service.
|
live_options: Configuration options for transcription service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaSTTSettings(...)`` for model/language
|
Use ``settings=CartesiaSTTService.Settings(...)`` for model/language
|
||||||
and direct init parameters for encoding/sample_rate instead.
|
and direct init parameters for encoding/sample_rate instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -182,14 +182,14 @@ class CartesiaSTTService(WebsocketSTTService):
|
|||||||
**kwargs: Additional arguments passed to parent STTService.
|
**kwargs: Additional arguments passed to parent STTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = CartesiaSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="ink-whisper",
|
model="ink-whisper",
|
||||||
language=Language.EN.value,
|
language=Language.EN.value,
|
||||||
)
|
)
|
||||||
|
|
||||||
# 2. Apply live_options overrides — only if settings not provided
|
# 2. Apply live_options overrides — only if settings not provided
|
||||||
if live_options is not None:
|
if live_options is not None:
|
||||||
_warn_deprecated_param("live_options", CartesiaSTTSettings)
|
_warn_deprecated_param("live_options", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if live_options.sample_rate and sample_rate is None:
|
if live_options.sample_rate and sample_rate is None:
|
||||||
sample_rate = live_options.sample_rate
|
sample_rate = live_options.sample_rate
|
||||||
@@ -313,7 +313,7 @@ class CartesiaSTTService(WebsocketSTTService):
|
|||||||
"""Apply a settings delta.
|
"""Apply a settings delta.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`STTSettings` (or ``CartesiaSTTSettings``) delta.
|
delta: A :class:`STTSettings` (or ``CartesiaSTTService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ class CartesiaTTSService(WebsocketTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = CartesiaTTSSettings
|
Settings = CartesiaTTSSettings
|
||||||
_settings: CartesiaTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Cartesia TTS configuration.
|
"""Input parameters for Cartesia TTS configuration.
|
||||||
@@ -239,7 +239,7 @@ class CartesiaTTSService(WebsocketTTSService):
|
|||||||
encoding: str = "pcm_s16le",
|
encoding: str = "pcm_s16le",
|
||||||
container: str = "raw",
|
container: str = "raw",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[CartesiaTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
text_aggregator: Optional[BaseTextAggregator] = None,
|
text_aggregator: Optional[BaseTextAggregator] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
@@ -252,14 +252,14 @@ class CartesiaTTSService(WebsocketTTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaTTSSettings(voice=...)`` instead.
|
Use ``settings=CartesiaTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
cartesia_version: API version string for Cartesia service.
|
cartesia_version: API version string for Cartesia service.
|
||||||
url: WebSocket URL for Cartesia TTS API.
|
url: WebSocket URL for Cartesia TTS API.
|
||||||
model: TTS model to use (e.g., "sonic-3").
|
model: TTS model to use (e.g., "sonic-3").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaTTSSettings(model=...)`` instead.
|
Use ``settings=CartesiaTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate. If None, uses default.
|
sample_rate: Audio sample rate. If None, uses default.
|
||||||
encoding: Audio encoding format.
|
encoding: Audio encoding format.
|
||||||
@@ -267,7 +267,7 @@ class CartesiaTTSService(WebsocketTTSService):
|
|||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaTTSSettings(...)`` instead.
|
Use ``settings=CartesiaTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -299,7 +299,7 @@ class CartesiaTTSService(WebsocketTTSService):
|
|||||||
# playout timing of the audio!
|
# playout timing of the audio!
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = CartesiaTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="sonic-3",
|
model="sonic-3",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=language_to_cartesia_language(Language.EN),
|
language=language_to_cartesia_language(Language.EN),
|
||||||
@@ -309,15 +309,15 @@ class CartesiaTTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", CartesiaTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", CartesiaTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", CartesiaTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
@@ -683,7 +683,7 @@ class CartesiaHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = CartesiaTTSSettings
|
Settings = CartesiaTTSSettings
|
||||||
_settings: CartesiaTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Cartesia HTTP TTS configuration.
|
"""Input parameters for Cartesia HTTP TTS configuration.
|
||||||
@@ -712,7 +712,7 @@ class CartesiaHttpTTSService(TTSService):
|
|||||||
encoding: str = "pcm_s16le",
|
encoding: str = "pcm_s16le",
|
||||||
container: str = "raw",
|
container: str = "raw",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[CartesiaTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Cartesia HTTP TTS service.
|
"""Initialize the Cartesia HTTP TTS service.
|
||||||
@@ -722,12 +722,12 @@ class CartesiaHttpTTSService(TTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaTTSSettings(voice=...)`` instead.
|
Use ``settings=CartesiaHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: TTS model to use (e.g., "sonic-3").
|
model: TTS model to use (e.g., "sonic-3").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaTTSSettings(model=...)`` instead.
|
Use ``settings=CartesiaHttpTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: Base URL for Cartesia HTTP API.
|
base_url: Base URL for Cartesia HTTP API.
|
||||||
cartesia_version: API version string for Cartesia service.
|
cartesia_version: API version string for Cartesia service.
|
||||||
@@ -739,14 +739,14 @@ class CartesiaHttpTTSService(TTSService):
|
|||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=CartesiaTTSSettings(...)`` instead.
|
Use ``settings=CartesiaHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to the parent TTSService.
|
**kwargs: Additional arguments passed to the parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = CartesiaTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="sonic-3",
|
model="sonic-3",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=language_to_cartesia_language(Language.EN),
|
language=language_to_cartesia_language(Language.EN),
|
||||||
@@ -756,15 +756,15 @@ class CartesiaHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", CartesiaTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", CartesiaTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", CartesiaTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ from typing import Optional
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class CerebrasLLMSettings(OpenAILLMSettings):
|
class CerebrasLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for CerebrasLLMService."""
|
"""Settings for CerebrasLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -32,7 +32,7 @@ class CerebrasLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = CerebrasLLMSettings
|
Settings = CerebrasLLMSettings
|
||||||
_settings: CerebrasLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -40,7 +40,7 @@ class CerebrasLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://api.cerebras.ai/v1",
|
base_url: str = "https://api.cerebras.ai/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[CerebrasLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Cerebras LLM service.
|
"""Initialize the Cerebras LLM service.
|
||||||
@@ -51,18 +51,18 @@ class CerebrasLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "gpt-oss-120b".
|
model: The model identifier to use. Defaults to "gpt-oss-120b".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=CerebrasLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = CerebrasLLMSettings(model="gpt-oss-120b")
|
default_settings = self.Settings(model="gpt-oss-120b")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", CerebrasLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -116,14 +116,14 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = DeepgramFluxSTTSettings
|
Settings = DeepgramFluxSTTSettings
|
||||||
_settings: DeepgramFluxSTTSettings
|
_settings: Settings
|
||||||
_CONFIGURE_FIELDS = {"keyterm", "eot_threshold", "eager_eot_threshold", "eot_timeout_ms"}
|
_CONFIGURE_FIELDS = {"keyterm", "eot_threshold", "eager_eot_threshold", "eot_timeout_ms"}
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Deepgram Flux API.
|
"""Configuration parameters for Deepgram Flux API.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramFluxSTTSettings(...)`` instead.
|
Use ``settings=DeepgramFluxSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
eager_eot_threshold: Optional. EagerEndOfTurn/TurnResumed are off by default.
|
eager_eot_threshold: Optional. EagerEndOfTurn/TurnResumed are off by default.
|
||||||
@@ -162,7 +162,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
tag: Optional[list] = None,
|
tag: Optional[list] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
should_interrupt: bool = True,
|
should_interrupt: bool = True,
|
||||||
settings: Optional[DeepgramFluxSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Deepgram Flux STT service.
|
"""Initialize the Deepgram Flux STT service.
|
||||||
@@ -176,7 +176,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
model: Deepgram Flux model to use for transcription.
|
model: Deepgram Flux model to use for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramFluxSTTSettings(model=...)`` instead.
|
Use ``settings=DeepgramFluxSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
flux_encoding: Audio encoding format required by Flux API. Must be "linear16".
|
flux_encoding: Audio encoding format required by Flux API. Must be "linear16".
|
||||||
Raw signed little-endian 16-bit PCM encoding.
|
Raw signed little-endian 16-bit PCM encoding.
|
||||||
@@ -184,7 +184,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
params: InputParams instance containing detailed API configuration options.
|
params: InputParams instance containing detailed API configuration options.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramFluxSTTSettings(...)`` instead.
|
Use ``settings=DeepgramFluxSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
should_interrupt: Determine whether the bot should be interrupted when Flux detects that the user is speaking.
|
should_interrupt: Determine whether the bot should be interrupted when Flux detects that the user is speaking.
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -200,7 +200,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
stt = DeepgramFluxSTTService(
|
stt = DeepgramFluxSTTService(
|
||||||
api_key="your-api-key",
|
api_key="your-api-key",
|
||||||
settings=DeepgramFluxSTTSettings(
|
settings=DeepgramFluxSTTService.Settings(
|
||||||
model="flux-general-en",
|
model="flux-general-en",
|
||||||
eager_eot_threshold=0.5,
|
eager_eot_threshold=0.5,
|
||||||
eot_threshold=0.8,
|
eot_threshold=0.8,
|
||||||
@@ -221,7 +221,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
# already try to reconnect if needed.
|
# already try to reconnect if needed.
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = DeepgramFluxSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="flux-general-en",
|
model="flux-general-en",
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
eager_eot_threshold=None,
|
eager_eot_threshold=None,
|
||||||
@@ -233,12 +233,12 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", DeepgramFluxSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", DeepgramFluxSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.eager_eot_threshold = params.eager_eot_threshold
|
default_settings.eager_eot_threshold = params.eager_eot_threshold
|
||||||
default_settings.eot_threshold = params.eot_threshold
|
default_settings.eot_threshold = params.eot_threshold
|
||||||
@@ -448,7 +448,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def _update_settings(self, delta: DeepgramFluxSTTSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply a settings delta.
|
"""Apply a settings delta.
|
||||||
|
|
||||||
Configure-able fields (keyterm, eot_threshold, eager_eot_threshold,
|
Configure-able fields (keyterm, eot_threshold, eager_eot_threshold,
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ from pipecat.frames.frames import (
|
|||||||
)
|
)
|
||||||
from pipecat.processors.frame_processor import FrameDirection
|
from pipecat.processors.frame_processor import FrameDirection
|
||||||
from pipecat.services.aws.sagemaker.bidi_client import SageMakerBidiClient
|
from pipecat.services.aws.sagemaker.bidi_client import SageMakerBidiClient
|
||||||
from pipecat.services.deepgram.stt import DeepgramSTTSettings, LiveOptions
|
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, _warn_deprecated_param, is_given
|
||||||
from pipecat.services.stt_latency import DEEPGRAM_SAGEMAKER_TTFS_P99
|
from pipecat.services.stt_latency import DEEPGRAM_SAGEMAKER_TTFS_P99
|
||||||
from pipecat.services.stt_service import STTService
|
from pipecat.services.stt_service import STTService
|
||||||
@@ -42,10 +42,10 @@ from pipecat.utils.tracing.service_decorators import traced_stt
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class DeepgramSageMakerSTTSettings(DeepgramSTTSettings):
|
class DeepgramSageMakerSTTSettings(DeepgramSTTService.Settings):
|
||||||
"""Settings for the Deepgram SageMaker STT service.
|
"""Settings for the Deepgram SageMaker STT service.
|
||||||
|
|
||||||
Inherits all fields from :class:`DeepgramSTTSettings`.
|
Inherits all fields from :class:`DeepgramSTTService.Settings`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -79,7 +79,7 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = DeepgramSageMakerSTTSettings
|
Settings = DeepgramSageMakerSTTSettings
|
||||||
_settings: DeepgramSageMakerSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -92,7 +92,7 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
mip_opt_out: Optional[bool] = None,
|
mip_opt_out: Optional[bool] = None,
|
||||||
live_options: Optional[LiveOptions] = None,
|
live_options: Optional[LiveOptions] = None,
|
||||||
settings: Optional[DeepgramSageMakerSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = DEEPGRAM_SAGEMAKER_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = DEEPGRAM_SAGEMAKER_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -112,7 +112,7 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
live_options: Legacy configuration options.
|
live_options: Legacy configuration options.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramSageMakerSTTSettings(...)`` for
|
Use ``settings=DeepgramSageMakerSTTService.Settings(...)`` for
|
||||||
runtime-updatable fields and direct init parameters for
|
runtime-updatable fields and direct init parameters for
|
||||||
connection-level config.
|
connection-level config.
|
||||||
|
|
||||||
@@ -124,7 +124,7 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
**kwargs: Additional arguments passed to the parent STTService.
|
**kwargs: Additional arguments passed to the parent STTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = DeepgramSageMakerSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="nova-3",
|
model="nova-3",
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
detect_entities=False,
|
detect_entities=False,
|
||||||
@@ -147,7 +147,7 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
|
|
||||||
# 2. Apply live_options overrides — only if settings not provided
|
# 2. Apply live_options overrides — only if settings not provided
|
||||||
if live_options is not None:
|
if live_options is not None:
|
||||||
_warn_deprecated_param("live_options", DeepgramSageMakerSTTSettings)
|
_warn_deprecated_param("live_options", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
# Extract init-only fields from live_options
|
# Extract init-only fields from live_options
|
||||||
if live_options.sample_rate is not None and sample_rate is None:
|
if live_options.sample_rate is not None and sample_rate is None:
|
||||||
@@ -170,7 +170,7 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
"mip_opt_out",
|
"mip_opt_out",
|
||||||
}
|
}
|
||||||
lo_dict = {k: v for k, v in live_options.to_dict().items() if k not in init_only}
|
lo_dict = {k: v for k, v in live_options.to_dict().items() if k not in init_only}
|
||||||
delta = DeepgramSageMakerSTTSettings.from_mapping(lo_dict)
|
delta = self.Settings.from_mapping(lo_dict)
|
||||||
default_settings.apply_update(delta)
|
default_settings.apply_update(delta)
|
||||||
|
|
||||||
# 3. Apply settings delta (canonical API, always wins)
|
# 3. Apply settings delta (canonical API, always wins)
|
||||||
@@ -216,7 +216,7 @@ class DeepgramSageMakerSTTService(STTService):
|
|||||||
return changed
|
return changed
|
||||||
|
|
||||||
# Sync extra to fields after the update so self._settings stays unambiguous
|
# Sync extra to fields after the update so self._settings stays unambiguous
|
||||||
if isinstance(self._settings, DeepgramSTTSettings):
|
if isinstance(self._settings, self.Settings):
|
||||||
self._settings._sync_extra_to_fields()
|
self._settings._sync_extra_to_fields()
|
||||||
|
|
||||||
# TODO: someday we could reconnect here to apply updated settings.
|
# TODO: someday we could reconnect here to apply updated settings.
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ class DeepgramSageMakerTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = DeepgramSageMakerTTSSettings
|
Settings = DeepgramSageMakerTTSSettings
|
||||||
_settings: DeepgramSageMakerTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -80,7 +80,7 @@ class DeepgramSageMakerTTSService(TTSService):
|
|||||||
voice: Optional[str] = None,
|
voice: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
encoding: str = "linear16",
|
encoding: str = "linear16",
|
||||||
settings: Optional[DeepgramSageMakerTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Deepgram SageMaker TTS service.
|
"""Initialize the Deepgram SageMaker TTS service.
|
||||||
@@ -92,7 +92,7 @@ class DeepgramSageMakerTTSService(TTSService):
|
|||||||
voice: Voice model to use for synthesis. Defaults to "aura-2-helena-en".
|
voice: Voice model to use for synthesis. Defaults to "aura-2-helena-en".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramSageMakerTTSSettings(voice=...)`` instead.
|
Use ``settings=DeepgramSageMakerTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses the value from StartFrame.
|
sample_rate: Audio sample rate in Hz. If None, uses the value from StartFrame.
|
||||||
encoding: Audio encoding format. Defaults to "linear16".
|
encoding: Audio encoding format. Defaults to "linear16".
|
||||||
@@ -101,11 +101,11 @@ class DeepgramSageMakerTTSService(TTSService):
|
|||||||
**kwargs: Additional arguments passed to the parent TTSService.
|
**kwargs: Additional arguments passed to the parent TTSService.
|
||||||
"""
|
"""
|
||||||
if voice is not None:
|
if voice is not None:
|
||||||
_warn_deprecated_param("voice", DeepgramSageMakerTTSSettings, "voice")
|
_warn_deprecated_param("voice", self.Settings, "voice")
|
||||||
|
|
||||||
voice = voice or "aura-2-helena-en"
|
voice = voice or "aura-2-helena-en"
|
||||||
|
|
||||||
default_settings = DeepgramSageMakerTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice=voice,
|
voice=voice,
|
||||||
language=None,
|
language=None,
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class LiveOptions:
|
|||||||
deepgram-sdk v6.
|
deepgram-sdk v6.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramSTTSettings(...)`` for runtime-updatable fields
|
Use ``settings=DeepgramSTTService.Settings(...)`` for runtime-updatable fields
|
||||||
and direct ``__init__`` parameters for connection-level config instead.
|
and direct ``__init__`` parameters for connection-level config instead.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -267,7 +267,7 @@ class DeepgramSTTService(STTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = DeepgramSTTSettings
|
Settings = DeepgramSTTSettings
|
||||||
_settings: DeepgramSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -286,7 +286,7 @@ class DeepgramSTTService(STTService):
|
|||||||
live_options: Optional[LiveOptions] = None,
|
live_options: Optional[LiveOptions] = None,
|
||||||
addons: Optional[dict] = None,
|
addons: Optional[dict] = None,
|
||||||
should_interrupt: bool = True,
|
should_interrupt: bool = True,
|
||||||
settings: Optional[DeepgramSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = DEEPGRAM_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = DEEPGRAM_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -313,7 +313,7 @@ class DeepgramSTTService(STTService):
|
|||||||
live_options: Legacy configuration options.
|
live_options: Legacy configuration options.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramSTTSettings(...)`` for runtime-updatable
|
Use ``settings=DeepgramSTTService.Settings(...)`` for runtime-updatable
|
||||||
fields and direct init parameters for connection-level config.
|
fields and direct init parameters for connection-level config.
|
||||||
|
|
||||||
addons: Additional Deepgram features to enable.
|
addons: Additional Deepgram features to enable.
|
||||||
@@ -345,7 +345,7 @@ class DeepgramSTTService(STTService):
|
|||||||
base_url = url
|
base_url = url
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = DeepgramSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="nova-3-general",
|
model="nova-3-general",
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
detect_entities=False,
|
detect_entities=False,
|
||||||
@@ -370,7 +370,7 @@ class DeepgramSTTService(STTService):
|
|||||||
|
|
||||||
# 3. Apply live_options overrides — only if settings not provided
|
# 3. Apply live_options overrides — only if settings not provided
|
||||||
if live_options is not None:
|
if live_options is not None:
|
||||||
_warn_deprecated_param("live_options", DeepgramSTTSettings)
|
_warn_deprecated_param("live_options", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
# Extract init-only fields from live_options
|
# Extract init-only fields from live_options
|
||||||
if live_options.sample_rate is not None and sample_rate is None:
|
if live_options.sample_rate is not None and sample_rate is None:
|
||||||
@@ -402,7 +402,7 @@ class DeepgramSTTService(STTService):
|
|||||||
"mip_opt_out",
|
"mip_opt_out",
|
||||||
}
|
}
|
||||||
lo_dict = {k: v for k, v in live_options.to_dict().items() if k not in init_only}
|
lo_dict = {k: v for k, v in live_options.to_dict().items() if k not in init_only}
|
||||||
delta = DeepgramSTTSettings.from_mapping(lo_dict)
|
delta = self.Settings.from_mapping(lo_dict)
|
||||||
default_settings.apply_update(delta)
|
default_settings.apply_update(delta)
|
||||||
|
|
||||||
# 4. Apply settings delta (canonical API, always wins)
|
# 4. Apply settings delta (canonical API, always wins)
|
||||||
@@ -494,7 +494,7 @@ class DeepgramSTTService(STTService):
|
|||||||
return changed
|
return changed
|
||||||
|
|
||||||
# Sync extra to fields after the update so self._settings stays unambiguous
|
# Sync extra to fields after the update so self._settings stays unambiguous
|
||||||
if isinstance(self._settings, DeepgramSTTSettings):
|
if isinstance(self._settings, self.Settings):
|
||||||
self._settings._sync_extra_to_fields()
|
self._settings._sync_extra_to_fields()
|
||||||
|
|
||||||
if self._connection:
|
if self._connection:
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ class DeepgramTTSService(WebsocketTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = DeepgramTTSSettings
|
Settings = DeepgramTTSSettings
|
||||||
_settings: DeepgramTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
SUPPORTED_ENCODINGS = ("linear16", "mulaw", "alaw")
|
SUPPORTED_ENCODINGS = ("linear16", "mulaw", "alaw")
|
||||||
|
|
||||||
@@ -69,7 +69,7 @@ class DeepgramTTSService(WebsocketTTSService):
|
|||||||
base_url: str = "wss://api.deepgram.com",
|
base_url: str = "wss://api.deepgram.com",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
encoding: str = "linear16",
|
encoding: str = "linear16",
|
||||||
settings: Optional[DeepgramTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Deepgram WebSocket TTS service.
|
"""Initialize the Deepgram WebSocket TTS service.
|
||||||
@@ -79,7 +79,7 @@ class DeepgramTTSService(WebsocketTTSService):
|
|||||||
voice: Voice model to use for synthesis.
|
voice: Voice model to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramTTSSettings(voice=...)`` instead.
|
Use ``settings=DeepgramTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
base_url: WebSocket base URL for Deepgram API. Defaults to "wss://api.deepgram.com".
|
base_url: WebSocket base URL for Deepgram API. Defaults to "wss://api.deepgram.com".
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
sample_rate: Audio sample rate in Hz. If None, uses service default.
|
||||||
@@ -97,7 +97,7 @@ class DeepgramTTSService(WebsocketTTSService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = DeepgramTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="aura-2-helena-en",
|
voice="aura-2-helena-en",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -105,7 +105,7 @@ class DeepgramTTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice is not None:
|
if voice is not None:
|
||||||
_warn_deprecated_param("voice", DeepgramTTSSettings, "voice")
|
_warn_deprecated_param("voice", self.Settings, "voice")
|
||||||
default_settings.model = voice
|
default_settings.model = voice
|
||||||
default_settings.voice = voice
|
default_settings.voice = voice
|
||||||
|
|
||||||
@@ -189,7 +189,7 @@ class DeepgramTTSService(WebsocketTTSService):
|
|||||||
"""Apply a settings delta.
|
"""Apply a settings delta.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`TTSSettings` (or ``DeepgramTTSSettings``) delta.
|
delta: A :class:`TTSSettings` (or ``DeepgramTTSService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
@@ -367,7 +367,7 @@ class DeepgramHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = DeepgramTTSSettings
|
Settings = DeepgramTTSSettings
|
||||||
_settings: DeepgramTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -378,7 +378,7 @@ class DeepgramHttpTTSService(TTSService):
|
|||||||
base_url: str = "https://api.deepgram.com",
|
base_url: str = "https://api.deepgram.com",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
encoding: str = "linear16",
|
encoding: str = "linear16",
|
||||||
settings: Optional[DeepgramTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Deepgram TTS service.
|
"""Initialize the Deepgram TTS service.
|
||||||
@@ -388,7 +388,7 @@ class DeepgramHttpTTSService(TTSService):
|
|||||||
voice: Voice model to use for synthesis.
|
voice: Voice model to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=DeepgramTTSSettings(voice=...)`` instead.
|
Use ``settings=DeepgramHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: Shared aiohttp session for HTTP requests with connection pooling.
|
aiohttp_session: Shared aiohttp session for HTTP requests with connection pooling.
|
||||||
base_url: Custom base URL for Deepgram API. Defaults to "https://api.deepgram.com".
|
base_url: Custom base URL for Deepgram API. Defaults to "https://api.deepgram.com".
|
||||||
@@ -399,7 +399,7 @@ class DeepgramHttpTTSService(TTSService):
|
|||||||
**kwargs: Additional arguments passed to parent TTSService class.
|
**kwargs: Additional arguments passed to parent TTSService class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = DeepgramTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="aura-2-helena-en",
|
voice="aura-2-helena-en",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -407,7 +407,7 @@ class DeepgramHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice is not None:
|
if voice is not None:
|
||||||
_warn_deprecated_param("voice", DeepgramTTSSettings, "voice")
|
_warn_deprecated_param("voice", self.Settings, "voice")
|
||||||
default_settings.model = voice
|
default_settings.model = voice
|
||||||
default_settings.voice = voice
|
default_settings.voice = voice
|
||||||
|
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ from typing import Optional
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class DeepSeekLLMSettings(OpenAILLMSettings):
|
class DeepSeekLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for DeepSeekLLMService."""
|
"""Settings for DeepSeekLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -32,7 +32,7 @@ class DeepSeekLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = DeepSeekLLMSettings
|
Settings = DeepSeekLLMSettings
|
||||||
_settings: DeepSeekLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -40,7 +40,7 @@ class DeepSeekLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://api.deepseek.com/v1",
|
base_url: str = "https://api.deepseek.com/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[DeepSeekLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the DeepSeek LLM service.
|
"""Initialize the DeepSeek LLM service.
|
||||||
@@ -51,18 +51,18 @@ class DeepSeekLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "deepseek-chat".
|
model: The model identifier to use. Defaults to "deepseek-chat".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=DeepSeekLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = DeepSeekLLMSettings(model="deepseek-chat")
|
default_settings = self.Settings(model="deepseek-chat")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", DeepSeekLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -217,13 +217,13 @@ class ElevenLabsSTTService(SegmentedSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = ElevenLabsSTTSettings
|
Settings = ElevenLabsSTTSettings
|
||||||
_settings: ElevenLabsSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for ElevenLabs STT API.
|
"""Configuration parameters for ElevenLabs STT API.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsSTTSettings(...)`` instead.
|
Use ``settings=ElevenLabsSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Target language for transcription.
|
language: Target language for transcription.
|
||||||
@@ -242,7 +242,7 @@ class ElevenLabsSTTService(SegmentedSTTService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[ElevenLabsSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = ELEVENLABS_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = ELEVENLABS_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -255,13 +255,13 @@ class ElevenLabsSTTService(SegmentedSTTService):
|
|||||||
model: Model ID for transcription.
|
model: Model ID for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsSTTSettings(model=...)`` instead.
|
Use ``settings=ElevenLabsSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If not provided, uses the pipeline's rate.
|
sample_rate: Audio sample rate in Hz. If not provided, uses the pipeline's rate.
|
||||||
params: Configuration parameters for the STT service.
|
params: Configuration parameters for the STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsSTTSettings(...)`` instead.
|
Use ``settings=ElevenLabsSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -270,7 +270,7 @@ class ElevenLabsSTTService(SegmentedSTTService):
|
|||||||
**kwargs: Additional arguments passed to SegmentedSTTService.
|
**kwargs: Additional arguments passed to SegmentedSTTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = ElevenLabsSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="scribe_v2",
|
model="scribe_v2",
|
||||||
language=language_to_elevenlabs_language(Language.EN),
|
language=language_to_elevenlabs_language(Language.EN),
|
||||||
tag_audio_events=None,
|
tag_audio_events=None,
|
||||||
@@ -278,12 +278,12 @@ class ElevenLabsSTTService(SegmentedSTTService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", ElevenLabsSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", ElevenLabsSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = language_to_elevenlabs_language(params.language)
|
default_settings.language = language_to_elevenlabs_language(params.language)
|
||||||
@@ -450,13 +450,13 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = ElevenLabsRealtimeSTTSettings
|
Settings = ElevenLabsRealtimeSTTSettings
|
||||||
_settings: ElevenLabsRealtimeSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for ElevenLabs Realtime STT API.
|
"""Configuration parameters for ElevenLabs Realtime STT API.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsRealtimeSTTSettings(...)`` instead.
|
Use ``settings=ElevenLabsRealtimeSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language_code: ISO-639-1 or ISO-639-3 language code. Leave None for auto-detection.
|
language_code: ISO-639-1 or ISO-639-3 language code. Leave None for auto-detection.
|
||||||
@@ -496,7 +496,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
|||||||
enable_logging: bool = False,
|
enable_logging: bool = False,
|
||||||
include_language_detection: bool = False,
|
include_language_detection: bool = False,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[ElevenLabsRealtimeSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = ELEVENLABS_REALTIME_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = ELEVENLABS_REALTIME_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -511,7 +511,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
|||||||
model: Model ID for transcription.
|
model: Model ID for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsRealtimeSTTSettings(model=...)`` instead.
|
Use ``settings=ElevenLabsRealtimeSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If not provided, uses the pipeline's rate.
|
sample_rate: Audio sample rate in Hz. If not provided, uses the pipeline's rate.
|
||||||
include_timestamps: Whether to include word-level timestamps in transcripts.
|
include_timestamps: Whether to include word-level timestamps in transcripts.
|
||||||
@@ -520,7 +520,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
|||||||
params: Configuration parameters for the STT service.
|
params: Configuration parameters for the STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsRealtimeSTTSettings(...)`` instead.
|
Use ``settings=ElevenLabsRealtimeSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -529,7 +529,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
|||||||
**kwargs: Additional arguments passed to WebsocketSTTService.
|
**kwargs: Additional arguments passed to WebsocketSTTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = ElevenLabsRealtimeSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="scribe_v2_realtime",
|
model="scribe_v2_realtime",
|
||||||
language=None,
|
language=None,
|
||||||
vad_silence_threshold_secs=None,
|
vad_silence_threshold_secs=None,
|
||||||
@@ -540,12 +540,12 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", ElevenLabsRealtimeSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", ElevenLabsRealtimeSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = params.language_code
|
default_settings.language = params.language_code
|
||||||
if params.commit_strategy != CommitStrategy.MANUAL:
|
if params.commit_strategy != CommitStrategy.MANUAL:
|
||||||
@@ -597,7 +597,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
|||||||
"""Apply a settings delta and reconnect if anything changed.
|
"""Apply a settings delta and reconnect if anything changed.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`STTSettings` (or ``ElevenLabsRealtimeSTTSettings``) delta.
|
delta: A :class:`STTSettings` (or ``ElevenLabsRealtimeSTTService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -317,13 +317,13 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = ElevenLabsTTSSettings
|
Settings = ElevenLabsTTSSettings
|
||||||
_settings: ElevenLabsTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for ElevenLabs TTS configuration.
|
"""Input parameters for ElevenLabs TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsTTSSettings(...)`` instead.
|
Use ``settings=ElevenLabsTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language to use for synthesis.
|
language: Language to use for synthesis.
|
||||||
@@ -364,7 +364,7 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
enable_logging: Optional[bool] = None,
|
enable_logging: Optional[bool] = None,
|
||||||
pronunciation_dictionary_locators: Optional[List[PronunciationDictionaryLocator]] = None,
|
pronunciation_dictionary_locators: Optional[List[PronunciationDictionaryLocator]] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[ElevenLabsTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -376,12 +376,12 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsTTSSettings(voice=...)`` instead.
|
Use ``settings=ElevenLabsTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: TTS model to use (e.g., "eleven_turbo_v2_5").
|
model: TTS model to use (e.g., "eleven_turbo_v2_5").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsTTSSettings(model=...)`` instead.
|
Use ``settings=ElevenLabsTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
url: WebSocket URL for ElevenLabs TTS API.
|
url: WebSocket URL for ElevenLabs TTS API.
|
||||||
sample_rate: Audio sample rate. If None, uses default.
|
sample_rate: Audio sample rate. If None, uses default.
|
||||||
@@ -393,7 +393,7 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsTTSSettings(...)`` instead.
|
Use ``settings=ElevenLabsTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -423,7 +423,7 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
# after a short period not receiving any audio.
|
# after a short period not receiving any audio.
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = ElevenLabsTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="eleven_turbo_v2_5",
|
model="eleven_turbo_v2_5",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None,
|
language=None,
|
||||||
@@ -437,16 +437,16 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", ElevenLabsTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", ElevenLabsTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
_pronunciation_dictionary_locators = pronunciation_dictionary_locators
|
_pronunciation_dictionary_locators = pronunciation_dictionary_locators
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", ElevenLabsTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
@@ -533,11 +533,11 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
"""Apply a settings delta, reconnecting as needed.
|
"""Apply a settings delta, reconnecting as needed.
|
||||||
|
|
||||||
Uses the declarative ``URL_FIELDS`` and ``VOICE_SETTINGS_FIELDS``
|
Uses the declarative ``URL_FIELDS`` and ``VOICE_SETTINGS_FIELDS``
|
||||||
sets on :class:`ElevenLabsTTSSettings` to decide whether to
|
sets on :class:`ElevenLabsTTSService.Settings` to decide whether to
|
||||||
reconnect the WebSocket or close the current audio context.
|
reconnect the WebSocket or close the current audio context.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`TTSSettings` (or ``ElevenLabsTTSSettings``) delta.
|
delta: A :class:`TTSSettings` (or ``ElevenLabsTTSService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
@@ -550,19 +550,19 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
# Rebuild voice settings for next context
|
# Rebuild voice settings for next context
|
||||||
self._voice_settings = self._set_voice_settings()
|
self._voice_settings = self._set_voice_settings()
|
||||||
|
|
||||||
url_changed = bool(changed.keys() & ElevenLabsTTSSettings.URL_FIELDS)
|
url_changed = bool(changed.keys() & self.Settings.URL_FIELDS)
|
||||||
voice_settings_changed = bool(changed.keys() & ElevenLabsTTSSettings.VOICE_SETTINGS_FIELDS)
|
voice_settings_changed = bool(changed.keys() & self.Settings.VOICE_SETTINGS_FIELDS)
|
||||||
|
|
||||||
if url_changed:
|
if url_changed:
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"URL-level setting changed ({changed.keys() & ElevenLabsTTSSettings.URL_FIELDS}), "
|
f"URL-level setting changed ({changed.keys() & self.Settings.URL_FIELDS}), "
|
||||||
f"reconnecting WebSocket"
|
f"reconnecting WebSocket"
|
||||||
)
|
)
|
||||||
await self._disconnect()
|
await self._disconnect()
|
||||||
await self._connect()
|
await self._connect()
|
||||||
elif voice_settings_changed:
|
elif voice_settings_changed:
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"Voice settings changed ({changed.keys() & ElevenLabsTTSSettings.VOICE_SETTINGS_FIELDS}), "
|
f"Voice settings changed ({changed.keys() & self.Settings.VOICE_SETTINGS_FIELDS}), "
|
||||||
f"closing current context to apply changes"
|
f"closing current context to apply changes"
|
||||||
)
|
)
|
||||||
audio_contexts = self.get_audio_contexts()
|
audio_contexts = self.get_audio_contexts()
|
||||||
@@ -573,7 +573,7 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
|||||||
if not url_changed:
|
if not url_changed:
|
||||||
# Reconnect applies all settings; only warn about fields not handled
|
# Reconnect applies all settings; only warn about fields not handled
|
||||||
# by voice settings or URL changes.
|
# by voice settings or URL changes.
|
||||||
handled = ElevenLabsTTSSettings.URL_FIELDS | ElevenLabsTTSSettings.VOICE_SETTINGS_FIELDS
|
handled = self.Settings.URL_FIELDS | self.Settings.VOICE_SETTINGS_FIELDS
|
||||||
self._warn_unhandled_updated_settings(changed.keys() - handled)
|
self._warn_unhandled_updated_settings(changed.keys() - handled)
|
||||||
|
|
||||||
return changed
|
return changed
|
||||||
@@ -906,13 +906,13 @@ class ElevenLabsHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = ElevenLabsHttpTTSSettings
|
Settings = ElevenLabsHttpTTSSettings
|
||||||
_settings: ElevenLabsHttpTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for ElevenLabs HTTP TTS configuration.
|
"""Input parameters for ElevenLabs HTTP TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsHttpTTSSettings(...)`` instead.
|
Use ``settings=ElevenLabsHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language to use for synthesis.
|
language: Language to use for synthesis.
|
||||||
@@ -947,7 +947,7 @@ class ElevenLabsHttpTTSService(TTSService):
|
|||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
pronunciation_dictionary_locators: Optional[List[PronunciationDictionaryLocator]] = None,
|
pronunciation_dictionary_locators: Optional[List[PronunciationDictionaryLocator]] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[ElevenLabsHttpTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -959,13 +959,13 @@ class ElevenLabsHttpTTSService(TTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsHttpTTSSettings(voice=...)`` instead.
|
Use ``settings=ElevenLabsHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: aiohttp ClientSession for HTTP requests.
|
aiohttp_session: aiohttp ClientSession for HTTP requests.
|
||||||
model: TTS model to use (e.g., "eleven_turbo_v2_5").
|
model: TTS model to use (e.g., "eleven_turbo_v2_5").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsHttpTTSSettings(model=...)`` instead.
|
Use ``settings=ElevenLabsHttpTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: Base URL for ElevenLabs HTTP API.
|
base_url: Base URL for ElevenLabs HTTP API.
|
||||||
sample_rate: Audio sample rate. If None, uses default.
|
sample_rate: Audio sample rate. If None, uses default.
|
||||||
@@ -974,7 +974,7 @@ class ElevenLabsHttpTTSService(TTSService):
|
|||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ElevenLabsHttpTTSSettings(...)`` instead.
|
Use ``settings=ElevenLabsHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -987,7 +987,7 @@ class ElevenLabsHttpTTSService(TTSService):
|
|||||||
**kwargs: Additional arguments passed to the parent service.
|
**kwargs: Additional arguments passed to the parent service.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = ElevenLabsHttpTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="eleven_turbo_v2_5",
|
model="eleven_turbo_v2_5",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None,
|
language=None,
|
||||||
@@ -1002,16 +1002,16 @@ class ElevenLabsHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", ElevenLabsHttpTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", ElevenLabsHttpTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
_pronunciation_dictionary_locators = pronunciation_dictionary_locators
|
_pronunciation_dictionary_locators = pronunciation_dictionary_locators
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", ElevenLabsHttpTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
@@ -1091,7 +1091,7 @@ class ElevenLabsHttpTTSService(TTSService):
|
|||||||
"""Apply a settings delta and rebuild voice settings.
|
"""Apply a settings delta and rebuild voice settings.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`TTSSettings` (or ``ElevenLabsHttpTTSSettings``) delta.
|
delta: A :class:`TTSSettings` (or ``ElevenLabsHttpTTSService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -71,13 +71,13 @@ class FalImageGenService(ImageGenService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = FalImageGenSettings
|
Settings = FalImageGenSettings
|
||||||
_settings: FalImageGenSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Fal.ai image generation.
|
"""Input parameters for Fal.ai image generation.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FalImageGenSettings(...)`` instead.
|
Use ``settings=FalImageGenService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
seed: Random seed for reproducible generation. If None, uses random seed.
|
seed: Random seed for reproducible generation. If None, uses random seed.
|
||||||
@@ -97,7 +97,7 @@ class FalImageGenService(ImageGenService):
|
|||||||
enable_safety_checker: bool = True
|
enable_safety_checker: bool = True
|
||||||
format: str = "png"
|
format: str = "png"
|
||||||
|
|
||||||
_settings: FalImageGenSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -106,7 +106,7 @@ class FalImageGenService(ImageGenService):
|
|||||||
aiohttp_session: aiohttp.ClientSession,
|
aiohttp_session: aiohttp.ClientSession,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
key: Optional[str] = None,
|
key: Optional[str] = None,
|
||||||
settings: Optional[FalImageGenSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the FalImageGenService.
|
"""Initialize the FalImageGenService.
|
||||||
@@ -115,13 +115,13 @@ class FalImageGenService(ImageGenService):
|
|||||||
params: Input parameters for image generation configuration.
|
params: Input parameters for image generation configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FalImageGenSettings(...)`` instead.
|
Use ``settings=FalImageGenService.Settings(...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: HTTP client session for downloading generated images.
|
aiohttp_session: HTTP client session for downloading generated images.
|
||||||
model: The Fal.ai model to use for generation. Defaults to "fal-ai/fast-sdxl".
|
model: The Fal.ai model to use for generation. Defaults to "fal-ai/fast-sdxl".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FalImageGenSettings(model=...)`` instead.
|
Use ``settings=FalImageGenService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
key: Optional API key for Fal.ai. If provided, sets FAL_KEY environment variable.
|
key: Optional API key for Fal.ai. If provided, sets FAL_KEY environment variable.
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -129,7 +129,7 @@ class FalImageGenService(ImageGenService):
|
|||||||
**kwargs: Additional arguments passed to parent ImageGenService.
|
**kwargs: Additional arguments passed to parent ImageGenService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = FalImageGenSettings(
|
default_settings = self.Settings(
|
||||||
model="fal-ai/fast-sdxl",
|
model="fal-ai/fast-sdxl",
|
||||||
seed=None,
|
seed=None,
|
||||||
num_inference_steps=8,
|
num_inference_steps=8,
|
||||||
@@ -142,11 +142,11 @@ class FalImageGenService(ImageGenService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", FalImageGenSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", FalImageGenSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.seed = params.seed
|
default_settings.seed = params.seed
|
||||||
default_settings.num_inference_steps = params.num_inference_steps
|
default_settings.num_inference_steps = params.num_inference_steps
|
||||||
|
|||||||
@@ -156,13 +156,13 @@ class FalSTTService(SegmentedSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = FalSTTSettings
|
Settings = FalSTTSettings
|
||||||
_settings: FalSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Fal's Wizper API.
|
"""Configuration parameters for Fal's Wizper API.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FalSTTSettings(...)`` instead.
|
Use ``settings=FalSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language of the audio input. Defaults to English.
|
language: Language of the audio input. Defaults to English.
|
||||||
@@ -186,7 +186,7 @@ class FalSTTService(SegmentedSTTService):
|
|||||||
version: str = "3",
|
version: str = "3",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[FalSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = FAL_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = FAL_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -204,7 +204,7 @@ class FalSTTService(SegmentedSTTService):
|
|||||||
params: Configuration parameters for the Wizper API.
|
params: Configuration parameters for the Wizper API.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FalSTTSettings(...)`` for model/language and
|
Use ``settings=FalSTTService.Settings(...)`` for model/language and
|
||||||
direct init parameters for task/chunk_level/version instead.
|
direct init parameters for task/chunk_level/version instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -214,7 +214,7 @@ class FalSTTService(SegmentedSTTService):
|
|||||||
**kwargs: Additional arguments passed to SegmentedSTTService.
|
**kwargs: Additional arguments passed to SegmentedSTTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = FalSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
language=language_to_fal_language(Language.EN),
|
language=language_to_fal_language(Language.EN),
|
||||||
)
|
)
|
||||||
@@ -223,7 +223,7 @@ class FalSTTService(SegmentedSTTService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", FalSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = language_to_fal_language(params.language)
|
default_settings.language = language_to_fal_language(params.language)
|
||||||
|
|||||||
@@ -12,13 +12,13 @@ from typing import Optional
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class FireworksLLMSettings(OpenAILLMSettings):
|
class FireworksLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for FireworksLLMService."""
|
"""Settings for FireworksLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -32,7 +32,7 @@ class FireworksLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = FireworksLLMSettings
|
Settings = FireworksLLMSettings
|
||||||
_settings: FireworksLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -40,7 +40,7 @@ class FireworksLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
base_url: str = "https://api.fireworks.ai/inference/v1",
|
base_url: str = "https://api.fireworks.ai/inference/v1",
|
||||||
settings: Optional[FireworksLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Fireworks LLM service.
|
"""Initialize the Fireworks LLM service.
|
||||||
@@ -50,7 +50,7 @@ class FireworksLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "accounts/fireworks/models/firefunction-v2".
|
model: The model identifier to use. Defaults to "accounts/fireworks/models/firefunction-v2".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=FireworksLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: The base URL for Fireworks API. Defaults to "https://api.fireworks.ai/inference/v1".
|
base_url: The base URL for Fireworks API. Defaults to "https://api.fireworks.ai/inference/v1".
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -58,11 +58,11 @@ class FireworksLLMService(OpenAILLMService):
|
|||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = FireworksLLMSettings(model="accounts/fireworks/models/firefunction-v2")
|
default_settings = self.Settings(model="accounts/fireworks/models/firefunction-v2")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", FireworksLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -85,13 +85,13 @@ class FishAudioTTSService(InterruptibleTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = FishAudioTTSSettings
|
Settings = FishAudioTTSSettings
|
||||||
_settings: FishAudioTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Fish Audio TTS configuration.
|
"""Input parameters for Fish Audio TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FishAudioTTSSettings(...)`` instead.
|
Use ``settings=FishAudioTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -117,7 +117,7 @@ class FishAudioTTSService(InterruptibleTTSService):
|
|||||||
output_format: FishAudioOutputFormat = "pcm",
|
output_format: FishAudioOutputFormat = "pcm",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[FishAudioTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Fish Audio TTS service.
|
"""Initialize the Fish Audio TTS service.
|
||||||
@@ -127,7 +127,7 @@ class FishAudioTTSService(InterruptibleTTSService):
|
|||||||
reference_id: Reference ID of the voice model to use for synthesis.
|
reference_id: Reference ID of the voice model to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FishAudioTTSSettings(voice=...)`` instead.
|
Use ``settings=FishAudioTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: Deprecated. Reference ID of the voice model to use for synthesis.
|
model: Deprecated. Reference ID of the voice model to use for synthesis.
|
||||||
|
|
||||||
@@ -138,14 +138,14 @@ class FishAudioTTSService(InterruptibleTTSService):
|
|||||||
model_id: Specify which Fish Audio TTS model to use (e.g. "s1").
|
model_id: Specify which Fish Audio TTS model to use (e.g. "s1").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FishAudioTTSSettings(model=...)`` instead.
|
Use ``settings=FishAudioTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
output_format: Audio output format. Defaults to "pcm".
|
output_format: Audio output format. Defaults to "pcm".
|
||||||
sample_rate: Audio sample rate. If None, uses default.
|
sample_rate: Audio sample rate. If None, uses default.
|
||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=FishAudioTTSSettings(...)`` instead.
|
Use ``settings=FishAudioTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -171,7 +171,7 @@ class FishAudioTTSService(InterruptibleTTSService):
|
|||||||
reference_id = model
|
reference_id = model
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = FishAudioTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="s2-pro",
|
model="s2-pro",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None,
|
language=None,
|
||||||
@@ -185,15 +185,15 @@ class FishAudioTTSService(InterruptibleTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if reference_id is not None:
|
if reference_id is not None:
|
||||||
_warn_deprecated_param("reference_id", FishAudioTTSSettings, "voice")
|
_warn_deprecated_param("reference_id", self.Settings, "voice")
|
||||||
default_settings.voice = reference_id
|
default_settings.voice = reference_id
|
||||||
if model_id is not None:
|
if model_id is not None:
|
||||||
_warn_deprecated_param("model_id", FishAudioTTSSettings, "model")
|
_warn_deprecated_param("model_id", self.Settings, "model")
|
||||||
default_settings.model = model_id
|
default_settings.model = model_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", FishAudioTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.latency is not None:
|
if params.latency is not None:
|
||||||
default_settings.latency = params.latency
|
default_settings.latency = params.latency
|
||||||
@@ -240,7 +240,7 @@ class FishAudioTTSService(InterruptibleTTSService):
|
|||||||
Any change to voice or model triggers a WebSocket reconnect.
|
Any change to voice or model triggers a WebSocket reconnect.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`TTSSettings` (or ``FishAudioTTSSettings``) delta.
|
delta: A :class:`TTSSettings` (or ``FishAudioTTSService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ class GladiaInputParams(BaseModel):
|
|||||||
"""Configuration parameters for the Gladia STT service.
|
"""Configuration parameters for the Gladia STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GladiaSTTSettings(...)`` for runtime-updatable
|
Use ``settings=GladiaSTTService.Settings(...)`` for runtime-updatable
|
||||||
fields and direct init parameters for encoding/bit_depth/channels.
|
fields and direct init parameters for encoding/bit_depth/channels.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
|
|||||||
@@ -231,7 +231,7 @@ class GladiaSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GladiaSTTSettings
|
Settings = GladiaSTTSettings
|
||||||
_settings: GladiaSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Maintain backward compatibility
|
# Maintain backward compatibility
|
||||||
InputParams = _InputParamsDescriptor()
|
InputParams = _InputParamsDescriptor()
|
||||||
@@ -251,7 +251,7 @@ class GladiaSTTService(WebsocketSTTService):
|
|||||||
params: Optional[GladiaInputParams] = None,
|
params: Optional[GladiaInputParams] = None,
|
||||||
max_buffer_size: int = 1024 * 1024 * 20, # 20MB default buffer
|
max_buffer_size: int = 1024 * 1024 * 20, # 20MB default buffer
|
||||||
should_interrupt: bool = True,
|
should_interrupt: bool = True,
|
||||||
settings: Optional[GladiaSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = GLADIA_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = GLADIA_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -274,12 +274,12 @@ class GladiaSTTService(WebsocketSTTService):
|
|||||||
model: Model to use for transcription.
|
model: Model to use for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GladiaSTTSettings(model=...)`` instead.
|
Use ``settings=GladiaSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
params: Additional configuration parameters for Gladia service.
|
params: Additional configuration parameters for Gladia service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GladiaSTTSettings(...)`` for runtime-updatable
|
Use ``settings=GladiaSTTService.Settings(...)`` for runtime-updatable
|
||||||
fields and direct init parameters for encoding/bit_depth/channels.
|
fields and direct init parameters for encoding/bit_depth/channels.
|
||||||
|
|
||||||
max_buffer_size: Maximum size of audio buffer in bytes. Defaults to 20MB.
|
max_buffer_size: Maximum size of audio buffer in bytes. Defaults to 20MB.
|
||||||
@@ -302,7 +302,7 @@ class GladiaSTTService(WebsocketSTTService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GladiaSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="solaria-1",
|
model="solaria-1",
|
||||||
language=None,
|
language=None,
|
||||||
language_config=None,
|
language_config=None,
|
||||||
@@ -317,12 +317,12 @@ class GladiaSTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GladiaSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GladiaSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
with warnings.catch_warnings():
|
with warnings.catch_warnings():
|
||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
@@ -469,7 +469,7 @@ class GladiaSTTService(WebsocketSTTService):
|
|||||||
await super().start(frame)
|
await super().start(frame)
|
||||||
await self._connect()
|
await self._connect()
|
||||||
|
|
||||||
async def _update_settings(self, delta: GladiaSTTSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply settings delta.
|
"""Apply settings delta.
|
||||||
|
|
||||||
Settings are stored but not applied to the active session.
|
Settings are stored but not applied to the active session.
|
||||||
|
|||||||
@@ -553,7 +553,7 @@ class InputParams(BaseModel):
|
|||||||
"""Input parameters for Gemini Live generation.
|
"""Input parameters for Gemini Live generation.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``GeminiLiveLLMSettings`` instead.
|
Use ``GeminiLiveLLMService.Settings`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
frequency_penalty: Frequency penalty for generation (0.0-2.0). Defaults to None.
|
frequency_penalty: Frequency penalty for generation (0.0-2.0). Defaults to None.
|
||||||
@@ -643,7 +643,7 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GeminiLiveLLMSettings
|
Settings = GeminiLiveLLMSettings
|
||||||
_settings: GeminiLiveLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Overriding the default adapter to use the Gemini one.
|
# Overriding the default adapter to use the Gemini one.
|
||||||
adapter_class = GeminiLLMAdapter
|
adapter_class = GeminiLLMAdapter
|
||||||
@@ -660,7 +660,7 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
system_instruction: Optional[str] = None,
|
system_instruction: Optional[str] = None,
|
||||||
tools: Optional[Union[List[dict], ToolsSchema]] = None,
|
tools: Optional[Union[List[dict], ToolsSchema]] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GeminiLiveLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
inference_on_context_initialization: bool = True,
|
inference_on_context_initialization: bool = True,
|
||||||
file_api_base_url: str = "https://generativelanguage.googleapis.com/v1beta/files",
|
file_api_base_url: str = "https://generativelanguage.googleapis.com/v1beta/files",
|
||||||
http_options: Optional[HttpOptions] = None,
|
http_options: Optional[HttpOptions] = None,
|
||||||
@@ -680,12 +680,12 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
model: Model identifier to use.
|
model: Model identifier to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiLiveLLMSettings(model=...)`` instead.
|
Use ``settings=GeminiLiveLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
voice_id: TTS voice identifier. Defaults to "Charon".
|
voice_id: TTS voice identifier. Defaults to "Charon".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiLiveLLMSettings(voice=...)`` instead.
|
Use ``settings=GeminiLiveLLMService.Settings(voice=...)`` instead.
|
||||||
start_audio_paused: Whether to start with audio input paused. Defaults to False.
|
start_audio_paused: Whether to start with audio input paused. Defaults to False.
|
||||||
start_video_paused: Whether to start with video input paused. Defaults to False.
|
start_video_paused: Whether to start with video input paused. Defaults to False.
|
||||||
system_instruction: System prompt for the model. Defaults to None.
|
system_instruction: System prompt for the model. Defaults to None.
|
||||||
@@ -693,7 +693,7 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
params: Configuration parameters for the model.
|
params: Configuration parameters for the model.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiLiveLLMSettings(...)`` instead.
|
Use ``settings=GeminiLiveLLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Gemini Live LLM settings. If provided together with deprecated
|
settings: Gemini Live LLM settings. If provided together with deprecated
|
||||||
top-level parameters, the ``settings`` values take precedence.
|
top-level parameters, the ``settings`` values take precedence.
|
||||||
@@ -716,7 +716,7 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GeminiLiveLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="models/gemini-2.5-flash-native-audio-preview-12-2025",
|
model="models/gemini-2.5-flash-native-audio-preview-12-2025",
|
||||||
system_instruction=system_instruction,
|
system_instruction=system_instruction,
|
||||||
voice="Charon",
|
voice="Charon",
|
||||||
@@ -742,15 +742,15 @@ class GeminiLiveLLMService(LLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GeminiLiveLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id != "Charon":
|
if voice_id != "Charon":
|
||||||
_warn_deprecated_param("voice_id", GeminiLiveLLMSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GeminiLiveLLMSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.frequency_penalty = params.frequency_penalty
|
default_settings.frequency_penalty = params.frequency_penalty
|
||||||
default_settings.max_tokens = params.max_tokens
|
default_settings.max_tokens = params.max_tokens
|
||||||
|
|||||||
@@ -20,7 +20,6 @@ from loguru import logger
|
|||||||
from pipecat.adapters.schemas.tools_schema import ToolsSchema
|
from pipecat.adapters.schemas.tools_schema import ToolsSchema
|
||||||
from pipecat.services.google.gemini_live.llm import (
|
from pipecat.services.google.gemini_live.llm import (
|
||||||
GeminiLiveLLMService,
|
GeminiLiveLLMService,
|
||||||
GeminiLiveLLMSettings,
|
|
||||||
GeminiMediaResolution,
|
GeminiMediaResolution,
|
||||||
GeminiModalities,
|
GeminiModalities,
|
||||||
HttpOptions,
|
HttpOptions,
|
||||||
@@ -43,7 +42,7 @@ except ModuleNotFoundError as e:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class GeminiLiveVertexLLMSettings(GeminiLiveLLMSettings):
|
class GeminiLiveVertexLLMSettings(GeminiLiveLLMService.Settings):
|
||||||
"""Settings for GeminiLiveVertexLLMService."""
|
"""Settings for GeminiLiveVertexLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -58,7 +57,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GeminiLiveVertexLLMSettings
|
Settings = GeminiLiveVertexLLMSettings
|
||||||
_settings: GeminiLiveVertexLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -74,7 +73,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
|||||||
system_instruction: Optional[str] = None,
|
system_instruction: Optional[str] = None,
|
||||||
tools: Optional[Union[List[dict], ToolsSchema]] = None,
|
tools: Optional[Union[List[dict], ToolsSchema]] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GeminiLiveVertexLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
inference_on_context_initialization: bool = True,
|
inference_on_context_initialization: bool = True,
|
||||||
file_api_base_url: str = "https://generativelanguage.googleapis.com/v1beta/files",
|
file_api_base_url: str = "https://generativelanguage.googleapis.com/v1beta/files",
|
||||||
http_options: Optional[HttpOptions] = None,
|
http_options: Optional[HttpOptions] = None,
|
||||||
@@ -90,12 +89,12 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
|||||||
model: Model identifier to use.
|
model: Model identifier to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiLiveLLMSettings(model=...)`` instead.
|
Use ``settings=GeminiLiveVertexLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
voice_id: TTS voice identifier. Defaults to "Charon".
|
voice_id: TTS voice identifier. Defaults to "Charon".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiLiveVertexLLMSettings(voice=...)`` instead.
|
Use ``settings=GeminiLiveVertexLLMService.Settings(voice=...)`` instead.
|
||||||
start_audio_paused: Whether to start with audio input paused. Defaults to False.
|
start_audio_paused: Whether to start with audio input paused. Defaults to False.
|
||||||
start_video_paused: Whether to start with video input paused. Defaults to False.
|
start_video_paused: Whether to start with video input paused. Defaults to False.
|
||||||
system_instruction: System prompt for the model. Defaults to None.
|
system_instruction: System prompt for the model. Defaults to None.
|
||||||
@@ -104,7 +103,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
|||||||
location and project ID.
|
location and project ID.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiLiveLLMSettings(...)`` instead.
|
Use ``settings=GeminiLiveVertexLLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Gemini Live LLM settings. If provided together with deprecated
|
settings: Gemini Live LLM settings. If provided together with deprecated
|
||||||
top-level parameters, the ``settings`` values take precedence.
|
top-level parameters, the ``settings`` values take precedence.
|
||||||
@@ -136,7 +135,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
|||||||
# double deprecation warnings from the parent.
|
# double deprecation warnings from the parent.
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GeminiLiveVertexLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="google/gemini-live-2.5-flash-native-audio",
|
model="google/gemini-live-2.5-flash-native-audio",
|
||||||
voice="Charon",
|
voice="Charon",
|
||||||
frequency_penalty=None,
|
frequency_penalty=None,
|
||||||
@@ -161,15 +160,15 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GeminiLiveVertexLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id != "Charon":
|
if voice_id != "Charon":
|
||||||
_warn_deprecated_param("voice_id", GeminiLiveVertexLLMSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GeminiLiveVertexLLMSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.frequency_penalty = params.frequency_penalty
|
default_settings.frequency_penalty = params.frequency_penalty
|
||||||
default_settings.max_tokens = params.max_tokens
|
default_settings.max_tokens = params.max_tokens
|
||||||
|
|||||||
@@ -60,13 +60,13 @@ class GoogleImageGenService(ImageGenService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GoogleImageGenSettings
|
Settings = GoogleImageGenSettings
|
||||||
_settings: GoogleImageGenSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Google image generation.
|
"""Configuration parameters for Google image generation.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleImageGenSettings(...)`` instead.
|
Use ``settings=GoogleImageGenService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
number_of_images: Number of images to generate (1-8). Defaults to 1.
|
number_of_images: Number of images to generate (1-8). Defaults to 1.
|
||||||
@@ -84,7 +84,7 @@ class GoogleImageGenService(ImageGenService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
http_options: Optional[Any] = None,
|
http_options: Optional[Any] = None,
|
||||||
settings: Optional[GoogleImageGenSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the GoogleImageGenService with API key and parameters.
|
"""Initialize the GoogleImageGenService with API key and parameters.
|
||||||
@@ -94,7 +94,7 @@ class GoogleImageGenService(ImageGenService):
|
|||||||
params: Configuration parameters for image generation.
|
params: Configuration parameters for image generation.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleImageGenSettings(...)`` instead.
|
Use ``settings=GoogleImageGenService.Settings(...)`` instead.
|
||||||
|
|
||||||
http_options: HTTP options for the client.
|
http_options: HTTP options for the client.
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -102,7 +102,7 @@ class GoogleImageGenService(ImageGenService):
|
|||||||
**kwargs: Additional arguments passed to the parent ImageGenService.
|
**kwargs: Additional arguments passed to the parent ImageGenService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GoogleImageGenSettings(
|
default_settings = self.Settings(
|
||||||
model="imagen-3.0-generate-002",
|
model="imagen-3.0-generate-002",
|
||||||
number_of_images=1,
|
number_of_images=1,
|
||||||
negative_prompt=None,
|
negative_prompt=None,
|
||||||
@@ -110,7 +110,7 @@ class GoogleImageGenService(ImageGenService):
|
|||||||
|
|
||||||
# 2. Apply params overrides (deprecated)
|
# 2. Apply params overrides (deprecated)
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GoogleImageGenSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.model = params.model
|
default_settings.model = params.model
|
||||||
default_settings.number_of_images = params.number_of_images
|
default_settings.number_of_images = params.number_of_images
|
||||||
|
|||||||
@@ -743,7 +743,7 @@ class GoogleLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GoogleLLMSettings
|
Settings = GoogleLLMSettings
|
||||||
_settings: GoogleLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Overriding the default adapter to use the Gemini one.
|
# Overriding the default adapter to use the Gemini one.
|
||||||
adapter_class = GeminiLLMAdapter
|
adapter_class = GeminiLLMAdapter
|
||||||
@@ -755,7 +755,7 @@ class GoogleLLMService(LLMService):
|
|||||||
"""Input parameters for Google AI models.
|
"""Input parameters for Google AI models.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleLLMSettings(...)`` instead.
|
Use ``settings=GoogleLLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
max_tokens: Maximum number of tokens to generate.
|
max_tokens: Maximum number of tokens to generate.
|
||||||
@@ -784,7 +784,7 @@ class GoogleLLMService(LLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GoogleLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
system_instruction: Optional[str] = None,
|
system_instruction: Optional[str] = None,
|
||||||
tools: Optional[List[Dict[str, Any]]] = None,
|
tools: Optional[List[Dict[str, Any]]] = None,
|
||||||
tool_config: Optional[Dict[str, Any]] = None,
|
tool_config: Optional[Dict[str, Any]] = None,
|
||||||
@@ -798,12 +798,12 @@ class GoogleLLMService(LLMService):
|
|||||||
model: Model name to use.
|
model: Model name to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleLLMSettings(model=...)`` instead.
|
Use ``settings=GoogleLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
params: Optional model parameters for inference.
|
params: Optional model parameters for inference.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleLLMSettings(...)`` instead.
|
Use ``settings=GoogleLLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings for this service. When both
|
settings: Runtime-updatable settings for this service. When both
|
||||||
deprecated parameters and *settings* are provided, *settings*
|
deprecated parameters and *settings* are provided, *settings*
|
||||||
@@ -811,14 +811,14 @@ class GoogleLLMService(LLMService):
|
|||||||
system_instruction: System instruction/prompt for the model.
|
system_instruction: System instruction/prompt for the model.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleLLMSettings(system_instruction=...)`` instead.
|
Use ``settings=GoogleLLMService.Settings(system_instruction=...)`` instead.
|
||||||
tools: List of available tools/functions.
|
tools: List of available tools/functions.
|
||||||
tool_config: Configuration for tool usage.
|
tool_config: Configuration for tool usage.
|
||||||
http_options: HTTP options for the client.
|
http_options: HTTP options for the client.
|
||||||
**kwargs: Additional arguments passed to parent class.
|
**kwargs: Additional arguments passed to parent class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GoogleLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="gemini-2.5-flash",
|
model="gemini-2.5-flash",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
max_tokens=4096,
|
max_tokens=4096,
|
||||||
@@ -836,15 +836,15 @@ class GoogleLLMService(LLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GoogleLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if system_instruction is not None:
|
if system_instruction is not None:
|
||||||
_warn_deprecated_param("system_instruction", GoogleLLMSettings, "system_instruction")
|
_warn_deprecated_param("system_instruction", self.Settings, "system_instruction")
|
||||||
default_settings.system_instruction = system_instruction
|
default_settings.system_instruction = system_instruction
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GoogleLLMSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.max_tokens = params.max_tokens
|
default_settings.max_tokens = params.max_tokens
|
||||||
default_settings.temperature = params.temperature
|
default_settings.temperature = params.temperature
|
||||||
|
|||||||
@@ -28,13 +28,13 @@ from loguru import logger
|
|||||||
from pipecat.frames.frames import LLMTextFrame
|
from pipecat.frames.frames import LLMTextFrame
|
||||||
from pipecat.metrics.metrics import LLMTokenUsage
|
from pipecat.metrics.metrics import LLMTokenUsage
|
||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class GoogleOpenAILLMSettings(OpenAILLMSettings):
|
class GoogleOpenAILLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for GoogleLLMOpenAIBetaService."""
|
"""Settings for GoogleLLMOpenAIBetaService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -59,7 +59,7 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GoogleOpenAILLMSettings
|
Settings = GoogleOpenAILLMSettings
|
||||||
_settings: GoogleOpenAILLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -67,7 +67,7 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://generativelanguage.googleapis.com/v1beta/openai/",
|
base_url: str = "https://generativelanguage.googleapis.com/v1beta/openai/",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[GoogleOpenAILLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Google LLM service.
|
"""Initialize the Google LLM service.
|
||||||
@@ -78,7 +78,7 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService):
|
|||||||
model: Google model name to use (e.g., "gemini-2.0-flash").
|
model: Google model name to use (e.g., "gemini-2.0-flash").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=GoogleLLMOpenAIBetaService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -96,11 +96,11 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GoogleOpenAILLMSettings(model="gemini-2.0-flash")
|
default_settings = self.Settings(model="gemini-2.0-flash")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GoogleOpenAILLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -415,7 +415,7 @@ class GoogleSTTService(STTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GoogleSTTSettings
|
Settings = GoogleSTTSettings
|
||||||
_settings: GoogleSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Google Cloud's STT service has a connection time limit of 5 minutes per stream.
|
# Google Cloud's STT service has a connection time limit of 5 minutes per stream.
|
||||||
# They've shared an "endless streaming" example that guided this implementation:
|
# They've shared an "endless streaming" example that guided this implementation:
|
||||||
@@ -427,7 +427,7 @@ class GoogleSTTService(STTService):
|
|||||||
"""Configuration parameters for Google Speech-to-Text.
|
"""Configuration parameters for Google Speech-to-Text.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleSTTSettings(...)`` instead.
|
Use ``settings=GoogleSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
languages: Single language or list of recognition languages. First language is primary.
|
languages: Single language or list of recognition languages. First language is primary.
|
||||||
@@ -488,7 +488,7 @@ class GoogleSTTService(STTService):
|
|||||||
location: str = "global",
|
location: str = "global",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GoogleSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = GOOGLE_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = GOOGLE_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -502,7 +502,7 @@ class GoogleSTTService(STTService):
|
|||||||
params: Configuration parameters for the service.
|
params: Configuration parameters for the service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleSTTSettings(...)`` instead.
|
Use ``settings=GoogleSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
``params``, ``settings`` values take precedence.
|
``params``, ``settings`` values take precedence.
|
||||||
@@ -511,7 +511,7 @@ class GoogleSTTService(STTService):
|
|||||||
**kwargs: Additional arguments passed to STTService.
|
**kwargs: Additional arguments passed to STTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GoogleSTTSettings(
|
default_settings = self.Settings(
|
||||||
language=None,
|
language=None,
|
||||||
languages=[Language.EN_US],
|
languages=[Language.EN_US],
|
||||||
language_codes=None,
|
language_codes=None,
|
||||||
@@ -531,7 +531,7 @@ class GoogleSTTService(STTService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GoogleSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.languages = list(params.language_list)
|
default_settings.languages = list(params.language_list)
|
||||||
default_settings.model = params.model
|
default_settings.model = params.model
|
||||||
@@ -655,7 +655,7 @@ class GoogleSTTService(STTService):
|
|||||||
"""Update the service's recognition languages.
|
"""Update the service's recognition languages.
|
||||||
|
|
||||||
.. deprecated:: 0.0.104
|
.. deprecated:: 0.0.104
|
||||||
Use ``STTUpdateSettingsFrame`` with ``GoogleSTTSettings(languages=...)``
|
Use ``STTUpdateSettingsFrame`` with ``GoogleSTTService.Settings(languages=...)``
|
||||||
instead.
|
instead.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -665,13 +665,13 @@ class GoogleSTTService(STTService):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"set_languages() is deprecated. Use STTUpdateSettingsFrame with "
|
"set_languages() is deprecated. Use STTUpdateSettingsFrame with "
|
||||||
"GoogleSTTSettings(languages=...) instead.",
|
"self.Settings(languages=...) instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
)
|
)
|
||||||
logger.debug(f"Switching STT languages to: {languages}")
|
logger.debug(f"Switching STT languages to: {languages}")
|
||||||
await self._update_settings(GoogleSTTSettings(languages=list(languages)))
|
await self._update_settings(self.Settings(languages=list(languages)))
|
||||||
|
|
||||||
async def _update_settings(self, delta: GoogleSTTSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply settings delta and reconnect if anything changed.
|
"""Apply settings delta and reconnect if anything changed.
|
||||||
|
|
||||||
Handles ``language`` from base ``set_language`` by converting it to
|
Handles ``language`` from base ``set_language`` by converting it to
|
||||||
@@ -698,8 +698,8 @@ class GoogleSTTService(STTService):
|
|||||||
with warnings.catch_warnings():
|
with warnings.catch_warnings():
|
||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"GoogleSTTSettings.language_codes is deprecated. "
|
"self.Settings.language_codes is deprecated. "
|
||||||
"Use GoogleSTTSettings.languages (List[Language]) instead.",
|
"Use self.Settings.languages (List[Language]) instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
stacklevel=2,
|
stacklevel=2,
|
||||||
)
|
)
|
||||||
@@ -756,7 +756,7 @@ class GoogleSTTService(STTService):
|
|||||||
"""Update service options dynamically.
|
"""Update service options dynamically.
|
||||||
|
|
||||||
.. deprecated::
|
.. deprecated::
|
||||||
Use ``STTUpdateSettingsFrame`` with ``GoogleSTTSettings(...)``
|
Use ``STTUpdateSettingsFrame`` with ``GoogleSTTService.Settings(...)``
|
||||||
instead.
|
instead.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
@@ -780,11 +780,11 @@ class GoogleSTTService(STTService):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"update_options() is deprecated. Use STTUpdateSettingsFrame with "
|
"update_options() is deprecated. Use STTUpdateSettingsFrame with "
|
||||||
"GoogleSTTSettings(...) instead.",
|
"self.Settings(...) instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
)
|
)
|
||||||
# Build a settings delta from the provided options
|
# Build a settings delta from the provided options
|
||||||
delta = GoogleSTTSettings()
|
delta = self.Settings()
|
||||||
|
|
||||||
if languages is not None:
|
if languages is not None:
|
||||||
delta.languages = list(languages)
|
delta.languages = list(languages)
|
||||||
|
|||||||
@@ -523,7 +523,7 @@ class GoogleTTSSettings(TTSSettings):
|
|||||||
|
|
||||||
|
|
||||||
#: .. deprecated:: 0.0.105
|
#: .. deprecated:: 0.0.105
|
||||||
#: Use ``GoogleTTSSettings`` instead.
|
#: Use ``GoogleTTSService.Settings`` instead.
|
||||||
GoogleStreamTTSSettings = GoogleTTSSettings
|
GoogleStreamTTSSettings = GoogleTTSSettings
|
||||||
|
|
||||||
|
|
||||||
@@ -559,13 +559,13 @@ class GoogleHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GoogleHttpTTSSettings
|
Settings = GoogleHttpTTSSettings
|
||||||
_settings: GoogleHttpTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Google HTTP TTS voice customization.
|
"""Input parameters for Google HTTP TTS voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``GoogleHttpTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``GoogleHttpTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
pitch: Voice pitch adjustment (e.g., "+2st", "-50%").
|
pitch: Voice pitch adjustment (e.g., "+2st", "-50%").
|
||||||
@@ -596,7 +596,7 @@ class GoogleHttpTTSService(TTSService):
|
|||||||
voice_id: Optional[str] = None,
|
voice_id: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GoogleHttpTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initializes the Google HTTP TTS service.
|
"""Initializes the Google HTTP TTS service.
|
||||||
@@ -608,20 +608,20 @@ class GoogleHttpTTSService(TTSService):
|
|||||||
voice_id: Google TTS voice identifier (e.g., "en-US-Standard-A").
|
voice_id: Google TTS voice identifier (e.g., "en-US-Standard-A").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleHttpTTSSettings(voice=...)`` instead.
|
Use ``settings=GoogleHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses default.
|
sample_rate: Audio sample rate in Hz. If None, uses default.
|
||||||
params: Voice customization parameters including pitch, rate, volume, etc.
|
params: Voice customization parameters including pitch, rate, volume, etc.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleHttpTTSSettings(...)`` instead.
|
Use ``settings=GoogleHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GoogleHttpTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="en-US-Chirp3-HD-Charon",
|
voice="en-US-Chirp3-HD-Charon",
|
||||||
language="en-US",
|
language="en-US",
|
||||||
@@ -636,12 +636,12 @@ class GoogleHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", GoogleHttpTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GoogleHttpTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.pitch is not None:
|
if params.pitch is not None:
|
||||||
default_settings.pitch = params.pitch
|
default_settings.pitch = params.pitch
|
||||||
@@ -747,7 +747,7 @@ class GoogleHttpTTSService(TTSService):
|
|||||||
Args:
|
Args:
|
||||||
delta: Settings delta. Can include 'speaking_rate' (float).
|
delta: Settings delta. Can include 'speaking_rate' (float).
|
||||||
"""
|
"""
|
||||||
if isinstance(delta, GoogleHttpTTSSettings) and is_given(delta.speaking_rate):
|
if isinstance(delta, self.Settings) and is_given(delta.speaking_rate):
|
||||||
rate_value = float(delta.speaking_rate)
|
rate_value = float(delta.speaking_rate)
|
||||||
if not (0.25 <= rate_value <= 2.0):
|
if not (0.25 <= rate_value <= 2.0):
|
||||||
logger.warning(
|
logger.warning(
|
||||||
@@ -1022,13 +1022,13 @@ class GoogleTTSService(GoogleBaseTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GoogleTTSSettings
|
Settings = GoogleTTSSettings
|
||||||
_settings: GoogleTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Google streaming TTS configuration.
|
"""Input parameters for Google streaming TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``GoogleTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``GoogleTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -1048,7 +1048,7 @@ class GoogleTTSService(GoogleBaseTTSService):
|
|||||||
voice_cloning_key: Optional[str] = None,
|
voice_cloning_key: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GoogleTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initializes the Google streaming TTS service.
|
"""Initializes the Google streaming TTS service.
|
||||||
@@ -1060,21 +1060,21 @@ class GoogleTTSService(GoogleBaseTTSService):
|
|||||||
voice_id: Google TTS voice identifier (e.g., "en-US-Chirp3-HD-Charon").
|
voice_id: Google TTS voice identifier (e.g., "en-US-Chirp3-HD-Charon").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleTTSSettings(voice=...)`` instead.
|
Use ``settings=GoogleTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
voice_cloning_key: The voice cloning key for Chirp 3 custom voices.
|
voice_cloning_key: The voice cloning key for Chirp 3 custom voices.
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses default.
|
sample_rate: Audio sample rate in Hz. If None, uses default.
|
||||||
params: Language configuration parameters.
|
params: Language configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleTTSSettings(...)`` instead.
|
Use ``settings=GoogleTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GoogleTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="en-US-Chirp3-HD-Charon",
|
voice="en-US-Chirp3-HD-Charon",
|
||||||
language="en-US",
|
language="en-US",
|
||||||
@@ -1083,12 +1083,12 @@ class GoogleTTSService(GoogleBaseTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", GoogleTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GoogleTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
@@ -1119,7 +1119,7 @@ class GoogleTTSService(GoogleBaseTTSService):
|
|||||||
Args:
|
Args:
|
||||||
delta: Settings delta. Can include 'speaking_rate' (float).
|
delta: Settings delta. Can include 'speaking_rate' (float).
|
||||||
"""
|
"""
|
||||||
if isinstance(delta, GoogleTTSSettings) and is_given(delta.speaking_rate):
|
if isinstance(delta, self.Settings) and is_given(delta.speaking_rate):
|
||||||
rate_value = float(delta.speaking_rate)
|
rate_value = float(delta.speaking_rate)
|
||||||
if not (0.25 <= rate_value <= 2.0):
|
if not (0.25 <= rate_value <= 2.0):
|
||||||
logger.warning(
|
logger.warning(
|
||||||
@@ -1201,7 +1201,7 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GeminiTTSSettings
|
Settings = GeminiTTSSettings
|
||||||
_settings: GeminiTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
GOOGLE_SAMPLE_RATE = 24000 # Google TTS always outputs at 24kHz
|
GOOGLE_SAMPLE_RATE = 24000 # Google TTS always outputs at 24kHz
|
||||||
|
|
||||||
@@ -1243,7 +1243,7 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
"""Input parameters for Gemini TTS configuration.
|
"""Input parameters for Gemini TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``GeminiTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``GeminiTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -1268,7 +1268,7 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
voice_id: Optional[str] = None,
|
voice_id: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GeminiTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initializes the Gemini TTS service.
|
"""Initializes the Gemini TTS service.
|
||||||
@@ -1284,7 +1284,7 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
"gemini-2.5-flash-tts" or "gemini-2.5-pro-tts".
|
"gemini-2.5-flash-tts" or "gemini-2.5-pro-tts".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiTTSSettings(model=...)`` instead.
|
Use ``settings=GeminiTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
credentials: JSON string containing Google Cloud service account credentials.
|
credentials: JSON string containing Google Cloud service account credentials.
|
||||||
credentials_path: Path to Google Cloud service account JSON file.
|
credentials_path: Path to Google Cloud service account JSON file.
|
||||||
@@ -1292,13 +1292,13 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
voice_id: Voice name from the available Gemini voices.
|
voice_id: Voice name from the available Gemini voices.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiTTSSettings(voice=...)`` instead.
|
Use ``settings=GeminiTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz. If None, uses Google's default 24kHz.
|
sample_rate: Audio sample rate in Hz. If None, uses Google's default 24kHz.
|
||||||
params: TTS configuration parameters.
|
params: TTS configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GeminiTTSSettings(...)`` instead.
|
Use ``settings=GeminiTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -1320,7 +1320,7 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GeminiTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="gemini-2.5-flash-tts",
|
model="gemini-2.5-flash-tts",
|
||||||
voice="Kore",
|
voice="Kore",
|
||||||
language="en-US",
|
language="en-US",
|
||||||
@@ -1331,10 +1331,10 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GeminiTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", GeminiTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
if default_settings.voice not in self.AVAILABLE_VOICES:
|
if default_settings.voice not in self.AVAILABLE_VOICES:
|
||||||
@@ -1344,7 +1344,7 @@ class GeminiTTSService(GoogleBaseTTSService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GeminiTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ from typing import Optional
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.services.google.llm import GoogleLLMService, GoogleLLMSettings
|
from pipecat.services.google.llm import GoogleLLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -41,7 +41,7 @@ except ModuleNotFoundError as e:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class GoogleVertexLLMSettings(GoogleLLMSettings):
|
class GoogleVertexLLMSettings(GoogleLLMService.Settings):
|
||||||
"""Settings for GoogleVertexLLMService."""
|
"""Settings for GoogleVertexLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -60,7 +60,7 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GoogleVertexLLMSettings
|
Settings = GoogleVertexLLMSettings
|
||||||
_settings: GoogleVertexLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(GoogleLLMService.InputParams):
|
class InputParams(GoogleLLMService.InputParams):
|
||||||
"""Input parameters specific to Vertex AI.
|
"""Input parameters specific to Vertex AI.
|
||||||
@@ -115,7 +115,7 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
location: Optional[str] = None,
|
location: Optional[str] = None,
|
||||||
project_id: Optional[str] = None,
|
project_id: Optional[str] = None,
|
||||||
params: Optional[GoogleLLMService.InputParams] = None,
|
params: Optional[GoogleLLMService.InputParams] = None,
|
||||||
settings: Optional[GoogleVertexLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
system_instruction: Optional[str] = None,
|
system_instruction: Optional[str] = None,
|
||||||
tools: Optional[list] = None,
|
tools: Optional[list] = None,
|
||||||
tool_config: Optional[dict] = None,
|
tool_config: Optional[dict] = None,
|
||||||
@@ -130,14 +130,14 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
model: Model identifier (e.g., "gemini-2.5-flash").
|
model: Model identifier (e.g., "gemini-2.5-flash").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleLLMSettings(model=...)`` instead.
|
Use ``settings=GoogleVertexLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
location: GCP region for Vertex AI endpoint (e.g., "us-east4").
|
location: GCP region for Vertex AI endpoint (e.g., "us-east4").
|
||||||
project_id: Google Cloud project ID.
|
project_id: Google Cloud project ID.
|
||||||
params: Input parameters for the model.
|
params: Input parameters for the model.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleLLMSettings(...)`` instead.
|
Use ``settings=GoogleVertexLLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings for this service. When both
|
settings: Runtime-updatable settings for this service. When both
|
||||||
deprecated parameters and *settings* are provided, *settings*
|
deprecated parameters and *settings* are provided, *settings*
|
||||||
@@ -145,7 +145,7 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
system_instruction: System instruction/prompt for the model.
|
system_instruction: System instruction/prompt for the model.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GoogleVertexLLMSettings(system_instruction=...)`` instead.
|
Use ``settings=GoogleVertexLLMService.Settings(system_instruction=...)`` instead.
|
||||||
tools: List of available tools/functions.
|
tools: List of available tools/functions.
|
||||||
tool_config: Configuration for tool usage.
|
tool_config: Configuration for tool usage.
|
||||||
http_options: HTTP options for the client.
|
http_options: HTTP options for the client.
|
||||||
@@ -197,7 +197,7 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
self._location = location
|
self._location = location
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GoogleVertexLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="gemini-2.5-flash",
|
model="gemini-2.5-flash",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
max_tokens=4096,
|
max_tokens=4096,
|
||||||
@@ -215,17 +215,15 @@ class GoogleVertexLLMService(GoogleLLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GoogleVertexLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if system_instruction is not None:
|
if system_instruction is not None:
|
||||||
_warn_deprecated_param(
|
_warn_deprecated_param("system_instruction", self.Settings, "system_instruction")
|
||||||
"system_instruction", GoogleVertexLLMSettings, "system_instruction"
|
|
||||||
)
|
|
||||||
default_settings.system_instruction = system_instruction
|
default_settings.system_instruction = system_instruction
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GoogleVertexLLMSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.max_tokens = params.max_tokens
|
default_settings.max_tokens = params.max_tokens
|
||||||
default_settings.temperature = params.temperature
|
default_settings.temperature = params.temperature
|
||||||
|
|||||||
@@ -89,13 +89,13 @@ class GradiumSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GradiumSTTSettings
|
Settings = GradiumSTTSettings
|
||||||
_settings: GradiumSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Gradium STT API.
|
"""Configuration parameters for Gradium STT API.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GradiumSTTSettings(...)`` instead.
|
Use ``settings=GradiumSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Expected language of the audio (e.g., "en", "es", "fr").
|
language: Expected language of the audio (e.g., "en", "es", "fr").
|
||||||
@@ -117,7 +117,7 @@ class GradiumSTTService(WebsocketSTTService):
|
|||||||
api_endpoint_base_url: str = "wss://eu.api.gradium.ai/api/speech/asr",
|
api_endpoint_base_url: str = "wss://eu.api.gradium.ai/api/speech/asr",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
json_config: Optional[str] = None,
|
json_config: Optional[str] = None,
|
||||||
settings: Optional[GradiumSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = GRADIUM_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = GRADIUM_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -129,7 +129,7 @@ class GradiumSTTService(WebsocketSTTService):
|
|||||||
params: Configuration parameters for language and delay settings.
|
params: Configuration parameters for language and delay settings.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GradiumSTTSettings(...)`` instead.
|
Use ``settings=GradiumSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
json_config: Optional JSON configuration string for additional model settings.
|
json_config: Optional JSON configuration string for additional model settings.
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ class GradiumSTTService(WebsocketSTTService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GradiumSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
language=None,
|
language=None,
|
||||||
delay_in_frames=None,
|
delay_in_frames=None,
|
||||||
@@ -162,7 +162,7 @@ class GradiumSTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GradiumSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = params.language
|
default_settings.language = params.language
|
||||||
if params.delay_in_frames is not None:
|
if params.delay_in_frames is not None:
|
||||||
@@ -207,7 +207,7 @@ class GradiumSTTService(WebsocketSTTService):
|
|||||||
"""Apply a settings delta, sync params, and reconnect.
|
"""Apply a settings delta, sync params, and reconnect.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`STTSettings` (or ``GradiumSTTSettings``) delta.
|
delta: A :class:`STTSettings` (or ``GradiumSTTService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -48,13 +48,13 @@ class GradiumTTSService(WebsocketTTSService):
|
|||||||
"""Text-to-Speech service using Gradium's websocket API."""
|
"""Text-to-Speech service using Gradium's websocket API."""
|
||||||
|
|
||||||
Settings = GradiumTTSSettings
|
Settings = GradiumTTSSettings
|
||||||
_settings: GradiumTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Gradium TTS service.
|
"""Configuration parameters for Gradium TTS service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``GradiumTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``GradiumTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
temp: Temperature to be used for generation, defaults to 0.6.
|
temp: Temperature to be used for generation, defaults to 0.6.
|
||||||
@@ -71,7 +71,7 @@ class GradiumTTSService(WebsocketTTSService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
json_config: Optional[str] = None,
|
json_config: Optional[str] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[GradiumTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Gradium TTS service.
|
"""Initialize the Gradium TTS service.
|
||||||
@@ -81,26 +81,26 @@ class GradiumTTSService(WebsocketTTSService):
|
|||||||
voice_id: the voice identifier.
|
voice_id: the voice identifier.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GradiumTTSSettings(voice=...)`` instead.
|
Use ``settings=GradiumTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
url: Gradium websocket API endpoint.
|
url: Gradium websocket API endpoint.
|
||||||
model: Model ID to use for synthesis.
|
model: Model ID to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GradiumTTSSettings(model=...)`` instead.
|
Use ``settings=GradiumTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
json_config: Optional JSON configuration string for additional model settings.
|
json_config: Optional JSON configuration string for additional model settings.
|
||||||
params: Additional configuration parameters.
|
params: Additional configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GradiumTTSSettings(...)`` instead.
|
Use ``settings=GradiumTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent class.
|
**kwargs: Additional arguments passed to parent class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GradiumTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="default",
|
model="default",
|
||||||
voice="YTpq7expH9539ERJ",
|
voice="YTpq7expH9539ERJ",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -108,15 +108,15 @@ class GradiumTTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GradiumTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", GradiumTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GradiumTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
# Note: params.temp has no corresponding settings field
|
# Note: params.temp has no corresponding settings field
|
||||||
|
|
||||||
# 4. Apply settings delta (canonical API, always wins)
|
# 4. Apply settings delta (canonical API, always wins)
|
||||||
@@ -153,7 +153,7 @@ class GradiumTTSService(WebsocketTTSService):
|
|||||||
"""Apply a settings delta and reconnect if voice changed.
|
"""Apply a settings delta and reconnect if voice changed.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`TTSSettings` (or ``GradiumTTSSettings``) delta.
|
delta: A :class:`TTSSettings` (or ``GradiumTTSService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ from pipecat.processors.aggregators.llm_response import (
|
|||||||
LLMUserAggregatorParams,
|
LLMUserAggregatorParams,
|
||||||
)
|
)
|
||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import (
|
from pipecat.services.openai.llm import (
|
||||||
OpenAIAssistantContextAggregator,
|
OpenAIAssistantContextAggregator,
|
||||||
OpenAILLMService,
|
OpenAILLMService,
|
||||||
@@ -71,7 +71,7 @@ class GrokContextAggregatorPair:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class GrokLLMSettings(OpenAILLMSettings):
|
class GrokLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for GrokLLMService."""
|
"""Settings for GrokLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -87,7 +87,7 @@ class GrokLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GrokLLMSettings
|
Settings = GrokLLMSettings
|
||||||
_settings: GrokLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -95,7 +95,7 @@ class GrokLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://api.x.ai/v1",
|
base_url: str = "https://api.x.ai/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[GrokLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the GrokLLMService with API key and model.
|
"""Initialize the GrokLLMService with API key and model.
|
||||||
@@ -106,18 +106,18 @@ class GrokLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "grok-3-beta".
|
model: The model identifier to use. Defaults to "grok-3-beta".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=GrokLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GrokLLMSettings(model="grok-3-beta")
|
default_settings = self.Settings(model="grok-3-beta")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GrokLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -109,7 +109,7 @@ class GrokRealtimeLLMSettings(LLMSettings):
|
|||||||
# -- Bidirectional sync helpers ------------------------------------------
|
# -- Bidirectional sync helpers ------------------------------------------
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _sync_top_level_to_sp(settings: "GrokRealtimeLLMSettings"):
|
def _sync_top_level_to_sp(settings: "GrokRealtimeLLMService.Settings"):
|
||||||
"""Push top-level ``system_instruction`` into ``session_properties``."""
|
"""Push top-level ``system_instruction`` into ``session_properties``."""
|
||||||
if not is_given(settings.session_properties):
|
if not is_given(settings.session_properties):
|
||||||
return
|
return
|
||||||
@@ -119,7 +119,7 @@ class GrokRealtimeLLMSettings(LLMSettings):
|
|||||||
|
|
||||||
# -- apply_update override -----------------------------------------------
|
# -- apply_update override -----------------------------------------------
|
||||||
|
|
||||||
def apply_update(self, delta: "GrokRealtimeLLMSettings") -> Dict[str, Any]:
|
def apply_update(self, delta: "GrokRealtimeLLMService.Settings") -> Dict[str, Any]:
|
||||||
"""Merge a delta, keeping ``system_instruction`` in sync with SP.
|
"""Merge a delta, keeping ``system_instruction`` in sync with SP.
|
||||||
|
|
||||||
When the delta contains ``session_properties``, it **replaces** the
|
When the delta contains ``session_properties``, it **replaces** the
|
||||||
@@ -151,8 +151,8 @@ class GrokRealtimeLLMSettings(LLMSettings):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_mapping(
|
def from_mapping(
|
||||||
cls: Type["GrokRealtimeLLMSettings"], settings: Mapping[str, Any]
|
cls: Type["GrokRealtimeLLMService.Settings"], settings: Mapping[str, Any]
|
||||||
) -> "GrokRealtimeLLMSettings":
|
) -> "GrokRealtimeLLMService.Settings":
|
||||||
"""Build a delta from a plain dict, routing SP keys into ``session_properties``.
|
"""Build a delta from a plain dict, routing SP keys into ``session_properties``.
|
||||||
|
|
||||||
Keys that correspond to ``SessionProperties`` fields are collected into
|
Keys that correspond to ``SessionProperties`` fields are collected into
|
||||||
@@ -203,7 +203,7 @@ class GrokRealtimeLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GrokRealtimeLLMSettings
|
Settings = GrokRealtimeLLMSettings
|
||||||
_settings: GrokRealtimeLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Use the Grok-specific adapter
|
# Use the Grok-specific adapter
|
||||||
adapter_class = GrokRealtimeLLMAdapter
|
adapter_class = GrokRealtimeLLMAdapter
|
||||||
@@ -214,7 +214,7 @@ class GrokRealtimeLLMService(LLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "wss://api.x.ai/v1/realtime",
|
base_url: str = "wss://api.x.ai/v1/realtime",
|
||||||
session_properties: Optional[events.SessionProperties] = None,
|
session_properties: Optional[events.SessionProperties] = None,
|
||||||
settings: Optional[GrokRealtimeLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
start_audio_paused: bool = False,
|
start_audio_paused: bool = False,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -228,7 +228,7 @@ class GrokRealtimeLLMService(LLMService):
|
|||||||
If None, uses default SessionProperties with voice "Ara".
|
If None, uses default SessionProperties with voice "Ara".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GrokRealtimeLLMSettings(session_properties=...)``
|
Use ``settings=GrokRealtimeLLMService.Settings(session_properties=...)``
|
||||||
instead.
|
instead.
|
||||||
|
|
||||||
To set a different voice, configure it in session_properties:
|
To set a different voice, configure it in session_properties:
|
||||||
@@ -241,7 +241,7 @@ class GrokRealtimeLLMService(LLMService):
|
|||||||
**kwargs: Additional arguments passed to parent LLMService.
|
**kwargs: Additional arguments passed to parent LLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GrokRealtimeLLMSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
temperature=None,
|
temperature=None,
|
||||||
@@ -260,7 +260,7 @@ class GrokRealtimeLLMService(LLMService):
|
|||||||
if session_properties is not None:
|
if session_properties is not None:
|
||||||
_warn_deprecated_param(
|
_warn_deprecated_param(
|
||||||
"session_properties",
|
"session_properties",
|
||||||
GrokRealtimeLLMSettings,
|
self.Settings,
|
||||||
"session_properties",
|
"session_properties",
|
||||||
)
|
)
|
||||||
default_settings.session_properties = session_properties
|
default_settings.session_properties = session_properties
|
||||||
@@ -269,7 +269,7 @@ class GrokRealtimeLLMService(LLMService):
|
|||||||
default_settings.system_instruction = session_properties.instructions
|
default_settings.system_instruction = session_properties.instructions
|
||||||
|
|
||||||
# Sync top-level system_instruction back into session_properties
|
# Sync top-level system_instruction back into session_properties
|
||||||
GrokRealtimeLLMSettings._sync_top_level_to_sp(default_settings)
|
self.Settings._sync_top_level_to_sp(default_settings)
|
||||||
|
|
||||||
# 3. Apply settings delta (canonical API, always wins)
|
# 3. Apply settings delta (canonical API, always wins)
|
||||||
if settings is not None:
|
if settings is not None:
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ from typing import Optional
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class GroqLLMSettings(OpenAILLMSettings):
|
class GroqLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for GroqLLMService."""
|
"""Settings for GroqLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -31,7 +31,7 @@ class GroqLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GroqLLMSettings
|
Settings = GroqLLMSettings
|
||||||
_settings: GroqLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -39,7 +39,7 @@ class GroqLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://api.groq.com/openai/v1",
|
base_url: str = "https://api.groq.com/openai/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[GroqLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize Groq LLM service.
|
"""Initialize Groq LLM service.
|
||||||
@@ -50,18 +50,18 @@ class GroqLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "llama-3.3-70b-versatile".
|
model: The model identifier to use. Defaults to "llama-3.3-70b-versatile".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=GroqLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GroqLLMSettings(model="llama-3.3-70b-versatile")
|
default_settings = self.Settings(model="llama-3.3-70b-versatile")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GroqLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -13,14 +13,13 @@ from pipecat.services.settings import _warn_deprecated_param
|
|||||||
from pipecat.services.stt_latency import GROQ_TTFS_P99
|
from pipecat.services.stt_latency import GROQ_TTFS_P99
|
||||||
from pipecat.services.whisper.base_stt import (
|
from pipecat.services.whisper.base_stt import (
|
||||||
BaseWhisperSTTService,
|
BaseWhisperSTTService,
|
||||||
BaseWhisperSTTSettings,
|
|
||||||
Transcription,
|
Transcription,
|
||||||
)
|
)
|
||||||
from pipecat.transcriptions.language import Language
|
from pipecat.transcriptions.language import Language
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class GroqSTTSettings(BaseWhisperSTTSettings):
|
class GroqSTTSettings(BaseWhisperSTTService.Settings):
|
||||||
"""Settings for the Groq STT service.
|
"""Settings for the Groq STT service.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
@@ -38,7 +37,7 @@ class GroqSTTService(BaseWhisperSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GroqSTTSettings
|
Settings = GroqSTTSettings
|
||||||
_settings: GroqSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -49,7 +48,7 @@ class GroqSTTService(BaseWhisperSTTService):
|
|||||||
language: Optional[Language] = None,
|
language: Optional[Language] = None,
|
||||||
prompt: Optional[str] = None,
|
prompt: Optional[str] = None,
|
||||||
temperature: Optional[float] = None,
|
temperature: Optional[float] = None,
|
||||||
settings: Optional[GroqSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = GROQ_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = GROQ_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -59,24 +58,24 @@ class GroqSTTService(BaseWhisperSTTService):
|
|||||||
model: Whisper model to use.
|
model: Whisper model to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqSTTSettings(model=...)`` instead.
|
Use ``settings=GroqSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
api_key: Groq API key. Defaults to None.
|
api_key: Groq API key. Defaults to None.
|
||||||
base_url: API base URL. Defaults to "https://api.groq.com/openai/v1".
|
base_url: API base URL. Defaults to "https://api.groq.com/openai/v1".
|
||||||
language: Language of the audio input.
|
language: Language of the audio input.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqSTTSettings(language=...)`` instead.
|
Use ``settings=GroqSTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
prompt: Optional text to guide the model's style or continue a previous segment.
|
prompt: Optional text to guide the model's style or continue a previous segment.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqSTTSettings(prompt=...)`` instead.
|
Use ``settings=GroqSTTService.Settings(prompt=...)`` instead.
|
||||||
|
|
||||||
temperature: Optional sampling temperature between 0 and 1.
|
temperature: Optional sampling temperature between 0 and 1.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqSTTSettings(temperature=...)`` instead.
|
Use ``settings=GroqSTTService.Settings(temperature=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -85,7 +84,7 @@ class GroqSTTService(BaseWhisperSTTService):
|
|||||||
**kwargs: Additional arguments passed to BaseWhisperSTTService.
|
**kwargs: Additional arguments passed to BaseWhisperSTTService.
|
||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = GroqSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="whisper-large-v3-turbo",
|
model="whisper-large-v3-turbo",
|
||||||
language=self.language_to_service_language(Language.EN),
|
language=self.language_to_service_language(Language.EN),
|
||||||
prompt=None,
|
prompt=None,
|
||||||
@@ -94,16 +93,16 @@ class GroqSTTService(BaseWhisperSTTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", GroqSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if language is not None:
|
if language is not None:
|
||||||
_warn_deprecated_param("language", GroqSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = self.language_to_service_language(language)
|
default_settings.language = self.language_to_service_language(language)
|
||||||
if prompt is not None:
|
if prompt is not None:
|
||||||
_warn_deprecated_param("prompt", GroqSTTSettings, "prompt")
|
_warn_deprecated_param("prompt", self.Settings, "prompt")
|
||||||
default_settings.prompt = prompt
|
default_settings.prompt = prompt
|
||||||
if temperature is not None:
|
if temperature is not None:
|
||||||
_warn_deprecated_param("temperature", GroqSTTSettings, "temperature")
|
_warn_deprecated_param("temperature", self.Settings, "temperature")
|
||||||
default_settings.temperature = temperature
|
default_settings.temperature = temperature
|
||||||
|
|
||||||
# --- 3. (no params object for this service) ---
|
# --- 3. (no params object for this service) ---
|
||||||
|
|||||||
@@ -52,13 +52,13 @@ class GroqTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = GroqTTSSettings
|
Settings = GroqTTSSettings
|
||||||
_settings: GroqTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Groq TTS configuration.
|
"""Input parameters for Groq TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqTTSSettings(...)`` instead.
|
Use ``settings=GroqTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for speech synthesis. Defaults to English.
|
language: Language for speech synthesis. Defaults to English.
|
||||||
@@ -79,7 +79,7 @@ class GroqTTSService(TTSService):
|
|||||||
model_name: Optional[str] = None,
|
model_name: Optional[str] = None,
|
||||||
voice_id: Optional[str] = None,
|
voice_id: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = GROQ_SAMPLE_RATE,
|
sample_rate: Optional[int] = GROQ_SAMPLE_RATE,
|
||||||
settings: Optional[GroqTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize Groq TTS service.
|
"""Initialize Groq TTS service.
|
||||||
@@ -90,17 +90,17 @@ class GroqTTSService(TTSService):
|
|||||||
params: Additional input parameters for voice customization.
|
params: Additional input parameters for voice customization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqTTSSettings(...)`` instead.
|
Use ``settings=GroqTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
model_name: TTS model to use.
|
model_name: TTS model to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqTTSSettings(model=...)`` instead.
|
Use ``settings=GroqTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
voice_id: Voice identifier to use.
|
voice_id: Voice identifier to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=GroqTTSSettings(voice=...)`` instead.
|
Use ``settings=GroqTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate. Must be 48000 Hz for Groq TTS.
|
sample_rate: Audio sample rate. Must be 48000 Hz for Groq TTS.
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -111,7 +111,7 @@ class GroqTTSService(TTSService):
|
|||||||
logger.warning(f"Groq TTS only supports {self.GROQ_SAMPLE_RATE}Hz sample rate. ")
|
logger.warning(f"Groq TTS only supports {self.GROQ_SAMPLE_RATE}Hz sample rate. ")
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = GroqTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="canopylabs/orpheus-v1-english",
|
model="canopylabs/orpheus-v1-english",
|
||||||
voice="autumn",
|
voice="autumn",
|
||||||
language="en",
|
language="en",
|
||||||
@@ -120,15 +120,15 @@ class GroqTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model_name is not None:
|
if model_name is not None:
|
||||||
_warn_deprecated_param("model_name", GroqTTSSettings, "model")
|
_warn_deprecated_param("model_name", self.Settings, "model")
|
||||||
default_settings.model = model_name
|
default_settings.model = model_name
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", GroqTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", GroqTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = str(params.language) if params.language else "en"
|
default_settings.language = str(params.language) if params.language else "en"
|
||||||
default_settings.speed = params.speed
|
default_settings.speed = params.speed
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ class HeyGenVideoService(AIService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = HeyGenVideoSettings
|
Settings = HeyGenVideoSettings
|
||||||
_settings: HeyGenVideoSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -92,7 +92,7 @@ class HeyGenVideoService(AIService):
|
|||||||
session: aiohttp.ClientSession,
|
session: aiohttp.ClientSession,
|
||||||
session_request: Optional[Union[LiveAvatarNewSessionRequest, NewSessionRequest]] = None,
|
session_request: Optional[Union[LiveAvatarNewSessionRequest, NewSessionRequest]] = None,
|
||||||
service_type: Optional[ServiceType] = None,
|
service_type: Optional[ServiceType] = None,
|
||||||
settings: Optional[HeyGenVideoSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the HeyGen video service.
|
"""Initialize the HeyGen video service.
|
||||||
|
|||||||
@@ -79,13 +79,13 @@ class HumeTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = HumeTTSSettings
|
Settings = HumeTTSSettings
|
||||||
_settings: HumeTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Optional synthesis parameters for Hume TTS.
|
"""Optional synthesis parameters for Hume TTS.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=HumeTTSSettings(...)`` instead.
|
Use ``settings=HumeTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
description: Natural-language acting directions (up to 100 characters).
|
description: Natural-language acting directions (up to 100 characters).
|
||||||
@@ -104,7 +104,7 @@ class HumeTTSService(TTSService):
|
|||||||
voice_id: Optional[str] = None,
|
voice_id: Optional[str] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
sample_rate: Optional[int] = HUME_SAMPLE_RATE,
|
sample_rate: Optional[int] = HUME_SAMPLE_RATE,
|
||||||
settings: Optional[HumeTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the HumeTTSService.
|
"""Initialize the HumeTTSService.
|
||||||
@@ -114,12 +114,12 @@ class HumeTTSService(TTSService):
|
|||||||
voice_id: ID of the voice to use. Only voice IDs are supported; voice names are not.
|
voice_id: ID of the voice to use. Only voice IDs are supported; voice names are not.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=HumeTTSSettings(voice=...)`` instead.
|
Use ``settings=HumeTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
params: Optional synthesis controls (acting instructions, speed, trailing silence).
|
params: Optional synthesis controls (acting instructions, speed, trailing silence).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=HumeTTSSettings(...)`` instead.
|
Use ``settings=HumeTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
sample_rate: Output sample rate for emitted PCM frames. Defaults to 48_000 (Hume).
|
sample_rate: Output sample rate for emitted PCM frames. Defaults to 48_000 (Hume).
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -136,7 +136,7 @@ class HumeTTSService(TTSService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = HumeTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None, # Not applicable here
|
language=None, # Not applicable here
|
||||||
@@ -147,12 +147,12 @@ class HumeTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", HumeTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", HumeTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.description = params.description
|
default_settings.description = params.description
|
||||||
default_settings.speed = params.speed
|
default_settings.speed = params.speed
|
||||||
@@ -242,7 +242,7 @@ class HumeTTSService(TTSService):
|
|||||||
"""Runtime updates via key/value pair.
|
"""Runtime updates via key/value pair.
|
||||||
|
|
||||||
.. deprecated:: 0.0.104
|
.. deprecated:: 0.0.104
|
||||||
Use ``TTSUpdateSettingsFrame(delta=HumeTTSSettings(...))`` instead.
|
Use ``TTSUpdateSettingsFrame(delta=HumeTTSService.Settings(...))`` instead.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
key: The name of the setting to update. Recognized keys are:
|
key: The name of the setting to update. Recognized keys are:
|
||||||
@@ -256,7 +256,7 @@ class HumeTTSService(TTSService):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"'update_setting' is deprecated, use "
|
"'update_setting' is deprecated, use "
|
||||||
"'TTSUpdateSettingsFrame(delta=HumeTTSSettings(...))' instead.",
|
"'TTSUpdateSettingsFrame(delta=self.Settings(...))' instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
stacklevel=2,
|
stacklevel=2,
|
||||||
)
|
)
|
||||||
@@ -274,7 +274,7 @@ class HumeTTSService(TTSService):
|
|||||||
kwargs["speed"] = None if value is None else float(value)
|
kwargs["speed"] = None if value is None else float(value)
|
||||||
elif key_l == "trailing_silence":
|
elif key_l == "trailing_silence":
|
||||||
kwargs["trailing_silence"] = None if value is None else float(value)
|
kwargs["trailing_silence"] = None if value is None else float(value)
|
||||||
await self._update_settings(HumeTTSSettings(**kwargs))
|
await self._update_settings(self.Settings(**kwargs))
|
||||||
|
|
||||||
@traced_tts
|
@traced_tts
|
||||||
async def run_tts(self, text: str, context_id: str) -> AsyncGenerator[Frame, None]:
|
async def run_tts(self, text: str, context_id: str) -> AsyncGenerator[Frame, None]:
|
||||||
|
|||||||
@@ -101,13 +101,13 @@ class InworldHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = InworldTTSSettings
|
Settings = InworldTTSSettings
|
||||||
_settings: InworldTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Inworld TTS configuration.
|
"""Input parameters for Inworld TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``InworldTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``InworldHttpTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
temperature: Temperature for speech synthesis.
|
temperature: Temperature for speech synthesis.
|
||||||
@@ -131,7 +131,7 @@ class InworldHttpTTSService(TTSService):
|
|||||||
encoding: str = "LINEAR16",
|
encoding: str = "LINEAR16",
|
||||||
timestamp_transport_strategy: Optional[Literal["ASYNC", "SYNC"]] = "ASYNC",
|
timestamp_transport_strategy: Optional[Literal["ASYNC", "SYNC"]] = "ASYNC",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[InworldTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Inworld TTS service.
|
"""Initialize the Inworld TTS service.
|
||||||
@@ -142,12 +142,12 @@ class InworldHttpTTSService(TTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=InworldTTSSettings(voice=...)`` instead.
|
Use ``settings=InworldHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: ID of the model to use for synthesis.
|
model: ID of the model to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=InworldTTSSettings(model=...)`` instead.
|
Use ``settings=InworldHttpTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
streaming: Whether to use streaming mode.
|
streaming: Whether to use streaming mode.
|
||||||
sample_rate: Audio sample rate in Hz.
|
sample_rate: Audio sample rate in Hz.
|
||||||
@@ -157,14 +157,14 @@ class InworldHttpTTSService(TTSService):
|
|||||||
params: Input parameters for Inworld TTS configuration.
|
params: Input parameters for Inworld TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=InworldTTSSettings(...)`` instead.
|
Use ``settings=InworldHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to the parent class.
|
**kwargs: Additional arguments passed to the parent class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = InworldTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="inworld-tts-1.5-max",
|
model="inworld-tts-1.5-max",
|
||||||
voice="Ashley",
|
voice="Ashley",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -174,15 +174,15 @@ class InworldHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", InworldTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", InworldTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", InworldTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.speaking_rate is not None:
|
if params.speaking_rate is not None:
|
||||||
default_settings.speaking_rate = params.speaking_rate
|
default_settings.speaking_rate = params.speaking_rate
|
||||||
@@ -489,13 +489,13 @@ class InworldTTSService(WebsocketTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = InworldTTSSettings
|
Settings = InworldTTSSettings
|
||||||
_settings: InworldTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Inworld WebSocket TTS configuration.
|
"""Input parameters for Inworld WebSocket TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``InworldTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``InworldTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
temperature: Temperature for speech synthesis.
|
temperature: Temperature for speech synthesis.
|
||||||
@@ -532,7 +532,7 @@ class InworldTTSService(WebsocketTTSService):
|
|||||||
apply_text_normalization: Optional[str] = None,
|
apply_text_normalization: Optional[str] = None,
|
||||||
timestamp_transport_strategy: Optional[Literal["ASYNC", "SYNC"]] = "ASYNC",
|
timestamp_transport_strategy: Optional[Literal["ASYNC", "SYNC"]] = "ASYNC",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[InworldTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
append_trailing_space: bool = True,
|
append_trailing_space: bool = True,
|
||||||
@@ -545,12 +545,12 @@ class InworldTTSService(WebsocketTTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=InworldTTSSettings(voice=...)`` instead.
|
Use ``settings=InworldTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: ID of the model to use for synthesis.
|
model: ID of the model to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=InworldTTSSettings(model=...)`` instead.
|
Use ``settings=InworldTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
url: URL of the Inworld WebSocket API.
|
url: URL of the Inworld WebSocket API.
|
||||||
sample_rate: Audio sample rate in Hz.
|
sample_rate: Audio sample rate in Hz.
|
||||||
@@ -564,7 +564,7 @@ class InworldTTSService(WebsocketTTSService):
|
|||||||
params: Input parameters for Inworld WebSocket TTS configuration.
|
params: Input parameters for Inworld WebSocket TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=InworldTTSSettings(...)`` instead.
|
Use ``settings=InworldTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -582,7 +582,7 @@ class InworldTTSService(WebsocketTTSService):
|
|||||||
auto_mode = True if aggregate_sentences is None else aggregate_sentences
|
auto_mode = True if aggregate_sentences is None else aggregate_sentences
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = InworldTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="inworld-tts-1.5-max",
|
model="inworld-tts-1.5-max",
|
||||||
voice="Ashley",
|
voice="Ashley",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -592,17 +592,17 @@ class InworldTTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", InworldTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", InworldTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
_buffer_max_delay_ms = None
|
_buffer_max_delay_ms = None
|
||||||
_buffer_char_threshold = None
|
_buffer_char_threshold = None
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", InworldTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.speaking_rate is not None:
|
if params.speaking_rate is not None:
|
||||||
default_settings.speaking_rate = params.speaking_rate
|
default_settings.speaking_rate = params.speaking_rate
|
||||||
|
|||||||
@@ -102,13 +102,13 @@ class KokoroTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = KokoroTTSSettings
|
Settings = KokoroTTSSettings
|
||||||
_settings: KokoroTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Kokoro TTS configuration.
|
"""Input parameters for Kokoro TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``KokoroTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``KokoroTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language to use for synthesis.
|
language: Language to use for synthesis.
|
||||||
@@ -123,7 +123,7 @@ class KokoroTTSService(TTSService):
|
|||||||
model_path: Optional[str] = None,
|
model_path: Optional[str] = None,
|
||||||
voices_path: Optional[str] = None,
|
voices_path: Optional[str] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[KokoroTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Kokoro TTS service.
|
"""Initialize the Kokoro TTS service.
|
||||||
@@ -132,14 +132,14 @@ class KokoroTTSService(TTSService):
|
|||||||
voice_id: Voice identifier to use for synthesis.
|
voice_id: Voice identifier to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=KokoroTTSSettings(voice=...)`` instead.
|
Use ``settings=KokoroTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model_path: Path to the kokoro ONNX model file. Defaults to auto-downloaded file.
|
model_path: Path to the kokoro ONNX model file. Defaults to auto-downloaded file.
|
||||||
voices_path: Path to the voices binary file. Defaults to auto-downloaded file.
|
voices_path: Path to the voices binary file. Defaults to auto-downloaded file.
|
||||||
params: Configuration parameters for synthesis.
|
params: Configuration parameters for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=KokoroTTSSettings(...)`` instead.
|
Use ``settings=KokoroTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -147,7 +147,7 @@ class KokoroTTSService(TTSService):
|
|||||||
|
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = KokoroTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice=None,
|
voice=None,
|
||||||
language=language_to_kokoro_language(Language.EN),
|
language=language_to_kokoro_language(Language.EN),
|
||||||
@@ -155,12 +155,12 @@ class KokoroTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", KokoroTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", KokoroTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = language_to_kokoro_language(params.language)
|
default_settings.language = language_to_kokoro_language(params.language)
|
||||||
|
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = LmntTTSSettings
|
Settings = LmntTTSSettings
|
||||||
_settings: LmntTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -100,7 +100,7 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
language: Language = Language.EN,
|
language: Language = Language.EN,
|
||||||
output_format: str = "pcm_s16le",
|
output_format: str = "pcm_s16le",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[LmntTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the LMNT TTS service.
|
"""Initialize the LMNT TTS service.
|
||||||
@@ -110,7 +110,7 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=LmntTTSSettings(voice=...)`` instead.
|
Use ``settings=LmntTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate. If None, uses default.
|
sample_rate: Audio sample rate. If None, uses default.
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -119,14 +119,14 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
model: TTS model to use.
|
model: TTS model to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=LmntTTSSettings(model=...)`` instead.
|
Use ``settings=LmntTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent InterruptibleTTSService.
|
**kwargs: Additional arguments passed to parent InterruptibleTTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = LmntTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="aurora",
|
model="aurora",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=self.language_to_service_language(language),
|
language=self.language_to_service_language(language),
|
||||||
@@ -134,10 +134,10 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", LmntTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", LmntTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
@@ -237,7 +237,7 @@ class LmntTTSService(InterruptibleTTSService):
|
|||||||
"""Apply a settings delta.
|
"""Apply a settings delta.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`TTSSettings` (or ``LmntTTSSettings``) delta.
|
delta: A :class:`TTSSettings` (or ``LmntTTSService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -141,13 +141,13 @@ class MiniMaxHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = MiniMaxTTSSettings
|
Settings = MiniMaxTTSSettings
|
||||||
_settings: MiniMaxTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for MiniMax TTS.
|
"""Configuration parameters for MiniMax TTS.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``MiniMaxTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``MiniMaxHttpTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for TTS generation. Supports 40 languages.
|
language: Language for TTS generation. Supports 40 languages.
|
||||||
@@ -190,7 +190,7 @@ class MiniMaxHttpTTSService(TTSService):
|
|||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
stream: bool = True,
|
stream: bool = True,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[MiniMaxTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the MiniMax TTS service.
|
"""Initialize the MiniMax TTS service.
|
||||||
@@ -208,12 +208,12 @@ class MiniMaxHttpTTSService(TTSService):
|
|||||||
"speech-01-hd", "speech-01-turbo".
|
"speech-01-hd", "speech-01-turbo".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=MiniMaxTTSSettings(model=...)`` instead.
|
Use ``settings=MiniMaxHttpTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
voice_id: Voice identifier. Defaults to "Calm_Woman".
|
voice_id: Voice identifier. Defaults to "Calm_Woman".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=MiniMaxTTSSettings(voice=...)`` instead.
|
Use ``settings=MiniMaxHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: aiohttp.ClientSession for API communication.
|
aiohttp_session: aiohttp.ClientSession for API communication.
|
||||||
sample_rate: Output audio sample rate in Hz. If None, uses pipeline default.
|
sample_rate: Output audio sample rate in Hz. If None, uses pipeline default.
|
||||||
@@ -221,14 +221,14 @@ class MiniMaxHttpTTSService(TTSService):
|
|||||||
params: Additional configuration parameters.
|
params: Additional configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=MiniMaxTTSSettings(...)`` instead.
|
Use ``settings=MiniMaxHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = MiniMaxTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="speech-02-turbo",
|
model="speech-02-turbo",
|
||||||
voice="Calm_Woman",
|
voice="Calm_Woman",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -243,15 +243,15 @@ class MiniMaxHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", MiniMaxTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", MiniMaxTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", MiniMaxTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.speed = params.speed
|
default_settings.speed = params.speed
|
||||||
default_settings.volume = params.volume
|
default_settings.volume = params.volume
|
||||||
|
|||||||
@@ -14,13 +14,13 @@ from openai.types.chat import ChatCompletionMessageParam
|
|||||||
|
|
||||||
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
||||||
from pipecat.frames.frames import FunctionCallFromLLM
|
from pipecat.frames.frames import FunctionCallFromLLM
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class MistralLLMSettings(OpenAILLMSettings):
|
class MistralLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for MistralLLMService."""
|
"""Settings for MistralLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -34,7 +34,7 @@ class MistralLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = MistralLLMSettings
|
Settings = MistralLLMSettings
|
||||||
_settings: MistralLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -42,7 +42,7 @@ class MistralLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://api.mistral.ai/v1",
|
base_url: str = "https://api.mistral.ai/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[MistralLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Mistral LLM service.
|
"""Initialize the Mistral LLM service.
|
||||||
@@ -53,18 +53,18 @@ class MistralLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "mistral-small-latest".
|
model: The model identifier to use. Defaults to "mistral-small-latest".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=MistralLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = MistralLLMSettings(model="mistral-small-latest")
|
default_settings = self.Settings(model="mistral-small-latest")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", MistralLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ class MoondreamService(VisionService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = MoondreamSettings
|
Settings = MoondreamSettings
|
||||||
_settings: MoondreamSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -88,7 +88,7 @@ class MoondreamService(VisionService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
revision="2025-01-09",
|
revision="2025-01-09",
|
||||||
use_cpu=False,
|
use_cpu=False,
|
||||||
settings: Optional[MoondreamSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Moondream service.
|
"""Initialize the Moondream service.
|
||||||
@@ -97,7 +97,7 @@ class MoondreamService(VisionService):
|
|||||||
model: Hugging Face model identifier for the Moondream model.
|
model: Hugging Face model identifier for the Moondream model.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=MoondreamSettings(model=...)`` instead.
|
Use ``settings=MoondreamService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
revision: Specific model revision to use.
|
revision: Specific model revision to use.
|
||||||
use_cpu: Whether to force CPU usage instead of hardware acceleration.
|
use_cpu: Whether to force CPU usage instead of hardware acceleration.
|
||||||
@@ -106,11 +106,11 @@ class MoondreamService(VisionService):
|
|||||||
**kwargs: Additional arguments passed to the parent VisionService.
|
**kwargs: Additional arguments passed to the parent VisionService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = MoondreamSettings(model="vikhyatk/moondream2")
|
default_settings = self.Settings(model="vikhyatk/moondream2")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", MoondreamSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 4. Apply settings delta (canonical API, always wins)
|
# 4. Apply settings delta (canonical API, always wins)
|
||||||
|
|||||||
@@ -92,13 +92,13 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = NeuphonicTTSSettings
|
Settings = NeuphonicTTSSettings
|
||||||
_settings: NeuphonicTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Neuphonic TTS configuration.
|
"""Input parameters for Neuphonic TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NeuphonicTTSSettings(...)`` instead.
|
Use ``settings=NeuphonicTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -117,7 +117,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
|||||||
sample_rate: Optional[int] = 22050,
|
sample_rate: Optional[int] = 22050,
|
||||||
encoding: str = "pcm_linear",
|
encoding: str = "pcm_linear",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[NeuphonicTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -129,7 +129,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NeuphonicTTSSettings(voice=...)`` instead.
|
Use ``settings=NeuphonicTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
url: WebSocket URL for the Neuphonic API.
|
url: WebSocket URL for the Neuphonic API.
|
||||||
sample_rate: Audio sample rate in Hz. Defaults to 22050.
|
sample_rate: Audio sample rate in Hz. Defaults to 22050.
|
||||||
@@ -137,7 +137,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
|||||||
params: Additional input parameters for TTS configuration.
|
params: Additional input parameters for TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NeuphonicTTSSettings(...)`` instead.
|
Use ``settings=NeuphonicTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -150,7 +150,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
|||||||
**kwargs: Additional arguments passed to parent InterruptibleTTSService.
|
**kwargs: Additional arguments passed to parent InterruptibleTTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = NeuphonicTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice=None,
|
voice=None,
|
||||||
language=self.language_to_service_language(Language.EN),
|
language=self.language_to_service_language(Language.EN),
|
||||||
@@ -159,12 +159,12 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", NeuphonicTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", NeuphonicTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
@@ -432,13 +432,13 @@ class NeuphonicHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = NeuphonicTTSSettings
|
Settings = NeuphonicTTSSettings
|
||||||
_settings: NeuphonicTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Neuphonic HTTP TTS configuration.
|
"""Input parameters for Neuphonic HTTP TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NeuphonicTTSSettings(...)`` instead.
|
Use ``settings=NeuphonicHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -458,7 +458,7 @@ class NeuphonicHttpTTSService(TTSService):
|
|||||||
sample_rate: Optional[int] = 22050,
|
sample_rate: Optional[int] = 22050,
|
||||||
encoding: Optional[str] = "pcm_linear",
|
encoding: Optional[str] = "pcm_linear",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[NeuphonicTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Neuphonic HTTP TTS service.
|
"""Initialize the Neuphonic HTTP TTS service.
|
||||||
@@ -468,7 +468,7 @@ class NeuphonicHttpTTSService(TTSService):
|
|||||||
voice_id: ID of the voice to use for synthesis.
|
voice_id: ID of the voice to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NeuphonicTTSSettings(voice=...)`` instead.
|
Use ``settings=NeuphonicHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: Shared aiohttp session for HTTP requests.
|
aiohttp_session: Shared aiohttp session for HTTP requests.
|
||||||
url: Base URL for the Neuphonic HTTP API.
|
url: Base URL for the Neuphonic HTTP API.
|
||||||
@@ -477,14 +477,14 @@ class NeuphonicHttpTTSService(TTSService):
|
|||||||
params: Additional input parameters for TTS configuration.
|
params: Additional input parameters for TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NeuphonicTTSSettings(...)`` instead.
|
Use ``settings=NeuphonicHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = NeuphonicTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice=None,
|
voice=None,
|
||||||
language=self.language_to_service_language(Language.EN),
|
language=self.language_to_service_language(Language.EN),
|
||||||
@@ -493,12 +493,12 @@ class NeuphonicHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", NeuphonicTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", NeuphonicTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = self.language_to_service_language(params.language)
|
default_settings.language = self.language_to_service_language(params.language)
|
||||||
|
|||||||
@@ -16,13 +16,13 @@ from typing import Optional
|
|||||||
from pipecat.metrics.metrics import LLMTokenUsage
|
from pipecat.metrics.metrics import LLMTokenUsage
|
||||||
from pipecat.processors.aggregators.llm_context import LLMContext
|
from pipecat.processors.aggregators.llm_context import LLMContext
|
||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class NvidiaLLMSettings(OpenAILLMSettings):
|
class NvidiaLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for NvidiaLLMService."""
|
"""Settings for NvidiaLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -37,7 +37,7 @@ class NvidiaLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = NvidiaLLMSettings
|
Settings = NvidiaLLMSettings
|
||||||
_settings: NvidiaLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -45,7 +45,7 @@ class NvidiaLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://integrate.api.nvidia.com/v1",
|
base_url: str = "https://integrate.api.nvidia.com/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[NvidiaLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the NvidiaLLMService.
|
"""Initialize the NvidiaLLMService.
|
||||||
@@ -57,18 +57,18 @@ class NvidiaLLMService(OpenAILLMService):
|
|||||||
"nvidia/llama-3.1-nemotron-70b-instruct".
|
"nvidia/llama-3.1-nemotron-70b-instruct".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=NvidiaLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = NvidiaLLMSettings(model="nvidia/llama-3.1-nemotron-70b-instruct")
|
default_settings = self.Settings(model="nvidia/llama-3.1-nemotron-70b-instruct")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", NvidiaLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -126,13 +126,13 @@ class NvidiaSTTService(STTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = NvidiaSTTSettings
|
Settings = NvidiaSTTSettings
|
||||||
_settings: NvidiaSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for NVIDIA Riva STT service.
|
"""Configuration parameters for NVIDIA Riva STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NvidiaSTTSettings(...)`` instead.
|
Use ``settings=NvidiaSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Target language for transcription. Defaults to EN_US.
|
language: Target language for transcription. Defaults to EN_US.
|
||||||
@@ -152,7 +152,7 @@ class NvidiaSTTService(STTService):
|
|||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
use_ssl: bool = True,
|
use_ssl: bool = True,
|
||||||
settings: Optional[NvidiaSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = NVIDIA_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = NVIDIA_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -166,7 +166,7 @@ class NvidiaSTTService(STTService):
|
|||||||
params: Additional configuration parameters for NVIDIA Riva.
|
params: Additional configuration parameters for NVIDIA Riva.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NvidiaSTTSettings(...)`` instead.
|
Use ``settings=NvidiaSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
use_ssl: Whether to use SSL for the NVIDIA Riva server. Defaults to True.
|
use_ssl: Whether to use SSL for the NVIDIA Riva server. Defaults to True.
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -176,7 +176,7 @@ class NvidiaSTTService(STTService):
|
|||||||
**kwargs: Additional arguments passed to STTService.
|
**kwargs: Additional arguments passed to STTService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = NvidiaSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=model_function_map.get("model_name"),
|
model=model_function_map.get("model_name"),
|
||||||
language=Language.EN_US,
|
language=Language.EN_US,
|
||||||
)
|
)
|
||||||
@@ -185,7 +185,7 @@ class NvidiaSTTService(STTService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", NvidiaSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = params.language
|
default_settings.language = params.language
|
||||||
|
|
||||||
@@ -441,13 +441,13 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = NvidiaSegmentedSTTSettings
|
Settings = NvidiaSegmentedSTTSettings
|
||||||
_settings: NvidiaSegmentedSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for NVIDIA Riva segmented STT service.
|
"""Configuration parameters for NVIDIA Riva segmented STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NvidiaSegmentedSTTSettings(...)`` instead.
|
Use ``settings=NvidiaSegmentedSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Target language for transcription. Defaults to EN_US.
|
language: Target language for transcription. Defaults to EN_US.
|
||||||
@@ -477,7 +477,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
|
|||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
use_ssl: bool = True,
|
use_ssl: bool = True,
|
||||||
settings: Optional[NvidiaSegmentedSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = NVIDIA_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = NVIDIA_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -491,7 +491,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
|
|||||||
params: Additional configuration parameters for NVIDIA Riva
|
params: Additional configuration parameters for NVIDIA Riva
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NvidiaSegmentedSTTSettings(...)`` instead.
|
Use ``settings=NvidiaSegmentedSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
use_ssl: Whether to use SSL for the NVIDIA Riva server. Defaults to True.
|
use_ssl: Whether to use SSL for the NVIDIA Riva server. Defaults to True.
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -501,7 +501,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
|
|||||||
**kwargs: Additional arguments passed to SegmentedSTTService
|
**kwargs: Additional arguments passed to SegmentedSTTService
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = NvidiaSegmentedSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=model_function_map.get("model_name"),
|
model=model_function_map.get("model_name"),
|
||||||
language=language_to_nvidia_riva_language(Language.EN_US) or "en-US",
|
language=language_to_nvidia_riva_language(Language.EN_US) or "en-US",
|
||||||
profanity_filter=False,
|
profanity_filter=False,
|
||||||
@@ -515,7 +515,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", NvidiaSegmentedSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
language_to_nvidia_riva_language(params.language or Language.EN_US) or "en-US"
|
language_to_nvidia_riva_language(params.language or Language.EN_US) or "en-US"
|
||||||
@@ -641,7 +641,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
|
|||||||
"""Apply a settings delta and sync internal state.
|
"""Apply a settings delta and sync internal state.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`STTSettings` (or ``NvidiaSegmentedSTTSettings``) delta.
|
delta: A :class:`STTSettings` (or ``NvidiaSegmentedSTTService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -62,13 +62,13 @@ class NvidiaTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = NvidiaTTSSettings
|
Settings = NvidiaTTSSettings
|
||||||
_settings: NvidiaTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Riva TTS configuration.
|
"""Input parameters for Riva TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``NvidiaTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``NvidiaTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language code for synthesis. Defaults to US English.
|
language: Language code for synthesis. Defaults to US English.
|
||||||
@@ -90,7 +90,7 @@ class NvidiaTTSService(TTSService):
|
|||||||
"model_name": "magpie-tts-multilingual",
|
"model_name": "magpie-tts-multilingual",
|
||||||
},
|
},
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[NvidiaTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
use_ssl: bool = True,
|
use_ssl: bool = True,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -102,14 +102,14 @@ class NvidiaTTSService(TTSService):
|
|||||||
voice_id: Voice model identifier. Defaults to multilingual Aria voice.
|
voice_id: Voice model identifier. Defaults to multilingual Aria voice.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NvidiaTTSSettings(voice=...)`` instead.
|
Use ``settings=NvidiaTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate. If None, uses service default.
|
sample_rate: Audio sample rate. If None, uses service default.
|
||||||
model_function_map: Dictionary containing function_id and model_name for the TTS model.
|
model_function_map: Dictionary containing function_id and model_name for the TTS model.
|
||||||
params: Additional configuration parameters for TTS synthesis.
|
params: Additional configuration parameters for TTS synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=NvidiaTTSSettings(...)`` instead.
|
Use ``settings=NvidiaTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -117,7 +117,7 @@ class NvidiaTTSService(TTSService):
|
|||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = NvidiaTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=model_function_map.get("model_name"),
|
model=model_function_map.get("model_name"),
|
||||||
voice="Magpie-Multilingual.EN-US.Aria",
|
voice="Magpie-Multilingual.EN-US.Aria",
|
||||||
language=Language.EN_US,
|
language=Language.EN_US,
|
||||||
@@ -126,12 +126,12 @@ class NvidiaTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", NvidiaTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", NvidiaTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = params.language
|
default_settings.language = params.language
|
||||||
@@ -186,7 +186,7 @@ class NvidiaTTSService(TTSService):
|
|||||||
stacklevel=2,
|
stacklevel=2,
|
||||||
)
|
)
|
||||||
|
|
||||||
async def _update_settings(self, delta: NvidiaTTSSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply a settings delta.
|
"""Apply a settings delta.
|
||||||
|
|
||||||
Settings are stored but not applied to the active connection.
|
Settings are stored but not applied to the active connection.
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ from typing import Optional
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class OllamaLLMSettings(OpenAILLMSettings):
|
class OllamaLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for OLLamaLLMService."""
|
"""Settings for OLLamaLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -31,14 +31,14 @@ class OLLamaLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OllamaLLMSettings
|
Settings = OllamaLLMSettings
|
||||||
_settings: OllamaLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
base_url: str = "http://localhost:11434/v1",
|
base_url: str = "http://localhost:11434/v1",
|
||||||
settings: Optional[OllamaLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize OLLama LLM service.
|
"""Initialize OLLama LLM service.
|
||||||
@@ -47,7 +47,7 @@ class OLLamaLLMService(OpenAILLMService):
|
|||||||
model: The OLLama model to use. Defaults to "llama2".
|
model: The OLLama model to use. Defaults to "llama2".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=OLLamaLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: The base URL for the OLLama API endpoint.
|
base_url: The base URL for the OLLama API endpoint.
|
||||||
Defaults to "http://localhost:11434/v1".
|
Defaults to "http://localhost:11434/v1".
|
||||||
@@ -56,11 +56,11 @@ class OLLamaLLMService(OpenAILLMService):
|
|||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OllamaLLMSettings(model="llama2")
|
default_settings = self.Settings(model="llama2")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OllamaLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -69,13 +69,13 @@ class BaseOpenAILLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenAILLMSettings
|
Settings = OpenAILLMSettings
|
||||||
_settings: OpenAILLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for OpenAI model configuration.
|
"""Input parameters for OpenAI model configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(...)`` instead of
|
Use ``settings=BaseOpenAILLMService.Settings(...)`` instead of
|
||||||
``params=InputParams(...)``.
|
``params=InputParams(...)``.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
@@ -119,7 +119,7 @@ class BaseOpenAILLMService(LLMService):
|
|||||||
default_headers: Optional[Mapping[str, str]] = None,
|
default_headers: Optional[Mapping[str, str]] = None,
|
||||||
service_tier: Optional[str] = None,
|
service_tier: Optional[str] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[OpenAILLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
retry_timeout_secs: Optional[float] = 5.0,
|
retry_timeout_secs: Optional[float] = 5.0,
|
||||||
retry_on_timeout: Optional[bool] = False,
|
retry_on_timeout: Optional[bool] = False,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -130,7 +130,7 @@ class BaseOpenAILLMService(LLMService):
|
|||||||
model: The OpenAI model name to use (e.g., "gpt-4.1", "gpt-4o").
|
model: The OpenAI model name to use (e.g., "gpt-4.1", "gpt-4o").
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=BaseOpenAILLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
api_key: OpenAI API key. If None, uses environment variable.
|
api_key: OpenAI API key. If None, uses environment variable.
|
||||||
base_url: Custom base URL for OpenAI API. If None, uses default.
|
base_url: Custom base URL for OpenAI API. If None, uses default.
|
||||||
@@ -141,7 +141,7 @@ class BaseOpenAILLMService(LLMService):
|
|||||||
params: Input parameters for model configuration and behavior.
|
params: Input parameters for model configuration and behavior.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(...)`` instead.
|
Use ``settings=BaseOpenAILLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -150,7 +150,7 @@ class BaseOpenAILLMService(LLMService):
|
|||||||
**kwargs: Additional arguments passed to the parent LLMService.
|
**kwargs: Additional arguments passed to the parent LLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenAILLMSettings(
|
default_settings = self.Settings(
|
||||||
model="gpt-4o",
|
model="gpt-4o",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
frequency_penalty=NOT_GIVEN,
|
frequency_penalty=NOT_GIVEN,
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ class OpenAIImageGenService(ImageGenService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenAIImageGenSettings
|
Settings = OpenAIImageGenSettings
|
||||||
_settings: OpenAIImageGenSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -61,7 +61,7 @@ class OpenAIImageGenService(ImageGenService):
|
|||||||
Literal["256x256", "512x512", "1024x1024", "1792x1024", "1024x1792"]
|
Literal["256x256", "512x512", "1024x1024", "1792x1024", "1024x1792"]
|
||||||
] = None,
|
] = None,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[OpenAIImageGenSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
):
|
):
|
||||||
"""Initialize the OpenAI image generation service.
|
"""Initialize the OpenAI image generation service.
|
||||||
|
|
||||||
@@ -72,29 +72,29 @@ class OpenAIImageGenService(ImageGenService):
|
|||||||
image_size: Target size for generated images. Defaults to "1024x1024".
|
image_size: Target size for generated images. Defaults to "1024x1024".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIImageGenSettings(image_size=...)`` instead.
|
Use ``settings=OpenAIImageGenService.Settings(image_size=...)`` instead.
|
||||||
|
|
||||||
model: DALL-E model to use for generation. Defaults to "dall-e-3".
|
model: DALL-E model to use for generation. Defaults to "dall-e-3".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIImageGenSettings(model=...)`` instead.
|
Use ``settings=OpenAIImageGenService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenAIImageGenSettings(
|
default_settings = self.Settings(
|
||||||
model="dall-e-3",
|
model="dall-e-3",
|
||||||
image_size=None,
|
image_size=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenAIImageGenSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
if image_size is not None:
|
if image_size is not None:
|
||||||
_warn_deprecated_param("image_size", OpenAIImageGenSettings, "image_size")
|
_warn_deprecated_param("image_size", self.Settings, "image_size")
|
||||||
default_settings.image_size = image_size
|
default_settings.image_size = image_size
|
||||||
|
|
||||||
# 4. Apply settings delta (canonical API, always wins)
|
# 4. Apply settings delta (canonical API, always wins)
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ from pipecat.processors.aggregators.llm_response import (
|
|||||||
LLMUserContextAggregator,
|
LLMUserContextAggregator,
|
||||||
)
|
)
|
||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.openai.base_llm import BaseOpenAILLMService, OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@@ -72,13 +72,15 @@ class OpenAILLMService(BaseOpenAILLMService):
|
|||||||
context aggregator creation.
|
context aggregator creation.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
Settings = BaseOpenAILLMService.Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
service_tier: Optional[str] = None,
|
service_tier: Optional[str] = None,
|
||||||
params: Optional[BaseOpenAILLMService.InputParams] = None,
|
params: Optional[BaseOpenAILLMService.InputParams] = None,
|
||||||
settings: Optional[OpenAILLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize OpenAI LLM service.
|
"""Initialize OpenAI LLM service.
|
||||||
@@ -87,20 +89,20 @@ class OpenAILLMService(BaseOpenAILLMService):
|
|||||||
model: The OpenAI model name to use. Defaults to "gpt-4.1".
|
model: The OpenAI model name to use. Defaults to "gpt-4.1".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=OpenAILLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
service_tier: Service tier to use (e.g., "auto", "flex", "priority").
|
service_tier: Service tier to use (e.g., "auto", "flex", "priority").
|
||||||
params: Input parameters for model configuration.
|
params: Input parameters for model configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(...)`` instead.
|
Use ``settings=OpenAILLMService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to the parent BaseOpenAILLMService.
|
**kwargs: Additional arguments passed to the parent BaseOpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenAILLMSettings(
|
default_settings = self.Settings(
|
||||||
model="gpt-4.1",
|
model="gpt-4.1",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
frequency_penalty=NOT_GIVEN,
|
frequency_penalty=NOT_GIVEN,
|
||||||
@@ -118,7 +120,7 @@ class OpenAILLMService(BaseOpenAILLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenAILLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# Handle service_tier from deprecated params
|
# Handle service_tier from deprecated params
|
||||||
@@ -127,7 +129,7 @@ class OpenAILLMService(BaseOpenAILLMService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", OpenAILLMSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.frequency_penalty = params.frequency_penalty
|
default_settings.frequency_penalty = params.frequency_penalty
|
||||||
default_settings.presence_penalty = params.presence_penalty
|
default_settings.presence_penalty = params.presence_penalty
|
||||||
|
|||||||
@@ -115,7 +115,7 @@ class OpenAIRealtimeLLMSettings(LLMSettings):
|
|||||||
# -- Bidirectional sync helpers ------------------------------------------
|
# -- Bidirectional sync helpers ------------------------------------------
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def _sync_top_level_to_sp(settings: "OpenAIRealtimeLLMSettings"):
|
def _sync_top_level_to_sp(settings: "OpenAIRealtimeLLMService.Settings"):
|
||||||
"""Push top-level ``model``/``system_instruction`` into ``session_properties``."""
|
"""Push top-level ``model``/``system_instruction`` into ``session_properties``."""
|
||||||
if not is_given(settings.session_properties):
|
if not is_given(settings.session_properties):
|
||||||
return
|
return
|
||||||
@@ -127,7 +127,7 @@ class OpenAIRealtimeLLMSettings(LLMSettings):
|
|||||||
|
|
||||||
# -- apply_update override -----------------------------------------------
|
# -- apply_update override -----------------------------------------------
|
||||||
|
|
||||||
def apply_update(self, delta: "OpenAIRealtimeLLMSettings") -> Dict[str, Any]:
|
def apply_update(self, delta: "OpenAIRealtimeLLMService.Settings") -> Dict[str, Any]:
|
||||||
"""Merge a delta, keeping ``model``/``system_instruction`` in sync with SP.
|
"""Merge a delta, keeping ``model``/``system_instruction`` in sync with SP.
|
||||||
|
|
||||||
When the delta contains ``session_properties``, it **replaces** the
|
When the delta contains ``session_properties``, it **replaces** the
|
||||||
@@ -165,8 +165,8 @@ class OpenAIRealtimeLLMSettings(LLMSettings):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def from_mapping(
|
def from_mapping(
|
||||||
cls: Type["OpenAIRealtimeLLMSettings"], settings: Mapping[str, Any]
|
cls: Type["OpenAIRealtimeLLMService.Settings"], settings: Mapping[str, Any]
|
||||||
) -> "OpenAIRealtimeLLMSettings":
|
) -> "OpenAIRealtimeLLMService.Settings":
|
||||||
"""Build a delta from a plain dict, routing SP keys into ``session_properties``.
|
"""Build a delta from a plain dict, routing SP keys into ``session_properties``.
|
||||||
|
|
||||||
Keys that correspond to ``SessionProperties`` fields (except ``model``)
|
Keys that correspond to ``SessionProperties`` fields (except ``model``)
|
||||||
@@ -211,7 +211,7 @@ class OpenAIRealtimeLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenAIRealtimeLLMSettings
|
Settings = OpenAIRealtimeLLMSettings
|
||||||
_settings: OpenAIRealtimeLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.
|
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.
|
||||||
adapter_class = OpenAIRealtimeLLMAdapter
|
adapter_class = OpenAIRealtimeLLMAdapter
|
||||||
@@ -223,7 +223,7 @@ class OpenAIRealtimeLLMService(LLMService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
base_url: str = "wss://api.openai.com/v1/realtime",
|
base_url: str = "wss://api.openai.com/v1/realtime",
|
||||||
session_properties: Optional[events.SessionProperties] = None,
|
session_properties: Optional[events.SessionProperties] = None,
|
||||||
settings: Optional[OpenAIRealtimeLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
start_audio_paused: bool = False,
|
start_audio_paused: bool = False,
|
||||||
start_video_paused: bool = False,
|
start_video_paused: bool = False,
|
||||||
video_frame_detail: str = "auto",
|
video_frame_detail: str = "auto",
|
||||||
@@ -237,7 +237,7 @@ class OpenAIRealtimeLLMService(LLMService):
|
|||||||
model: OpenAI model name.
|
model: OpenAI model name.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIRealtimeLLMSettings(model=...)`` instead.
|
Use ``settings=OpenAIRealtimeLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
This is a connection-level parameter set via the WebSocket URL query
|
This is a connection-level parameter set via the WebSocket URL query
|
||||||
parameter and cannot be changed during the session.
|
parameter and cannot be changed during the session.
|
||||||
@@ -247,7 +247,7 @@ class OpenAIRealtimeLLMService(LLMService):
|
|||||||
If None, uses default SessionProperties.
|
If None, uses default SessionProperties.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIRealtimeLLMSettings(session_properties=...)``
|
Use ``settings=OpenAIRealtimeLLMService.Settings(session_properties=...)``
|
||||||
instead.
|
instead.
|
||||||
settings: Runtime-updatable settings for this service.
|
settings: Runtime-updatable settings for this service.
|
||||||
start_audio_paused: Whether to start with audio input paused. Defaults to False.
|
start_audio_paused: Whether to start with audio input paused. Defaults to False.
|
||||||
@@ -277,7 +277,7 @@ class OpenAIRealtimeLLMService(LLMService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenAIRealtimeLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="gpt-realtime-1.5",
|
model="gpt-realtime-1.5",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
temperature=None,
|
temperature=None,
|
||||||
@@ -294,13 +294,13 @@ class OpenAIRealtimeLLMService(LLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenAIRealtimeLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
if session_properties is not None:
|
if session_properties is not None:
|
||||||
_warn_deprecated_param(
|
_warn_deprecated_param(
|
||||||
"session_properties",
|
"session_properties",
|
||||||
OpenAIRealtimeLLMSettings,
|
self.Settings,
|
||||||
"session_properties",
|
"session_properties",
|
||||||
)
|
)
|
||||||
default_settings.session_properties = session_properties
|
default_settings.session_properties = session_properties
|
||||||
@@ -312,7 +312,7 @@ class OpenAIRealtimeLLMService(LLMService):
|
|||||||
default_settings.system_instruction = session_properties.instructions
|
default_settings.system_instruction = session_properties.instructions
|
||||||
|
|
||||||
# Sync top-level model back into session_properties
|
# Sync top-level model back into session_properties
|
||||||
OpenAIRealtimeLLMSettings._sync_top_level_to_sp(default_settings)
|
self.Settings._sync_top_level_to_sp(default_settings)
|
||||||
|
|
||||||
# 3. Apply settings delta (canonical API, always wins)
|
# 3. Apply settings delta (canonical API, always wins)
|
||||||
if settings is not None:
|
if settings is not None:
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ from pipecat.services.stt_latency import OPENAI_REALTIME_TTFS_P99, OPENAI_TTFS_P
|
|||||||
from pipecat.services.stt_service import WebsocketSTTService
|
from pipecat.services.stt_service import WebsocketSTTService
|
||||||
from pipecat.services.whisper.base_stt import (
|
from pipecat.services.whisper.base_stt import (
|
||||||
BaseWhisperSTTService,
|
BaseWhisperSTTService,
|
||||||
BaseWhisperSTTSettings,
|
|
||||||
Transcription,
|
Transcription,
|
||||||
)
|
)
|
||||||
from pipecat.transcriptions.language import Language
|
from pipecat.transcriptions.language import Language
|
||||||
@@ -56,7 +55,7 @@ except ModuleNotFoundError:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class OpenAISTTSettings(BaseWhisperSTTSettings):
|
class OpenAISTTSettings(BaseWhisperSTTService.Settings):
|
||||||
"""Settings for the OpenAI STT service."""
|
"""Settings for the OpenAI STT service."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -70,7 +69,7 @@ class OpenAISTTService(BaseWhisperSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenAISTTSettings
|
Settings = OpenAISTTSettings
|
||||||
_settings: OpenAISTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -81,7 +80,7 @@ class OpenAISTTService(BaseWhisperSTTService):
|
|||||||
language: Optional[Language] = Language.EN,
|
language: Optional[Language] = Language.EN,
|
||||||
prompt: Optional[str] = None,
|
prompt: Optional[str] = None,
|
||||||
temperature: Optional[float] = None,
|
temperature: Optional[float] = None,
|
||||||
settings: Optional[OpenAISTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = OPENAI_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = OPENAI_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -91,24 +90,24 @@ class OpenAISTTService(BaseWhisperSTTService):
|
|||||||
model: Model to use — either gpt-4o or Whisper.
|
model: Model to use — either gpt-4o or Whisper.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAISTTSettings(model=...)`` instead.
|
Use ``settings=OpenAISTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
api_key: OpenAI API key. Defaults to None.
|
api_key: OpenAI API key. Defaults to None.
|
||||||
base_url: API base URL. Defaults to None.
|
base_url: API base URL. Defaults to None.
|
||||||
language: Language of the audio input. Defaults to English.
|
language: Language of the audio input. Defaults to English.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAISTTSettings(language=...)`` instead.
|
Use ``settings=OpenAISTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
prompt: Optional text to guide the model's style or continue a previous segment.
|
prompt: Optional text to guide the model's style or continue a previous segment.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAISTTSettings(prompt=...)`` instead.
|
Use ``settings=OpenAISTTService.Settings(prompt=...)`` instead.
|
||||||
|
|
||||||
temperature: Optional sampling temperature between 0 and 1. Defaults to 0.0.
|
temperature: Optional sampling temperature between 0 and 1. Defaults to 0.0.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAISTTSettings(temperature=...)`` instead.
|
Use ``settings=OpenAISTTService.Settings(temperature=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -118,7 +117,7 @@ class OpenAISTTService(BaseWhisperSTTService):
|
|||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
_language = language or Language.EN
|
_language = language or Language.EN
|
||||||
default_settings = OpenAISTTSettings(
|
default_settings = self.Settings(
|
||||||
model="gpt-4o-transcribe",
|
model="gpt-4o-transcribe",
|
||||||
language=self.language_to_service_language(_language),
|
language=self.language_to_service_language(_language),
|
||||||
prompt=None,
|
prompt=None,
|
||||||
@@ -127,13 +126,13 @@ class OpenAISTTService(BaseWhisperSTTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenAISTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if prompt is not None:
|
if prompt is not None:
|
||||||
_warn_deprecated_param("prompt", OpenAISTTSettings, "prompt")
|
_warn_deprecated_param("prompt", self.Settings, "prompt")
|
||||||
default_settings.prompt = prompt
|
default_settings.prompt = prompt
|
||||||
if temperature is not None:
|
if temperature is not None:
|
||||||
_warn_deprecated_param("temperature", OpenAISTTSettings, "temperature")
|
_warn_deprecated_param("temperature", self.Settings, "temperature")
|
||||||
default_settings.temperature = temperature
|
default_settings.temperature = temperature
|
||||||
|
|
||||||
# --- 3. (no params object for this service) ---
|
# --- 3. (no params object for this service) ---
|
||||||
@@ -234,7 +233,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenAIRealtimeSTTSettings
|
Settings = OpenAIRealtimeSTTSettings
|
||||||
_settings: OpenAIRealtimeSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -247,7 +246,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
|||||||
turn_detection: Optional[Union[dict, Literal[False]]] = False,
|
turn_detection: Optional[Union[dict, Literal[False]]] = False,
|
||||||
noise_reduction: Optional[Literal["near_field", "far_field"]] = None,
|
noise_reduction: Optional[Literal["near_field", "far_field"]] = None,
|
||||||
should_interrupt: bool = True,
|
should_interrupt: bool = True,
|
||||||
settings: Optional[OpenAIRealtimeSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = OPENAI_REALTIME_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = OPENAI_REALTIME_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -259,20 +258,20 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
|||||||
``"gpt-4o-transcribe"`` and ``"gpt-4o-mini-transcribe"``.
|
``"gpt-4o-transcribe"`` and ``"gpt-4o-mini-transcribe"``.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIRealtimeSTTSettings(model=...)`` instead.
|
Use ``settings=OpenAIRealtimeSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: WebSocket base URL for the Realtime API.
|
base_url: WebSocket base URL for the Realtime API.
|
||||||
Defaults to ``"wss://api.openai.com/v1/realtime"``.
|
Defaults to ``"wss://api.openai.com/v1/realtime"``.
|
||||||
language: Language of the audio input. Defaults to English.
|
language: Language of the audio input. Defaults to English.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIRealtimeSTTSettings(language=...)`` instead.
|
Use ``settings=OpenAIRealtimeSTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
prompt: Optional prompt text to guide transcription style
|
prompt: Optional prompt text to guide transcription style
|
||||||
or provide keyword hints.
|
or provide keyword hints.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIRealtimeSTTSettings(prompt=...)`` instead.
|
Use ``settings=OpenAIRealtimeSTTService.Settings(prompt=...)`` instead.
|
||||||
|
|
||||||
turn_detection: Server-side VAD configuration. Defaults to
|
turn_detection: Server-side VAD configuration. Defaults to
|
||||||
``False`` (disabled), which relies on a local VAD
|
``False`` (disabled), which relies on a local VAD
|
||||||
@@ -284,7 +283,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
|||||||
microphones, or ``None`` to disable.
|
microphones, or ``None`` to disable.
|
||||||
|
|
||||||
.. deprecated:: 0.0.106
|
.. deprecated:: 0.0.106
|
||||||
Use ``settings=OpenAIRealtimeSTTSettings(noise_reduction=...)`` instead.
|
Use ``settings=OpenAIRealtimeSTTService.Settings(noise_reduction=...)`` instead.
|
||||||
should_interrupt: Whether to interrupt bot output when
|
should_interrupt: Whether to interrupt bot output when
|
||||||
speech is detected by server-side VAD. Only applies when
|
speech is detected by server-side VAD. Only applies when
|
||||||
turn detection is enabled. Defaults to True.
|
turn detection is enabled. Defaults to True.
|
||||||
@@ -302,7 +301,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = OpenAIRealtimeSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="gpt-4o-transcribe",
|
model="gpt-4o-transcribe",
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
prompt=None,
|
prompt=None,
|
||||||
@@ -311,16 +310,16 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenAIRealtimeSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if language is not None and language != Language.EN:
|
if language is not None and language != Language.EN:
|
||||||
_warn_deprecated_param("language", OpenAIRealtimeSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = language
|
default_settings.language = language
|
||||||
if prompt is not None:
|
if prompt is not None:
|
||||||
_warn_deprecated_param("prompt", OpenAIRealtimeSTTSettings, "prompt")
|
_warn_deprecated_param("prompt", self.Settings, "prompt")
|
||||||
default_settings.prompt = prompt
|
default_settings.prompt = prompt
|
||||||
if noise_reduction is not None:
|
if noise_reduction is not None:
|
||||||
_warn_deprecated_param("noise_reduction", OpenAIRealtimeSTTSettings, "noise_reduction")
|
_warn_deprecated_param("noise_reduction", self.Settings, "noise_reduction")
|
||||||
default_settings.noise_reduction = noise_reduction
|
default_settings.noise_reduction = noise_reduction
|
||||||
|
|
||||||
# --- 3. (no params object for this service) ---
|
# --- 3. (no params object for this service) ---
|
||||||
@@ -376,7 +375,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
|||||||
Sends a ``session.update`` to the server when the session is active.
|
Sends a ``session.update`` to the server when the session is active.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`STTSettings` (or ``OpenAIRealtimeSTTSettings``) delta.
|
delta: A :class:`STTSettings` (or ``OpenAIRealtimeSTTService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ class OpenAITTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenAITTSSettings
|
Settings = OpenAITTSSettings
|
||||||
_settings: OpenAITTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
OPENAI_SAMPLE_RATE = 24000 # OpenAI TTS always outputs at 24kHz
|
OPENAI_SAMPLE_RATE = 24000 # OpenAI TTS always outputs at 24kHz
|
||||||
|
|
||||||
@@ -90,7 +90,7 @@ class OpenAITTSService(TTSService):
|
|||||||
"""Input parameters for OpenAI TTS configuration.
|
"""Input parameters for OpenAI TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAITTSSettings(...)`` instead.
|
Use ``settings=OpenAITTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
instructions: Instructions to guide voice synthesis behavior.
|
instructions: Instructions to guide voice synthesis behavior.
|
||||||
@@ -111,7 +111,7 @@ class OpenAITTSService(TTSService):
|
|||||||
instructions: Optional[str] = None,
|
instructions: Optional[str] = None,
|
||||||
speed: Optional[float] = None,
|
speed: Optional[float] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[OpenAITTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize OpenAI TTS service.
|
"""Initialize OpenAI TTS service.
|
||||||
@@ -122,28 +122,28 @@ class OpenAITTSService(TTSService):
|
|||||||
voice: Voice ID to use for synthesis. Defaults to "alloy".
|
voice: Voice ID to use for synthesis. Defaults to "alloy".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAITTSSettings(voice=...)`` instead.
|
Use ``settings=OpenAITTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: TTS model to use. Defaults to "gpt-4o-mini-tts".
|
model: TTS model to use. Defaults to "gpt-4o-mini-tts".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAITTSSettings(model=...)`` instead.
|
Use ``settings=OpenAITTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Output audio sample rate in Hz. If None, uses OpenAI's default 24kHz.
|
sample_rate: Output audio sample rate in Hz. If None, uses OpenAI's default 24kHz.
|
||||||
instructions: Optional instructions to guide voice synthesis behavior.
|
instructions: Optional instructions to guide voice synthesis behavior.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAITTSSettings(instructions=...)`` instead.
|
Use ``settings=OpenAITTSService.Settings(instructions=...)`` instead.
|
||||||
|
|
||||||
speed: Voice speed control (0.25 to 4.0, default 1.0).
|
speed: Voice speed control (0.25 to 4.0, default 1.0).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAITTSSettings(speed=...)`` instead.
|
Use ``settings=OpenAITTSService.Settings(speed=...)`` instead.
|
||||||
|
|
||||||
params: Optional synthesis controls (acting instructions, speed, ...).
|
params: Optional synthesis controls (acting instructions, speed, ...).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAITTSSettings(...)`` instead.
|
Use ``settings=OpenAITTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -156,7 +156,7 @@ class OpenAITTSService(TTSService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenAITTSSettings(
|
default_settings = self.Settings(
|
||||||
model="gpt-4o-mini-tts",
|
model="gpt-4o-mini-tts",
|
||||||
voice="alloy",
|
voice="alloy",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -166,21 +166,21 @@ class OpenAITTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice is not None:
|
if voice is not None:
|
||||||
_warn_deprecated_param("voice", OpenAITTSSettings, "voice")
|
_warn_deprecated_param("voice", self.Settings, "voice")
|
||||||
default_settings.voice = voice
|
default_settings.voice = voice
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenAITTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if instructions is not None:
|
if instructions is not None:
|
||||||
_warn_deprecated_param("instructions", OpenAITTSSettings, "instructions")
|
_warn_deprecated_param("instructions", self.Settings, "instructions")
|
||||||
default_settings.instructions = instructions
|
default_settings.instructions = instructions
|
||||||
if speed is not None:
|
if speed is not None:
|
||||||
_warn_deprecated_param("speed", OpenAITTSSettings, "speed")
|
_warn_deprecated_param("speed", self.Settings, "speed")
|
||||||
default_settings.speed = speed
|
default_settings.speed = speed
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", OpenAITTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.instructions is not None:
|
if params.instructions is not None:
|
||||||
default_settings.instructions = params.instructions
|
default_settings.instructions = params.instructions
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ from dataclasses import dataclass
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from .openai import OpenAIRealtimeBetaLLMService, OpenAIRealtimeBetaLLMSettings
|
from .openai import OpenAIRealtimeBetaLLMService
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from websockets.asyncio.client import connect as websocket_connect
|
from websockets.asyncio.client import connect as websocket_connect
|
||||||
@@ -24,7 +24,7 @@ except ModuleNotFoundError as e:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class AzureRealtimeBetaLLMSettings(OpenAIRealtimeBetaLLMSettings):
|
class AzureRealtimeBetaLLMSettings(OpenAIRealtimeBetaLLMService.Settings):
|
||||||
"""Settings for AzureRealtimeBetaLLMService."""
|
"""Settings for AzureRealtimeBetaLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -43,7 +43,7 @@ class AzureRealtimeBetaLLMService(OpenAIRealtimeBetaLLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = AzureRealtimeBetaLLMSettings
|
Settings = AzureRealtimeBetaLLMSettings
|
||||||
_settings: AzureRealtimeBetaLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
|
|||||||
@@ -112,7 +112,7 @@ class OpenAIRealtimeBetaLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenAIRealtimeBetaLLMSettings
|
Settings = OpenAIRealtimeBetaLLMSettings
|
||||||
_settings: OpenAIRealtimeBetaLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.
|
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.
|
||||||
adapter_class = OpenAIRealtimeLLMAdapter
|
adapter_class = OpenAIRealtimeLLMAdapter
|
||||||
@@ -124,7 +124,7 @@ class OpenAIRealtimeBetaLLMService(LLMService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
base_url: str = "wss://api.openai.com/v1/realtime",
|
base_url: str = "wss://api.openai.com/v1/realtime",
|
||||||
session_properties: Optional[events.SessionProperties] = None,
|
session_properties: Optional[events.SessionProperties] = None,
|
||||||
settings: Optional[OpenAIRealtimeBetaLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
start_audio_paused: bool = False,
|
start_audio_paused: bool = False,
|
||||||
send_transcription_frames: bool = True,
|
send_transcription_frames: bool = True,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -136,7 +136,7 @@ class OpenAIRealtimeBetaLLMService(LLMService):
|
|||||||
model: OpenAI model name.
|
model: OpenAI model name.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAIRealtimeBetaLLMSettings(model=...)`` instead.
|
Use ``settings=OpenAIRealtimeBetaLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: WebSocket base URL for the realtime API.
|
base_url: WebSocket base URL for the realtime API.
|
||||||
Defaults to "wss://api.openai.com/v1/realtime".
|
Defaults to "wss://api.openai.com/v1/realtime".
|
||||||
@@ -157,7 +157,7 @@ class OpenAIRealtimeBetaLLMService(LLMService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenAIRealtimeBetaLLMSettings(
|
default_settings = self.Settings(
|
||||||
model="gpt-4o-realtime-preview-2025-06-03",
|
model="gpt-4o-realtime-preview-2025-06-03",
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
temperature=None,
|
temperature=None,
|
||||||
@@ -173,7 +173,7 @@ class OpenAIRealtimeBetaLLMService(LLMService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenAIRealtimeBetaLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
# 3. Apply settings delta (canonical API, always wins)
|
# 3. Apply settings delta (canonical API, always wins)
|
||||||
if settings is not None:
|
if settings is not None:
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from typing import Dict, Optional
|
|||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
@@ -29,7 +29,7 @@ except ModuleNotFoundError as e:
|
|||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class OpenPipeLLMSettings(OpenAILLMSettings):
|
class OpenPipeLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for OpenPipeLLMService."""
|
"""Settings for OpenPipeLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -44,7 +44,7 @@ class OpenPipeLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenPipeLLMSettings
|
Settings = OpenPipeLLMSettings
|
||||||
_settings: OpenPipeLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -55,7 +55,7 @@ class OpenPipeLLMService(OpenAILLMService):
|
|||||||
openpipe_api_key: Optional[str] = None,
|
openpipe_api_key: Optional[str] = None,
|
||||||
openpipe_base_url: str = "https://app.openpipe.ai/api/v1",
|
openpipe_base_url: str = "https://app.openpipe.ai/api/v1",
|
||||||
tags: Optional[Dict[str, str]] = None,
|
tags: Optional[Dict[str, str]] = None,
|
||||||
settings: Optional[OpenPipeLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize OpenPipe LLM service.
|
"""Initialize OpenPipe LLM service.
|
||||||
@@ -64,7 +64,7 @@ class OpenPipeLLMService(OpenAILLMService):
|
|||||||
model: The model name to use. Defaults to "gpt-4.1".
|
model: The model name to use. Defaults to "gpt-4.1".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=OpenPipeLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
api_key: OpenAI API key for authentication. If None, reads from environment.
|
api_key: OpenAI API key for authentication. If None, reads from environment.
|
||||||
base_url: Custom OpenAI API endpoint URL. Uses default if None.
|
base_url: Custom OpenAI API endpoint URL. Uses default if None.
|
||||||
@@ -76,11 +76,11 @@ class OpenPipeLLMService(OpenAILLMService):
|
|||||||
**kwargs: Additional arguments passed to parent OpenAILLMService.
|
**kwargs: Additional arguments passed to parent OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenPipeLLMSettings(model="gpt-4.1")
|
default_settings = self.Settings(model="gpt-4.1")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenPipeLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -15,13 +15,13 @@ from typing import Any, Dict, Optional
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class OpenRouterLLMSettings(OpenAILLMSettings):
|
class OpenRouterLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for OpenRouterLLMService."""
|
"""Settings for OpenRouterLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -35,7 +35,7 @@ class OpenRouterLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = OpenRouterLLMSettings
|
Settings = OpenRouterLLMSettings
|
||||||
_settings: OpenRouterLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -43,7 +43,7 @@ class OpenRouterLLMService(OpenAILLMService):
|
|||||||
api_key: Optional[str] = None,
|
api_key: Optional[str] = None,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
base_url: str = "https://openrouter.ai/api/v1",
|
base_url: str = "https://openrouter.ai/api/v1",
|
||||||
settings: Optional[OpenRouterLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the OpenRouter LLM service.
|
"""Initialize the OpenRouter LLM service.
|
||||||
@@ -54,7 +54,7 @@ class OpenRouterLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "openai/gpt-4o-2024-11-20".
|
model: The model identifier to use. Defaults to "openai/gpt-4o-2024-11-20".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=OpenRouterLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: The base URL for OpenRouter API. Defaults to "https://openrouter.ai/api/v1".
|
base_url: The base URL for OpenRouter API. Defaults to "https://openrouter.ai/api/v1".
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -62,11 +62,11 @@ class OpenRouterLLMService(OpenAILLMService):
|
|||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = OpenRouterLLMSettings(model="openai/gpt-4o-2024-11-20")
|
default_settings = self.Settings(model="openai/gpt-4o-2024-11-20")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", OpenRouterLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -18,13 +18,13 @@ from pipecat.adapters.services.open_ai_adapter import OpenAILLMInvocationParams
|
|||||||
from pipecat.metrics.metrics import LLMTokenUsage
|
from pipecat.metrics.metrics import LLMTokenUsage
|
||||||
from pipecat.processors.aggregators.llm_context import LLMContext
|
from pipecat.processors.aggregators.llm_context import LLMContext
|
||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class PerplexityLLMSettings(OpenAILLMSettings):
|
class PerplexityLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for PerplexityLLMService."""
|
"""Settings for PerplexityLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -39,7 +39,7 @@ class PerplexityLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = PerplexityLLMSettings
|
Settings = PerplexityLLMSettings
|
||||||
_settings: PerplexityLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -47,7 +47,7 @@ class PerplexityLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://api.perplexity.ai",
|
base_url: str = "https://api.perplexity.ai",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[PerplexityLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Perplexity LLM service.
|
"""Initialize the Perplexity LLM service.
|
||||||
@@ -58,18 +58,18 @@ class PerplexityLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "sonar".
|
model: The model identifier to use. Defaults to "sonar".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=PerplexityLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = PerplexityLLMSettings(model="sonar")
|
default_settings = self.Settings(model="sonar")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", PerplexityLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ class PiperTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = PiperTTSSettings
|
Settings = PiperTTSSettings
|
||||||
_settings: PiperTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -57,7 +57,7 @@ class PiperTTSService(TTSService):
|
|||||||
download_dir: Optional[Path] = None,
|
download_dir: Optional[Path] = None,
|
||||||
force_redownload: bool = False,
|
force_redownload: bool = False,
|
||||||
use_cuda: bool = False,
|
use_cuda: bool = False,
|
||||||
settings: Optional[PiperTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Piper TTS service.
|
"""Initialize the Piper TTS service.
|
||||||
@@ -66,7 +66,7 @@ class PiperTTSService(TTSService):
|
|||||||
voice_id: Piper voice model identifier (e.g. `en_US-ryan-high`).
|
voice_id: Piper voice model identifier (e.g. `en_US-ryan-high`).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=PiperTTSSettings(voice=...)`` instead.
|
Use ``settings=PiperTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
download_dir: Directory for storing voice model files. Defaults to
|
download_dir: Directory for storing voice model files. Defaults to
|
||||||
the current working directory.
|
the current working directory.
|
||||||
@@ -77,11 +77,11 @@ class PiperTTSService(TTSService):
|
|||||||
**kwargs: Additional arguments passed to the parent `TTSService`.
|
**kwargs: Additional arguments passed to the parent `TTSService`.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = PiperTTSSettings(model=None, voice=None, language=None)
|
default_settings = self.Settings(model=None, voice=None, language=None)
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", PiperTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
@@ -121,7 +121,7 @@ class PiperTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
return True
|
return True
|
||||||
|
|
||||||
async def _update_settings(self, delta: PiperTTSSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply a settings delta.
|
"""Apply a settings delta.
|
||||||
|
|
||||||
Settings are stored but not applied to the active connection.
|
Settings are stored but not applied to the active connection.
|
||||||
@@ -202,7 +202,7 @@ class PiperHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = PiperHttpTTSSettings
|
Settings = PiperHttpTTSSettings
|
||||||
_settings: PiperHttpTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -210,7 +210,7 @@ class PiperHttpTTSService(TTSService):
|
|||||||
base_url: str,
|
base_url: str,
|
||||||
aiohttp_session: aiohttp.ClientSession,
|
aiohttp_session: aiohttp.ClientSession,
|
||||||
voice_id: Optional[str] = None,
|
voice_id: Optional[str] = None,
|
||||||
settings: Optional[PiperHttpTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Piper TTS service.
|
"""Initialize the Piper TTS service.
|
||||||
@@ -221,18 +221,18 @@ class PiperHttpTTSService(TTSService):
|
|||||||
voice_id: Piper voice model identifier (e.g. `en_US-ryan-high`).
|
voice_id: Piper voice model identifier (e.g. `en_US-ryan-high`).
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=PiperHttpTTSSettings(voice=...)`` instead.
|
Use ``settings=PiperHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to the parent TTSService.
|
**kwargs: Additional arguments passed to the parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = PiperHttpTTSSettings(model=None, voice=None, language=None)
|
default_settings = self.Settings(model=None, voice=None, language=None)
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", PiperHttpTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ from typing import Optional
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class QwenLLMSettings(OpenAILLMSettings):
|
class QwenLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for QwenLLMService."""
|
"""Settings for QwenLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -31,7 +31,7 @@ class QwenLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = QwenLLMSettings
|
Settings = QwenLLMSettings
|
||||||
_settings: QwenLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -39,7 +39,7 @@ class QwenLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
|
base_url: str = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[QwenLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Qwen LLM service.
|
"""Initialize the Qwen LLM service.
|
||||||
@@ -50,18 +50,18 @@ class QwenLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "qwen-plus".
|
model: The model identifier to use. Defaults to "qwen-plus".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=QwenLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = QwenLLMSettings(model="qwen-plus")
|
default_settings = self.Settings(model="qwen-plus")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", QwenLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ class ResembleAITTSService(WebsocketTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = ResembleAITTSSettings
|
Settings = ResembleAITTSSettings
|
||||||
_settings: ResembleAITTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -63,7 +63,7 @@ class ResembleAITTSService(WebsocketTTSService):
|
|||||||
precision: Optional[str] = "PCM_16",
|
precision: Optional[str] = "PCM_16",
|
||||||
output_format: Optional[str] = "wav",
|
output_format: Optional[str] = "wav",
|
||||||
sample_rate: Optional[int] = 22050,
|
sample_rate: Optional[int] = 22050,
|
||||||
settings: Optional[ResembleAITTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Resemble AI TTS service.
|
"""Initialize the Resemble AI TTS service.
|
||||||
@@ -73,7 +73,7 @@ class ResembleAITTSService(WebsocketTTSService):
|
|||||||
voice_id: Voice UUID to use for synthesis.
|
voice_id: Voice UUID to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=ResembleAITTSSettings(voice=...)`` instead.
|
Use ``settings=ResembleAITTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
url: WebSocket URL for Resemble AI TTS API.
|
url: WebSocket URL for Resemble AI TTS API.
|
||||||
precision: PCM bit depth (PCM_32, PCM_24, PCM_16, or MULAW).
|
precision: PCM bit depth (PCM_32, PCM_24, PCM_16, or MULAW).
|
||||||
@@ -84,7 +84,7 @@ class ResembleAITTSService(WebsocketTTSService):
|
|||||||
**kwargs: Additional arguments passed to the parent service.
|
**kwargs: Additional arguments passed to the parent service.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = ResembleAITTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None,
|
language=None,
|
||||||
@@ -92,7 +92,7 @@ class ResembleAITTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", ResembleAITTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -132,13 +132,13 @@ class RimeTTSService(WebsocketTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = RimeTTSSettings
|
Settings = RimeTTSSettings
|
||||||
_settings: RimeTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Rime TTS service.
|
"""Configuration parameters for Rime TTS service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(...)`` instead.
|
Use ``settings=RimeTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -177,7 +177,7 @@ class RimeTTSService(WebsocketTTSService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[RimeTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
text_aggregator: Optional[BaseTextAggregator] = None,
|
text_aggregator: Optional[BaseTextAggregator] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
@@ -190,19 +190,19 @@ class RimeTTSService(WebsocketTTSService):
|
|||||||
voice_id: ID of the voice to use.
|
voice_id: ID of the voice to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(voice=...)`` instead.
|
Use ``settings=RimeTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
url: Rime websocket API endpoint.
|
url: Rime websocket API endpoint.
|
||||||
model: Model ID to use for synthesis.
|
model: Model ID to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(model=...)`` instead.
|
Use ``settings=RimeTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz.
|
sample_rate: Audio sample rate in Hz.
|
||||||
params: Additional configuration parameters.
|
params: Additional configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(...)`` instead.
|
Use ``settings=RimeTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -220,7 +220,7 @@ class RimeTTSService(WebsocketTTSService):
|
|||||||
**kwargs: Additional arguments passed to parent class.
|
**kwargs: Additional arguments passed to parent class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = RimeTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="arcana",
|
model="arcana",
|
||||||
voice=None,
|
voice=None,
|
||||||
language=None,
|
language=None,
|
||||||
@@ -241,15 +241,15 @@ class RimeTTSService(WebsocketTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", RimeTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", RimeTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", RimeTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
self.language_to_service_language(params.language) if params.language else None
|
self.language_to_service_language(params.language) if params.language else None
|
||||||
@@ -663,13 +663,13 @@ class RimeHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = RimeTTSSettings
|
Settings = RimeTTSSettings
|
||||||
_settings: RimeTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Rime HTTP TTS service.
|
"""Configuration parameters for Rime HTTP TTS service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(...)`` instead.
|
Use ``settings=RimeHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -696,7 +696,7 @@ class RimeHttpTTSService(TTSService):
|
|||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[RimeTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize Rime HTTP TTS service.
|
"""Initialize Rime HTTP TTS service.
|
||||||
@@ -706,26 +706,26 @@ class RimeHttpTTSService(TTSService):
|
|||||||
voice_id: ID of the voice to use.
|
voice_id: ID of the voice to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(voice=...)`` instead.
|
Use ``settings=RimeHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: Shared aiohttp session for HTTP requests.
|
aiohttp_session: Shared aiohttp session for HTTP requests.
|
||||||
model: Model ID to use for synthesis.
|
model: Model ID to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(model=...)`` instead.
|
Use ``settings=RimeHttpTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
sample_rate: Audio sample rate in Hz.
|
sample_rate: Audio sample rate in Hz.
|
||||||
params: Additional configuration parameters.
|
params: Additional configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeTTSSettings(...)`` instead.
|
Use ``settings=RimeHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = RimeTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="mistv2",
|
model="mistv2",
|
||||||
voice=None,
|
voice=None,
|
||||||
language="eng",
|
language="eng",
|
||||||
@@ -744,15 +744,15 @@ class RimeHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", RimeTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", RimeTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", RimeTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
self.language_to_service_language(params.language) if params.language else "eng"
|
self.language_to_service_language(params.language) if params.language else "eng"
|
||||||
@@ -888,13 +888,13 @@ class RimeNonJsonTTSService(InterruptibleTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = RimeNonJsonTTSSettings
|
Settings = RimeNonJsonTTSSettings
|
||||||
_settings: RimeNonJsonTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Rime Non-JSON WebSocket TTS service.
|
"""Configuration parameters for Rime Non-JSON WebSocket TTS service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeNonJsonTTSSettings(...)`` instead.
|
Use ``settings=RimeNonJsonTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
language: Language for synthesis. Defaults to English.
|
language: Language for synthesis. Defaults to English.
|
||||||
@@ -922,7 +922,7 @@ class RimeNonJsonTTSService(InterruptibleTTSService):
|
|||||||
audio_format: str = "pcm",
|
audio_format: str = "pcm",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[RimeNonJsonTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
aggregate_sentences: Optional[bool] = None,
|
aggregate_sentences: Optional[bool] = None,
|
||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
@@ -934,20 +934,20 @@ class RimeNonJsonTTSService(InterruptibleTTSService):
|
|||||||
voice_id: ID of the voice to use.
|
voice_id: ID of the voice to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeNonJsonTTSSettings(voice=...)`` instead.
|
Use ``settings=RimeNonJsonTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
url: Rime websocket API endpoint.
|
url: Rime websocket API endpoint.
|
||||||
model: Model ID to use for synthesis.
|
model: Model ID to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeNonJsonTTSSettings(model=...)`` instead.
|
Use ``settings=RimeNonJsonTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
audio_format: Audio format to use.
|
audio_format: Audio format to use.
|
||||||
sample_rate: Audio sample rate in Hz.
|
sample_rate: Audio sample rate in Hz.
|
||||||
params: Additional configuration parameters.
|
params: Additional configuration parameters.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=RimeNonJsonTTSSettings(...)`` instead.
|
Use ``settings=RimeNonJsonTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -962,7 +962,7 @@ class RimeNonJsonTTSService(InterruptibleTTSService):
|
|||||||
**kwargs: Additional arguments passed to parent class.
|
**kwargs: Additional arguments passed to parent class.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = RimeNonJsonTTSSettings(
|
default_settings = self.Settings(
|
||||||
voice=None,
|
voice=None,
|
||||||
model="arcana",
|
model="arcana",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -974,15 +974,15 @@ class RimeNonJsonTTSService(InterruptibleTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", RimeNonJsonTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", RimeNonJsonTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", RimeNonJsonTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
self.language_to_service_language(params.language) if params.language else None
|
self.language_to_service_language(params.language) if params.language else None
|
||||||
|
|||||||
@@ -22,14 +22,14 @@ from pipecat.metrics.metrics import LLMTokenUsage
|
|||||||
from pipecat.processors.aggregators.llm_context import LLMContext
|
from pipecat.processors.aggregators.llm_context import LLMContext
|
||||||
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
|
||||||
from pipecat.services.llm_service import FunctionCallFromLLM
|
from pipecat.services.llm_service import FunctionCallFromLLM
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
from pipecat.utils.tracing.service_decorators import traced_llm
|
from pipecat.utils.tracing.service_decorators import traced_llm
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class SambaNovaLLMSettings(OpenAILLMSettings):
|
class SambaNovaLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for SambaNovaLLMService."""
|
"""Settings for SambaNovaLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -43,7 +43,7 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = SambaNovaLLMSettings
|
Settings = SambaNovaLLMSettings
|
||||||
_settings: SambaNovaLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -51,7 +51,7 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
base_url: str = "https://api.sambanova.ai/v1",
|
base_url: str = "https://api.sambanova.ai/v1",
|
||||||
settings: Optional[SambaNovaLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs: Dict[Any, Any],
|
**kwargs: Dict[Any, Any],
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize SambaNova LLM service.
|
"""Initialize SambaNova LLM service.
|
||||||
@@ -61,7 +61,7 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore
|
|||||||
model: The model identifier to use. Defaults to "Llama-4-Maverick-17B-128E-Instruct".
|
model: The model identifier to use. Defaults to "Llama-4-Maverick-17B-128E-Instruct".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=SambaNovaLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: The base URL for SambaNova API. Defaults to "https://api.sambanova.ai/v1".
|
base_url: The base URL for SambaNova API. Defaults to "https://api.sambanova.ai/v1".
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -69,11 +69,11 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore
|
|||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = SambaNovaLLMSettings(model="Llama-4-Maverick-17B-128E-Instruct")
|
default_settings = self.Settings(model="Llama-4-Maverick-17B-128E-Instruct")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", SambaNovaLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -15,14 +15,13 @@ from pipecat.services.settings import _warn_deprecated_param
|
|||||||
from pipecat.services.stt_latency import SAMBANOVA_TTFS_P99
|
from pipecat.services.stt_latency import SAMBANOVA_TTFS_P99
|
||||||
from pipecat.services.whisper.base_stt import (
|
from pipecat.services.whisper.base_stt import (
|
||||||
BaseWhisperSTTService,
|
BaseWhisperSTTService,
|
||||||
BaseWhisperSTTSettings,
|
|
||||||
Transcription,
|
Transcription,
|
||||||
)
|
)
|
||||||
from pipecat.transcriptions.language import Language
|
from pipecat.transcriptions.language import Language
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class SambaNovaSTTSettings(BaseWhisperSTTSettings):
|
class SambaNovaSTTSettings(BaseWhisperSTTService.Settings):
|
||||||
"""Settings for the SambaNova STT service."""
|
"""Settings for the SambaNova STT service."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -46,7 +45,7 @@ class SambaNovaSTTService(BaseWhisperSTTService): # type: ignore
|
|||||||
language: Optional[Language] = None,
|
language: Optional[Language] = None,
|
||||||
prompt: Optional[str] = None,
|
prompt: Optional[str] = None,
|
||||||
temperature: Optional[float] = None,
|
temperature: Optional[float] = None,
|
||||||
settings: Optional[SambaNovaSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = SAMBANOVA_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = SAMBANOVA_TTFS_P99,
|
||||||
**kwargs: Any,
|
**kwargs: Any,
|
||||||
) -> None:
|
) -> None:
|
||||||
@@ -56,24 +55,24 @@ class SambaNovaSTTService(BaseWhisperSTTService): # type: ignore
|
|||||||
model: Whisper model to use.
|
model: Whisper model to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SambaNovaSTTSettings(model=...)`` instead.
|
Use ``settings=SambaNovaSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
api_key: SambaNova API key. Defaults to None.
|
api_key: SambaNova API key. Defaults to None.
|
||||||
base_url: API base URL. Defaults to "https://api.sambanova.ai/v1".
|
base_url: API base URL. Defaults to "https://api.sambanova.ai/v1".
|
||||||
language: Language of the audio input.
|
language: Language of the audio input.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SambaNovaSTTSettings(language=...)`` instead.
|
Use ``settings=SambaNovaSTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
prompt: Optional text to guide the model's style or continue a previous segment.
|
prompt: Optional text to guide the model's style or continue a previous segment.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SambaNovaSTTSettings(prompt=...)`` instead.
|
Use ``settings=SambaNovaSTTService.Settings(prompt=...)`` instead.
|
||||||
|
|
||||||
temperature: Optional sampling temperature between 0 and 1.
|
temperature: Optional sampling temperature between 0 and 1.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SambaNovaSTTSettings(temperature=...)`` instead.
|
Use ``settings=SambaNovaSTTService.Settings(temperature=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -82,7 +81,7 @@ class SambaNovaSTTService(BaseWhisperSTTService): # type: ignore
|
|||||||
**kwargs: Additional arguments passed to `pipecat.services.whisper.base_stt.BaseWhisperSTTService`.
|
**kwargs: Additional arguments passed to `pipecat.services.whisper.base_stt.BaseWhisperSTTService`.
|
||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = SambaNovaSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="Whisper-Large-v3",
|
model="Whisper-Large-v3",
|
||||||
language=self.language_to_service_language(Language.EN),
|
language=self.language_to_service_language(Language.EN),
|
||||||
prompt=None,
|
prompt=None,
|
||||||
@@ -91,16 +90,16 @@ class SambaNovaSTTService(BaseWhisperSTTService): # type: ignore
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", SambaNovaSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if language is not None:
|
if language is not None:
|
||||||
_warn_deprecated_param("language", SambaNovaSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = self.language_to_service_language(language)
|
default_settings.language = self.language_to_service_language(language)
|
||||||
if prompt is not None:
|
if prompt is not None:
|
||||||
_warn_deprecated_param("prompt", SambaNovaSTTSettings, "prompt")
|
_warn_deprecated_param("prompt", self.Settings, "prompt")
|
||||||
default_settings.prompt = prompt
|
default_settings.prompt = prompt
|
||||||
if temperature is not None:
|
if temperature is not None:
|
||||||
_warn_deprecated_param("temperature", SambaNovaSTTSettings, "temperature")
|
_warn_deprecated_param("temperature", self.Settings, "temperature")
|
||||||
default_settings.temperature = temperature
|
default_settings.temperature = temperature
|
||||||
|
|
||||||
# --- 3. (no params object for this service) ---
|
# --- 3. (no params object for this service) ---
|
||||||
|
|||||||
@@ -172,13 +172,13 @@ class SarvamSTTService(STTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = SarvamSTTSettings
|
Settings = SarvamSTTSettings
|
||||||
_settings: SarvamSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Sarvam STT service.
|
"""Configuration parameters for Sarvam STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamSTTSettings(...)`` instead.
|
Use ``settings=SarvamSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Target language for transcription.
|
language: Target language for transcription.
|
||||||
@@ -210,7 +210,7 @@ class SarvamSTTService(STTService):
|
|||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
input_audio_codec: str = "wav",
|
input_audio_codec: str = "wav",
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[SarvamSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = SARVAM_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = SARVAM_TTFS_P99,
|
||||||
keepalive_timeout: Optional[float] = None,
|
keepalive_timeout: Optional[float] = None,
|
||||||
keepalive_interval: float = 5.0,
|
keepalive_interval: float = 5.0,
|
||||||
@@ -223,7 +223,7 @@ class SarvamSTTService(STTService):
|
|||||||
model: Sarvam model to use for transcription.
|
model: Sarvam model to use for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamSTTSettings(model=...)`` instead.
|
Use ``settings=SarvamSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
mode: Mode of operation. Options: transcribe, translate, verbatim,
|
mode: Mode of operation. Options: transcribe, translate, verbatim,
|
||||||
translit, codemix. Only applicable to models that support it
|
translit, codemix. Only applicable to models that support it
|
||||||
@@ -233,7 +233,7 @@ class SarvamSTTService(STTService):
|
|||||||
params: Configuration parameters for Sarvam STT service.
|
params: Configuration parameters for Sarvam STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamSTTSettings(...)`` instead.
|
Use ``settings=SarvamSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -245,7 +245,7 @@ class SarvamSTTService(STTService):
|
|||||||
**kwargs: Additional arguments passed to the parent STTService.
|
**kwargs: Additional arguments passed to the parent STTService.
|
||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = SarvamSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="saarika:v2.5",
|
model="saarika:v2.5",
|
||||||
language=None,
|
language=None,
|
||||||
prompt=None,
|
prompt=None,
|
||||||
@@ -255,12 +255,12 @@ class SarvamSTTService(STTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", SarvamSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# --- 3. Deprecated params overrides ---
|
# --- 3. Deprecated params overrides ---
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", SarvamSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = params.language
|
default_settings.language = params.language
|
||||||
default_settings.prompt = params.prompt
|
default_settings.prompt = params.prompt
|
||||||
@@ -374,7 +374,7 @@ class SarvamSTTService(STTService):
|
|||||||
"""Apply a settings delta, validate, sync state, and reconnect.
|
"""Apply a settings delta, validate, sync state, and reconnect.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
delta: A :class:`STTSettings` (or ``SarvamSTTSettings``) delta.
|
delta: A :class:`STTSettings` (or ``SarvamSTTService.Settings``) delta.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
Dict mapping changed field names to their previous values.
|
Dict mapping changed field names to their previous values.
|
||||||
@@ -389,11 +389,7 @@ class SarvamSTTService(STTService):
|
|||||||
f"Model '{self._settings.model}' does not support language parameter "
|
f"Model '{self._settings.model}' does not support language parameter "
|
||||||
"(auto-detects language)."
|
"(auto-detects language)."
|
||||||
)
|
)
|
||||||
if (
|
if isinstance(delta, self.Settings) and is_given(delta.prompt) and delta.prompt is not None:
|
||||||
isinstance(delta, SarvamSTTSettings)
|
|
||||||
and is_given(delta.prompt)
|
|
||||||
and delta.prompt is not None
|
|
||||||
):
|
|
||||||
if not self._config.supports_prompt:
|
if not self._config.supports_prompt:
|
||||||
raise ValueError(
|
raise ValueError(
|
||||||
f"Model '{self._settings.model}' does not support prompt parameter."
|
f"Model '{self._settings.model}' does not support prompt parameter."
|
||||||
@@ -417,7 +413,7 @@ class SarvamSTTService(STTService):
|
|||||||
"""Set the transcription/translation prompt and reconnect.
|
"""Set the transcription/translation prompt and reconnect.
|
||||||
|
|
||||||
.. deprecated:: 0.0.104
|
.. deprecated:: 0.0.104
|
||||||
Use ``STTUpdateSettingsFrame(SarvamSTTSettings(prompt=...))`` instead.
|
Use ``STTUpdateSettingsFrame(SarvamSTTService.Settings(prompt=...))`` instead.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
prompt: Prompt text to guide transcription/translation style/context.
|
prompt: Prompt text to guide transcription/translation style/context.
|
||||||
@@ -430,7 +426,7 @@ class SarvamSTTService(STTService):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
f"{self.__class__.__name__}.set_prompt() is deprecated. "
|
f"{self.__class__.__name__}.set_prompt() is deprecated. "
|
||||||
"Use STTUpdateSettingsFrame(SarvamSTTSettings(prompt=...)) instead.",
|
"Use STTUpdateSettingsFrame(self.Settings(prompt=...)) instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
stacklevel=2,
|
stacklevel=2,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -284,7 +284,7 @@ class SarvamHttpTTSSettings(TTSSettings):
|
|||||||
class SarvamTTSSettings(SarvamHttpTTSSettings):
|
class SarvamTTSSettings(SarvamHttpTTSSettings):
|
||||||
"""Settings for SarvamTTSService.
|
"""Settings for SarvamTTSService.
|
||||||
|
|
||||||
Extends :class:`SarvamHttpTTSSettings` with WebSocket-specific buffering parameters.
|
Extends :class:`SarvamHttpTTSService.Settings` with WebSocket-specific buffering parameters.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
min_buffer_size: Minimum characters to buffer before generating audio.
|
min_buffer_size: Minimum characters to buffer before generating audio.
|
||||||
@@ -352,13 +352,13 @@ class SarvamHttpTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = SarvamHttpTTSSettings
|
Settings = SarvamHttpTTSSettings
|
||||||
_settings: SarvamHttpTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Input parameters for Sarvam TTS configuration.
|
"""Input parameters for Sarvam TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``SarvamHttpTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``SarvamHttpTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
language: Language for synthesis. Defaults to English (India).
|
language: Language for synthesis. Defaults to English (India).
|
||||||
@@ -416,7 +416,7 @@ class SarvamHttpTTSService(TTSService):
|
|||||||
base_url: str = "https://api.sarvam.ai",
|
base_url: str = "https://api.sarvam.ai",
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[SarvamHttpTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Sarvam TTS service.
|
"""Initialize the Sarvam TTS service.
|
||||||
@@ -427,14 +427,14 @@ class SarvamHttpTTSService(TTSService):
|
|||||||
voice_id: Speaker voice ID. If None, uses model-appropriate default.
|
voice_id: Speaker voice ID. If None, uses model-appropriate default.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamHttpTTSSettings(voice=...)`` instead.
|
Use ``settings=SarvamHttpTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
model: TTS model to use. Options:
|
model: TTS model to use. Options:
|
||||||
- "bulbul:v2" (default): Standard model with pitch/loudness support
|
- "bulbul:v2" (default): Standard model with pitch/loudness support
|
||||||
- "bulbul:v3-beta": Advanced model with temperature control
|
- "bulbul:v3-beta": Advanced model with temperature control
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamHttpTTSSettings(model=...)`` instead.
|
Use ``settings=SarvamHttpTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
base_url: Sarvam AI API base URL. Defaults to "https://api.sarvam.ai".
|
base_url: Sarvam AI API base URL. Defaults to "https://api.sarvam.ai".
|
||||||
sample_rate: Audio sample rate in Hz (8000, 16000, 22050, 24000).
|
sample_rate: Audio sample rate in Hz (8000, 16000, 22050, 24000).
|
||||||
@@ -442,14 +442,14 @@ class SarvamHttpTTSService(TTSService):
|
|||||||
params: Additional voice and preprocessing parameters. If None, uses defaults.
|
params: Additional voice and preprocessing parameters. If None, uses defaults.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamHttpTTSSettings(...)`` instead.
|
Use ``settings=SarvamHttpTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = SarvamHttpTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="bulbul:v2",
|
model="bulbul:v2",
|
||||||
voice="anushka",
|
voice="anushka",
|
||||||
language="en-IN",
|
language="en-IN",
|
||||||
@@ -462,15 +462,15 @@ class SarvamHttpTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", SarvamHttpTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", SarvamHttpTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", SarvamHttpTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
@@ -719,13 +719,13 @@ class SarvamTTSService(InterruptibleTTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = SarvamTTSSettings
|
Settings = SarvamTTSSettings
|
||||||
_settings: SarvamTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
class InputParams(BaseModel):
|
class InputParams(BaseModel):
|
||||||
"""Configuration parameters for Sarvam TTS WebSocket service.
|
"""Configuration parameters for Sarvam TTS WebSocket service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``SarvamTTSSettings`` directly via the ``settings`` parameter instead.
|
Use ``SarvamTTSService.Settings`` directly via the ``settings`` parameter instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
pitch: Voice pitch adjustment (-0.75 to 0.75). Defaults to 0.0.
|
pitch: Voice pitch adjustment (-0.75 to 0.75). Defaults to 0.0.
|
||||||
@@ -819,7 +819,7 @@ class SarvamTTSService(InterruptibleTTSService):
|
|||||||
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
text_aggregation_mode: Optional[TextAggregationMode] = None,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[SarvamTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Sarvam TTS service with voice and transport configuration.
|
"""Initialize the Sarvam TTS service with voice and transport configuration.
|
||||||
@@ -831,12 +831,12 @@ class SarvamTTSService(InterruptibleTTSService):
|
|||||||
- "bulbul:v3-beta": Advanced model with temperature control
|
- "bulbul:v3-beta": Advanced model with temperature control
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamTTSSettings(model=...)`` instead.
|
Use ``settings=SarvamTTSService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
voice_id: Speaker voice ID. If None, uses model-appropriate default.
|
voice_id: Speaker voice ID. If None, uses model-appropriate default.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamTTSSettings(voice=...)`` instead.
|
Use ``settings=SarvamTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
url: WebSocket URL for the TTS backend (default production URL).
|
url: WebSocket URL for the TTS backend (default production URL).
|
||||||
aggregate_sentences: Deprecated. Use text_aggregation_mode instead.
|
aggregate_sentences: Deprecated. Use text_aggregation_mode instead.
|
||||||
@@ -850,7 +850,7 @@ class SarvamTTSService(InterruptibleTTSService):
|
|||||||
params: Optional input parameters to override defaults.
|
params: Optional input parameters to override defaults.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SarvamTTSSettings(...)`` instead.
|
Use ``settings=SarvamTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -859,7 +859,7 @@ class SarvamTTSService(InterruptibleTTSService):
|
|||||||
See https://docs.sarvam.ai/api-reference-docs/text-to-speech/stream
|
See https://docs.sarvam.ai/api-reference-docs/text-to-speech/stream
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = SarvamTTSSettings(
|
default_settings = self.Settings(
|
||||||
model="bulbul:v2",
|
model="bulbul:v2",
|
||||||
voice="anushka",
|
voice="anushka",
|
||||||
language="en-IN",
|
language="en-IN",
|
||||||
@@ -874,10 +874,10 @@ class SarvamTTSService(InterruptibleTTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", SarvamTTSSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", SarvamTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# Init-only audio format fields (not runtime-updatable)
|
# Init-only audio format fields (not runtime-updatable)
|
||||||
@@ -886,7 +886,7 @@ class SarvamTTSService(InterruptibleTTSService):
|
|||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", SarvamTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
if params.language is not None:
|
if params.language is not None:
|
||||||
default_settings.language = (
|
default_settings.language = (
|
||||||
|
|||||||
@@ -80,7 +80,7 @@ class SonioxInputParams(BaseModel):
|
|||||||
"""Real-time transcription settings.
|
"""Real-time transcription settings.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SonioxSTTSettings(...)`` instead.
|
Use ``settings=SonioxSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
See Soniox WebSocket API documentation for more details:
|
See Soniox WebSocket API documentation for more details:
|
||||||
https://soniox.com/docs/speech-to-text/api-reference/websocket-api#configuration-parameters
|
https://soniox.com/docs/speech-to-text/api-reference/websocket-api#configuration-parameters
|
||||||
@@ -175,7 +175,7 @@ class SonioxSTTService(WebsocketSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = SonioxSTTSettings
|
Settings = SonioxSTTSettings
|
||||||
_settings: SonioxSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -188,7 +188,7 @@ class SonioxSTTService(WebsocketSTTService):
|
|||||||
num_channels: int = 1,
|
num_channels: int = 1,
|
||||||
params: Optional[SonioxInputParams] = None,
|
params: Optional[SonioxInputParams] = None,
|
||||||
vad_force_turn_endpoint: bool = True,
|
vad_force_turn_endpoint: bool = True,
|
||||||
settings: Optional[SonioxSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = SONIOX_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = SONIOX_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -201,7 +201,7 @@ class SonioxSTTService(WebsocketSTTService):
|
|||||||
model: Soniox model to use for transcription.
|
model: Soniox model to use for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SonioxSTTSettings(model=...)`` instead.
|
Use ``settings=SonioxSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
audio_format: Audio format for transcription. Defaults to ``"pcm_s16le"``.
|
audio_format: Audio format for transcription. Defaults to ``"pcm_s16le"``.
|
||||||
num_channels: Number of audio channels. Defaults to 1.
|
num_channels: Number of audio channels. Defaults to 1.
|
||||||
@@ -209,7 +209,7 @@ class SonioxSTTService(WebsocketSTTService):
|
|||||||
speaker diarization.
|
speaker diarization.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SonioxSTTSettings(...)`` instead.
|
Use ``settings=SonioxSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
vad_force_turn_endpoint: Listen to `VADUserStoppedSpeakingFrame` to send finalize message to Soniox.
|
vad_force_turn_endpoint: Listen to `VADUserStoppedSpeakingFrame` to send finalize message to Soniox.
|
||||||
If disabled, Soniox will detect the end of the speech. Defaults to True.
|
If disabled, Soniox will detect the end of the speech. Defaults to True.
|
||||||
@@ -220,7 +220,7 @@ class SonioxSTTService(WebsocketSTTService):
|
|||||||
**kwargs: Additional arguments passed to the STTService.
|
**kwargs: Additional arguments passed to the STTService.
|
||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = SonioxSTTSettings(
|
default_settings = self.Settings(
|
||||||
model="stt-rt-v4",
|
model="stt-rt-v4",
|
||||||
language=None,
|
language=None,
|
||||||
language_hints=None,
|
language_hints=None,
|
||||||
@@ -233,12 +233,12 @@ class SonioxSTTService(WebsocketSTTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", SonioxSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# --- 3. Deprecated params overrides ---
|
# --- 3. Deprecated params overrides ---
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", SonioxSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.model = params.model
|
default_settings.model = params.model
|
||||||
if params.audio_format is not None:
|
if params.audio_format is not None:
|
||||||
@@ -297,7 +297,7 @@ class SonioxSTTService(WebsocketSTTService):
|
|||||||
await super().start(frame)
|
await super().start(frame)
|
||||||
await self._connect()
|
await self._connect()
|
||||||
|
|
||||||
async def _update_settings(self, delta: SonioxSTTSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply settings delta and reconnect if anything changed.
|
"""Apply settings delta and reconnect if anything changed.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
|||||||
@@ -176,7 +176,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = SpeechmaticsSTTSettings
|
Settings = SpeechmaticsSTTSettings
|
||||||
_settings: SpeechmaticsSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
# Export related classes as class attributes
|
# Export related classes as class attributes
|
||||||
TurnDetectionMode = TurnDetectionMode
|
TurnDetectionMode = TurnDetectionMode
|
||||||
@@ -343,7 +343,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
"""Update parameters for Speechmatics STT service.
|
"""Update parameters for Speechmatics STT service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.104
|
.. deprecated:: 0.0.104
|
||||||
Use ``SpeechmaticsSTTSettings`` with ``STTUpdateSettingsFrame`` instead.
|
Use ``SpeechmaticsSTTService.Settings`` with ``STTUpdateSettingsFrame`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
focus_speakers: List of speaker IDs to focus on. When enabled, only these speakers are
|
focus_speakers: List of speaker IDs to focus on. When enabled, only these speakers are
|
||||||
@@ -380,7 +380,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
encoding: AudioEncoding = AudioEncoding.PCM_S16LE,
|
encoding: AudioEncoding = AudioEncoding.PCM_S16LE,
|
||||||
params: InputParams | None = None,
|
params: InputParams | None = None,
|
||||||
should_interrupt: bool = True,
|
should_interrupt: bool = True,
|
||||||
settings: SpeechmaticsSTTSettings | None = None,
|
settings: Settings | None = None,
|
||||||
ttfs_p99_latency: float | None = SPEECHMATICS_TTFS_P99,
|
ttfs_p99_latency: float | None = SPEECHMATICS_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -396,7 +396,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
params: Input parameters for the service.
|
params: Input parameters for the service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SpeechmaticsSTTSettings(...)`` instead.
|
Use ``settings=SpeechmaticsSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
should_interrupt: Determine whether the bot should be interrupted when Speechmatics turn_detection_mode is configured to detect user speech.
|
should_interrupt: Determine whether the bot should be interrupted when Speechmatics turn_detection_mode is configured to detect user speech.
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
@@ -424,7 +424,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
self._check_deprecated_args(kwargs, _params)
|
self._check_deprecated_args(kwargs, _params)
|
||||||
|
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = SpeechmaticsSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=None, # Will be resolved from operating_point after config is built
|
model=None, # Will be resolved from operating_point after config is built
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
domain=None,
|
domain=None,
|
||||||
@@ -454,7 +454,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
|
|
||||||
# --- 3. Deprecated params overrides ---
|
# --- 3. Deprecated params overrides ---
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", SpeechmaticsSTTSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.language = _params.language
|
default_settings.language = _params.language
|
||||||
default_settings.domain = _params.domain
|
default_settings.domain = _params.domain
|
||||||
@@ -537,11 +537,11 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
await super().start(frame)
|
await super().start(frame)
|
||||||
await self._connect()
|
await self._connect()
|
||||||
|
|
||||||
async def _update_settings(self, delta: SpeechmaticsSTTSettings) -> dict[str, Any]:
|
async def _update_settings(self, delta: Settings) -> dict[str, Any]:
|
||||||
"""Apply settings delta, reconnecting only when necessary.
|
"""Apply settings delta, reconnecting only when necessary.
|
||||||
|
|
||||||
Fields are classified into three categories (see
|
Fields are classified into three categories (see
|
||||||
``SpeechmaticsSTTSettings``):
|
``SpeechmaticsSTTService.Settings``):
|
||||||
|
|
||||||
* **HOT_FIELDS** – diarization speaker settings that can be pushed
|
* **HOT_FIELDS** – diarization speaker settings that can be pushed
|
||||||
to a live Speechmatics connection without reconnecting.
|
to a live Speechmatics connection without reconnecting.
|
||||||
@@ -561,7 +561,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
if not changed:
|
if not changed:
|
||||||
return changed
|
return changed
|
||||||
|
|
||||||
no_reconnect = SpeechmaticsSTTSettings.HOT_FIELDS | SpeechmaticsSTTSettings.LOCAL_FIELDS
|
no_reconnect = self.Settings.HOT_FIELDS | self.Settings.LOCAL_FIELDS
|
||||||
needs_reconnect = bool(changed.keys() - no_reconnect)
|
needs_reconnect = bool(changed.keys() - no_reconnect)
|
||||||
|
|
||||||
if needs_reconnect:
|
if needs_reconnect:
|
||||||
@@ -571,7 +571,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
self._config = self._build_config(self._settings)
|
self._config = self._build_config(self._settings)
|
||||||
await self._disconnect()
|
await self._disconnect()
|
||||||
await self._connect()
|
await self._connect()
|
||||||
elif changed.keys() & SpeechmaticsSTTSettings.HOT_FIELDS:
|
elif changed.keys() & self.Settings.HOT_FIELDS:
|
||||||
logger.debug(f"{self} applying hot settings update: {changed.keys()}")
|
logger.debug(f"{self} applying hot settings update: {changed.keys()}")
|
||||||
if self._config.enable_diarization:
|
if self._config.enable_diarization:
|
||||||
# Only hot-updatable fields changed — push to the live session.
|
# Only hot-updatable fields changed — push to the live session.
|
||||||
@@ -586,7 +586,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
)
|
)
|
||||||
# Diarization not enabled — the new settings will take effect
|
# Diarization not enabled — the new settings will take effect
|
||||||
# if/when diarization is enabled, which does require a reconnect.
|
# if/when diarization is enabled, which does require a reconnect.
|
||||||
elif changed.keys() & SpeechmaticsSTTSettings.LOCAL_FIELDS:
|
elif changed.keys() & self.Settings.LOCAL_FIELDS:
|
||||||
logger.debug(
|
logger.debug(
|
||||||
f"{self} local settings update, no special action required: {changed.keys()}"
|
f"{self} local settings update, no special action required: {changed.keys()}"
|
||||||
)
|
)
|
||||||
@@ -705,7 +705,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
# CONFIGURATION
|
# CONFIGURATION
|
||||||
# ============================================================================
|
# ============================================================================
|
||||||
|
|
||||||
def _build_config(self, settings: SpeechmaticsSTTSettings) -> VoiceAgentConfig:
|
def _build_config(self, settings: Settings) -> VoiceAgentConfig:
|
||||||
"""Build a ``VoiceAgentConfig`` from the given settings.
|
"""Build a ``VoiceAgentConfig`` from the given settings.
|
||||||
|
|
||||||
Used both at init time (with explicit settings, before
|
Used both at init time (with explicit settings, before
|
||||||
@@ -778,7 +778,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
|
|
||||||
.. deprecated:: 0.0.104
|
.. deprecated:: 0.0.104
|
||||||
Use ``STTUpdateSettingsFrame`` with
|
Use ``STTUpdateSettingsFrame`` with
|
||||||
``SpeechmaticsSTTSettings(...)`` instead.
|
``SpeechmaticsSTTService.Settings(...)`` instead.
|
||||||
|
|
||||||
This can update the speakers to listen to or ignore during an in-flight
|
This can update the speakers to listen to or ignore during an in-flight
|
||||||
transcription. Only available if diarization is enabled.
|
transcription. Only available if diarization is enabled.
|
||||||
@@ -790,7 +790,7 @@ class SpeechmaticsSTTService(STTService):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"update_params() is deprecated. Use STTUpdateSettingsFrame with "
|
"update_params() is deprecated. Use STTUpdateSettingsFrame with "
|
||||||
"SpeechmaticsSTTSettings(...) instead.",
|
"self.Settings(...) instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
)
|
)
|
||||||
# Check possible
|
# Check possible
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ class SpeechmaticsTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = SpeechmaticsTTSSettings
|
Settings = SpeechmaticsTTSSettings
|
||||||
_settings: SpeechmaticsTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
SPEECHMATICS_SAMPLE_RATE = 16000
|
SPEECHMATICS_SAMPLE_RATE = 16000
|
||||||
|
|
||||||
@@ -62,7 +62,7 @@ class SpeechmaticsTTSService(TTSService):
|
|||||||
"""Optional input parameters for Speechmatics TTS configuration.
|
"""Optional input parameters for Speechmatics TTS configuration.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SpeechmaticsTTSSettings(...)`` instead.
|
Use ``settings=SpeechmaticsTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
Parameters:
|
Parameters:
|
||||||
max_retries: Maximum number of retries for TTS requests. Defaults to 5.
|
max_retries: Maximum number of retries for TTS requests. Defaults to 5.
|
||||||
@@ -79,7 +79,7 @@ class SpeechmaticsTTSService(TTSService):
|
|||||||
aiohttp_session: aiohttp.ClientSession,
|
aiohttp_session: aiohttp.ClientSession,
|
||||||
sample_rate: Optional[int] = SPEECHMATICS_SAMPLE_RATE,
|
sample_rate: Optional[int] = SPEECHMATICS_SAMPLE_RATE,
|
||||||
params: Optional[InputParams] = None,
|
params: Optional[InputParams] = None,
|
||||||
settings: Optional[SpeechmaticsTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Speechmatics TTS service.
|
"""Initialize the Speechmatics TTS service.
|
||||||
@@ -90,14 +90,14 @@ class SpeechmaticsTTSService(TTSService):
|
|||||||
voice_id: Voice model to use for synthesis.
|
voice_id: Voice model to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SpeechmaticsTTSSettings(voice=...)`` instead.
|
Use ``settings=SpeechmaticsTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
aiohttp_session: Shared aiohttp session for HTTP requests.
|
aiohttp_session: Shared aiohttp session for HTTP requests.
|
||||||
sample_rate: Audio sample rate in Hz.
|
sample_rate: Audio sample rate in Hz.
|
||||||
params: Input parameters for the service.
|
params: Input parameters for the service.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=SpeechmaticsTTSSettings(...)`` instead.
|
Use ``settings=SpeechmaticsTTSService.Settings(...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
@@ -110,7 +110,7 @@ class SpeechmaticsTTSService(TTSService):
|
|||||||
)
|
)
|
||||||
|
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = SpeechmaticsTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice="sarah",
|
voice="sarah",
|
||||||
language=None,
|
language=None,
|
||||||
@@ -119,12 +119,12 @@ class SpeechmaticsTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", SpeechmaticsTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. Apply params overrides — only if settings not provided
|
# 3. Apply params overrides — only if settings not provided
|
||||||
if params is not None:
|
if params is not None:
|
||||||
_warn_deprecated_param("params", SpeechmaticsTTSSettings)
|
_warn_deprecated_param("params", self.Settings)
|
||||||
if not settings:
|
if not settings:
|
||||||
default_settings.max_retries = params.max_retries
|
default_settings.max_retries = params.max_retries
|
||||||
|
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ class TavusVideoService(AIService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = TavusVideoSettings
|
Settings = TavusVideoSettings
|
||||||
_settings: TavusVideoSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -69,7 +69,7 @@ class TavusVideoService(AIService):
|
|||||||
replica_id: str,
|
replica_id: str,
|
||||||
persona_id: str = "pipecat-stream",
|
persona_id: str = "pipecat-stream",
|
||||||
session: aiohttp.ClientSession,
|
session: aiohttp.ClientSession,
|
||||||
settings: Optional[TavusVideoSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> None:
|
) -> None:
|
||||||
"""Initialize the Tavus video service.
|
"""Initialize the Tavus video service.
|
||||||
|
|||||||
@@ -11,13 +11,13 @@ from typing import Optional
|
|||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
||||||
from pipecat.services.openai.base_llm import OpenAILLMSettings
|
from pipecat.services.openai.base_llm import BaseOpenAILLMService
|
||||||
from pipecat.services.openai.llm import OpenAILLMService
|
from pipecat.services.openai.llm import OpenAILLMService
|
||||||
from pipecat.services.settings import _warn_deprecated_param
|
from pipecat.services.settings import _warn_deprecated_param
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class TogetherLLMSettings(OpenAILLMSettings):
|
class TogetherLLMSettings(BaseOpenAILLMService.Settings):
|
||||||
"""Settings for TogetherLLMService."""
|
"""Settings for TogetherLLMService."""
|
||||||
|
|
||||||
pass
|
pass
|
||||||
@@ -31,7 +31,7 @@ class TogetherLLMService(OpenAILLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = TogetherLLMSettings
|
Settings = TogetherLLMSettings
|
||||||
_settings: TogetherLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -39,7 +39,7 @@ class TogetherLLMService(OpenAILLMService):
|
|||||||
api_key: str,
|
api_key: str,
|
||||||
base_url: str = "https://api.together.xyz/v1",
|
base_url: str = "https://api.together.xyz/v1",
|
||||||
model: Optional[str] = None,
|
model: Optional[str] = None,
|
||||||
settings: Optional[TogetherLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize Together.ai LLM service.
|
"""Initialize Together.ai LLM service.
|
||||||
@@ -50,18 +50,18 @@ class TogetherLLMService(OpenAILLMService):
|
|||||||
model: The model identifier to use. Defaults to "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo".
|
model: The model identifier to use. Defaults to "meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo".
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=OpenAILLMSettings(model=...)`` instead.
|
Use ``settings=TogetherLLMService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
**kwargs: Additional keyword arguments passed to OpenAILLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = TogetherLLMSettings(model="meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo")
|
default_settings = self.Settings(model="meta-llama/Meta-Llama-3.1-8B-Instruct-Turbo")
|
||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", TogetherLLMSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
@@ -167,13 +167,13 @@ class UltravoxRealtimeLLMService(LLMService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = UltravoxRealtimeLLMSettings
|
Settings = UltravoxRealtimeLLMSettings
|
||||||
_settings: UltravoxRealtimeLLMSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
*,
|
*,
|
||||||
params: Union[AgentInputParams, OneShotInputParams, JoinUrlInputParams],
|
params: Union[AgentInputParams, OneShotInputParams, JoinUrlInputParams],
|
||||||
settings: Optional[UltravoxRealtimeLLMSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
one_shot_selected_tools: Optional[ToolsSchema] = None,
|
one_shot_selected_tools: Optional[ToolsSchema] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -188,7 +188,7 @@ class UltravoxRealtimeLLMService(LLMService):
|
|||||||
**kwargs: Additional arguments passed to parent LLMService.
|
**kwargs: Additional arguments passed to parent LLMService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = UltravoxRealtimeLLMSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
system_instruction=None,
|
system_instruction=None,
|
||||||
temperature=None,
|
temperature=None,
|
||||||
@@ -383,7 +383,7 @@ class UltravoxRealtimeLLMService(LLMService):
|
|||||||
await self.cancel_task(self._receive_task, timeout=1.0)
|
await self.cancel_task(self._receive_task, timeout=1.0)
|
||||||
self._receive_task = None
|
self._receive_task = None
|
||||||
|
|
||||||
async def _update_settings(self, delta: UltravoxRealtimeLLMSettings):
|
async def _update_settings(self, delta: Settings):
|
||||||
changed = await super()._update_settings(delta)
|
changed = await super()._update_settings(delta)
|
||||||
if "output_medium" in changed:
|
if "output_medium" in changed:
|
||||||
await self._update_output_medium(self._settings.output_medium)
|
await self._update_output_medium(self._settings.output_medium)
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ class BaseWhisperSTTService(SegmentedSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = BaseWhisperSTTSettings
|
Settings = BaseWhisperSTTSettings
|
||||||
_settings: BaseWhisperSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -136,7 +136,7 @@ class BaseWhisperSTTService(SegmentedSTTService):
|
|||||||
temperature: Optional[float] = None,
|
temperature: Optional[float] = None,
|
||||||
include_prob_metrics: bool = False,
|
include_prob_metrics: bool = False,
|
||||||
push_empty_transcripts: bool = False,
|
push_empty_transcripts: bool = False,
|
||||||
settings: Optional[BaseWhisperSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
ttfs_p99_latency: Optional[float] = WHISPER_TTFS_P99,
|
ttfs_p99_latency: Optional[float] = WHISPER_TTFS_P99,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
@@ -146,24 +146,24 @@ class BaseWhisperSTTService(SegmentedSTTService):
|
|||||||
model: Name of the Whisper model to use.
|
model: Name of the Whisper model to use.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=BaseWhisperSTTSettings(model=...)`` instead.
|
Use ``settings=BaseWhisperSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
api_key: Service API key. Defaults to None.
|
api_key: Service API key. Defaults to None.
|
||||||
base_url: Service API base URL. Defaults to None.
|
base_url: Service API base URL. Defaults to None.
|
||||||
language: Language of the audio input.
|
language: Language of the audio input.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=BaseWhisperSTTSettings(language=...)`` instead.
|
Use ``settings=BaseWhisperSTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
prompt: Optional text to guide the model's style or continue a previous segment.
|
prompt: Optional text to guide the model's style or continue a previous segment.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=BaseWhisperSTTSettings(prompt=...)`` instead.
|
Use ``settings=BaseWhisperSTTService.Settings(prompt=...)`` instead.
|
||||||
|
|
||||||
temperature: Sampling temperature between 0 and 1.
|
temperature: Sampling temperature between 0 and 1.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=BaseWhisperSTTSettings(temperature=...)`` instead.
|
Use ``settings=BaseWhisperSTTService.Settings(temperature=...)`` instead.
|
||||||
|
|
||||||
include_prob_metrics: If True, enables probability metrics in API response.
|
include_prob_metrics: If True, enables probability metrics in API response.
|
||||||
Each service implements this differently (see child classes).
|
Each service implements this differently (see child classes).
|
||||||
@@ -181,7 +181,7 @@ class BaseWhisperSTTService(SegmentedSTTService):
|
|||||||
**kwargs: Additional arguments passed to SegmentedSTTService.
|
**kwargs: Additional arguments passed to SegmentedSTTService.
|
||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = BaseWhisperSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
language=None,
|
language=None,
|
||||||
prompt=None,
|
prompt=None,
|
||||||
@@ -190,16 +190,16 @@ class BaseWhisperSTTService(SegmentedSTTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", BaseWhisperSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model
|
default_settings.model = model
|
||||||
if language is not None:
|
if language is not None:
|
||||||
_warn_deprecated_param("language", BaseWhisperSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = self.language_to_service_language(language)
|
default_settings.language = self.language_to_service_language(language)
|
||||||
if prompt is not None:
|
if prompt is not None:
|
||||||
_warn_deprecated_param("prompt", BaseWhisperSTTSettings, "prompt")
|
_warn_deprecated_param("prompt", self.Settings, "prompt")
|
||||||
default_settings.prompt = prompt
|
default_settings.prompt = prompt
|
||||||
if temperature is not None:
|
if temperature is not None:
|
||||||
_warn_deprecated_param("temperature", BaseWhisperSTTSettings, "temperature")
|
_warn_deprecated_param("temperature", self.Settings, "temperature")
|
||||||
default_settings.temperature = temperature
|
default_settings.temperature = temperature
|
||||||
|
|
||||||
# --- 3. (no params object for this service) ---
|
# --- 3. (no params object for this service) ---
|
||||||
|
|||||||
@@ -208,7 +208,7 @@ class WhisperSTTService(SegmentedSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = WhisperSTTSettings
|
Settings = WhisperSTTSettings
|
||||||
_settings: WhisperSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -218,7 +218,7 @@ class WhisperSTTService(SegmentedSTTService):
|
|||||||
compute_type: str = "default",
|
compute_type: str = "default",
|
||||||
no_speech_prob: Optional[float] = None,
|
no_speech_prob: Optional[float] = None,
|
||||||
language: Optional[Language] = None,
|
language: Optional[Language] = None,
|
||||||
settings: Optional[WhisperSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the Whisper STT service.
|
"""Initialize the Whisper STT service.
|
||||||
@@ -227,7 +227,7 @@ class WhisperSTTService(SegmentedSTTService):
|
|||||||
model: The Whisper model to use for transcription. Can be a Model enum or string.
|
model: The Whisper model to use for transcription. Can be a Model enum or string.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=WhisperSTTSettings(model=...)`` instead.
|
Use ``settings=WhisperSTTService.Settings(model=...)`` instead.
|
||||||
|
|
||||||
device: The device to run inference on ('cpu', 'cuda', or 'auto').
|
device: The device to run inference on ('cpu', 'cuda', or 'auto').
|
||||||
Defaults to ``"auto"``.
|
Defaults to ``"auto"``.
|
||||||
@@ -236,19 +236,19 @@ class WhisperSTTService(SegmentedSTTService):
|
|||||||
no_speech_prob: Probability threshold for filtering out non-speech segments.
|
no_speech_prob: Probability threshold for filtering out non-speech segments.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=WhisperSTTSettings(no_speech_prob=...)`` instead.
|
Use ``settings=WhisperSTTService.Settings(no_speech_prob=...)`` instead.
|
||||||
|
|
||||||
language: The default language for transcription.
|
language: The default language for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=WhisperSTTSettings(language=...)`` instead.
|
Use ``settings=WhisperSTTService.Settings(language=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to SegmentedSTTService.
|
**kwargs: Additional arguments passed to SegmentedSTTService.
|
||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = WhisperSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=Model.DISTIL_MEDIUM_EN.value,
|
model=Model.DISTIL_MEDIUM_EN.value,
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
no_speech_prob=0.4,
|
no_speech_prob=0.4,
|
||||||
@@ -256,13 +256,13 @@ class WhisperSTTService(SegmentedSTTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", WhisperSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model if isinstance(model, str) else model.value
|
default_settings.model = model if isinstance(model, str) else model.value
|
||||||
if no_speech_prob is not None:
|
if no_speech_prob is not None:
|
||||||
_warn_deprecated_param("no_speech_prob", WhisperSTTSettings, "no_speech_prob")
|
_warn_deprecated_param("no_speech_prob", self.Settings, "no_speech_prob")
|
||||||
default_settings.no_speech_prob = no_speech_prob
|
default_settings.no_speech_prob = no_speech_prob
|
||||||
if language is not None:
|
if language is not None:
|
||||||
_warn_deprecated_param("language", WhisperSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = language
|
default_settings.language = language
|
||||||
|
|
||||||
# --- 3. (no params object for this service) ---
|
# --- 3. (no params object for this service) ---
|
||||||
@@ -382,7 +382,7 @@ class WhisperSTTServiceMLX(WhisperSTTService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = WhisperMLXSTTSettings
|
Settings = WhisperMLXSTTSettings
|
||||||
_settings: WhisperMLXSTTSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -391,7 +391,7 @@ class WhisperSTTServiceMLX(WhisperSTTService):
|
|||||||
no_speech_prob: Optional[float] = None,
|
no_speech_prob: Optional[float] = None,
|
||||||
language: Optional[Language] = None,
|
language: Optional[Language] = None,
|
||||||
temperature: Optional[float] = None,
|
temperature: Optional[float] = None,
|
||||||
settings: Optional[WhisperMLXSTTSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the MLX Whisper STT service.
|
"""Initialize the MLX Whisper STT service.
|
||||||
@@ -400,29 +400,29 @@ class WhisperSTTServiceMLX(WhisperSTTService):
|
|||||||
model: The MLX Whisper model to use for transcription. Can be an MLXModel enum or string.
|
model: The MLX Whisper model to use for transcription. Can be an MLXModel enum or string.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=WhisperMLXSTTSettings(model=...)`` instead.
|
Use ``settings=WhisperSTTServiceMLX.Settings(model=...)`` instead.
|
||||||
|
|
||||||
no_speech_prob: Probability threshold for filtering out non-speech segments.
|
no_speech_prob: Probability threshold for filtering out non-speech segments.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=WhisperMLXSTTSettings(no_speech_prob=...)`` instead.
|
Use ``settings=WhisperSTTServiceMLX.Settings(no_speech_prob=...)`` instead.
|
||||||
|
|
||||||
language: The default language for transcription.
|
language: The default language for transcription.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=WhisperMLXSTTSettings(language=...)`` instead.
|
Use ``settings=WhisperSTTServiceMLX.Settings(language=...)`` instead.
|
||||||
|
|
||||||
temperature: Temperature for sampling. Can be a float or tuple of floats.
|
temperature: Temperature for sampling. Can be a float or tuple of floats.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=WhisperMLXSTTSettings(temperature=...)`` instead.
|
Use ``settings=WhisperSTTServiceMLX.Settings(temperature=...)`` instead.
|
||||||
|
|
||||||
settings: Runtime-updatable settings. When provided alongside deprecated
|
settings: Runtime-updatable settings. When provided alongside deprecated
|
||||||
parameters, ``settings`` values take precedence.
|
parameters, ``settings`` values take precedence.
|
||||||
**kwargs: Additional arguments passed to SegmentedSTTService.
|
**kwargs: Additional arguments passed to SegmentedSTTService.
|
||||||
"""
|
"""
|
||||||
# --- 1. Hardcoded defaults ---
|
# --- 1. Hardcoded defaults ---
|
||||||
default_settings = WhisperMLXSTTSettings(
|
default_settings = self.Settings(
|
||||||
model=MLXModel.TINY.value,
|
model=MLXModel.TINY.value,
|
||||||
language=Language.EN,
|
language=Language.EN,
|
||||||
no_speech_prob=0.6,
|
no_speech_prob=0.6,
|
||||||
@@ -432,16 +432,16 @@ class WhisperSTTServiceMLX(WhisperSTTService):
|
|||||||
|
|
||||||
# --- 2. Deprecated direct-arg overrides ---
|
# --- 2. Deprecated direct-arg overrides ---
|
||||||
if model is not None:
|
if model is not None:
|
||||||
_warn_deprecated_param("model", WhisperMLXSTTSettings, "model")
|
_warn_deprecated_param("model", self.Settings, "model")
|
||||||
default_settings.model = model if isinstance(model, str) else model.value
|
default_settings.model = model if isinstance(model, str) else model.value
|
||||||
if no_speech_prob is not None:
|
if no_speech_prob is not None:
|
||||||
_warn_deprecated_param("no_speech_prob", WhisperMLXSTTSettings, "no_speech_prob")
|
_warn_deprecated_param("no_speech_prob", self.Settings, "no_speech_prob")
|
||||||
default_settings.no_speech_prob = no_speech_prob
|
default_settings.no_speech_prob = no_speech_prob
|
||||||
if language is not None:
|
if language is not None:
|
||||||
_warn_deprecated_param("language", WhisperMLXSTTSettings, "language")
|
_warn_deprecated_param("language", self.Settings, "language")
|
||||||
default_settings.language = language
|
default_settings.language = language
|
||||||
if temperature is not None:
|
if temperature is not None:
|
||||||
_warn_deprecated_param("temperature", WhisperMLXSTTSettings, "temperature")
|
_warn_deprecated_param("temperature", self.Settings, "temperature")
|
||||||
default_settings.temperature = temperature
|
default_settings.temperature = temperature
|
||||||
|
|
||||||
# --- 3. (no params object for this service) ---
|
# --- 3. (no params object for this service) ---
|
||||||
|
|||||||
@@ -84,7 +84,7 @@ class XTTSService(TTSService):
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
Settings = XTTSTTSSettings
|
Settings = XTTSTTSSettings
|
||||||
_settings: XTTSTTSSettings
|
_settings: Settings
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
@@ -94,7 +94,7 @@ class XTTSService(TTSService):
|
|||||||
aiohttp_session: aiohttp.ClientSession,
|
aiohttp_session: aiohttp.ClientSession,
|
||||||
language: Language = Language.EN,
|
language: Language = Language.EN,
|
||||||
sample_rate: Optional[int] = None,
|
sample_rate: Optional[int] = None,
|
||||||
settings: Optional[XTTSTTSSettings] = None,
|
settings: Optional[Settings] = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
):
|
):
|
||||||
"""Initialize the XTTS service.
|
"""Initialize the XTTS service.
|
||||||
@@ -103,7 +103,7 @@ class XTTSService(TTSService):
|
|||||||
voice_id: ID of the voice/speaker to use for synthesis.
|
voice_id: ID of the voice/speaker to use for synthesis.
|
||||||
|
|
||||||
.. deprecated:: 0.0.105
|
.. deprecated:: 0.0.105
|
||||||
Use ``settings=XTTSTTSSettings(voice=...)`` instead.
|
Use ``settings=XTTSService.Settings(voice=...)`` instead.
|
||||||
|
|
||||||
base_url: Base URL of the XTTS streaming server.
|
base_url: Base URL of the XTTS streaming server.
|
||||||
aiohttp_session: HTTP session for making requests to the server.
|
aiohttp_session: HTTP session for making requests to the server.
|
||||||
@@ -114,7 +114,7 @@ class XTTSService(TTSService):
|
|||||||
**kwargs: Additional arguments passed to parent TTSService.
|
**kwargs: Additional arguments passed to parent TTSService.
|
||||||
"""
|
"""
|
||||||
# 1. Initialize default_settings with hardcoded defaults
|
# 1. Initialize default_settings with hardcoded defaults
|
||||||
default_settings = XTTSTTSSettings(
|
default_settings = self.Settings(
|
||||||
model=None,
|
model=None,
|
||||||
voice=None,
|
voice=None,
|
||||||
language=self.language_to_service_language(language),
|
language=self.language_to_service_language(language),
|
||||||
@@ -122,7 +122,7 @@ class XTTSService(TTSService):
|
|||||||
|
|
||||||
# 2. Apply direct init arg overrides (deprecated)
|
# 2. Apply direct init arg overrides (deprecated)
|
||||||
if voice_id is not None:
|
if voice_id is not None:
|
||||||
_warn_deprecated_param("voice_id", XTTSTTSSettings, "voice")
|
_warn_deprecated_param("voice_id", self.Settings, "voice")
|
||||||
default_settings.voice = voice_id
|
default_settings.voice = voice_id
|
||||||
|
|
||||||
# 3. (No step 3, as there's no params object to apply)
|
# 3. (No step 3, as there's no params object to apply)
|
||||||
|
|||||||
Reference in New Issue
Block a user