Add Settings class attribute alias to all service classes
Add a `Settings` class-level alias on every STT, LLM, TTS, image, vision, and video service class pointing to its settings dataclass. This lets developers discover the right settings class via the service class itself (e.g. `GoogleSTTService.Settings(...)`) without needing to know or import the separate settings class name.
This commit is contained in:
@@ -159,6 +159,7 @@ class AnthropicLLMService(LLMService):
|
||||
Can use custom clients like AsyncAnthropicBedrock and AsyncAnthropicVertex.
|
||||
"""
|
||||
|
||||
Settings = AnthropicLLMSettings
|
||||
_settings: AnthropicLLMSettings
|
||||
|
||||
# Overriding the default adapter to use the Anthropic one.
|
||||
|
||||
@@ -128,6 +128,7 @@ class AssemblyAISTTService(WebsocketSTTService):
|
||||
for audio processing and connection management.
|
||||
"""
|
||||
|
||||
Settings = AssemblyAISTTSettings
|
||||
_settings: AssemblyAISTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -85,6 +85,7 @@ class AsyncAITTSService(WebsocketTTSService):
|
||||
Provides text-to-speech using Async's streaming WebSocket API.
|
||||
"""
|
||||
|
||||
Settings = AsyncAITTSSettings
|
||||
_settings: AsyncAITTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -485,6 +486,7 @@ class AsyncAIHttpTTSService(TTSService):
|
||||
connection is not required or desired.
|
||||
"""
|
||||
|
||||
Settings = AsyncAITTSSettings
|
||||
_settings: AsyncAITTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -746,6 +746,7 @@ class AWSBedrockLLMService(LLMService):
|
||||
vision capabilities.
|
||||
"""
|
||||
|
||||
Settings = AWSBedrockLLMSettings
|
||||
_settings: AWSBedrockLLMSettings
|
||||
|
||||
# Overriding the default adapter to use the Anthropic one.
|
||||
|
||||
@@ -246,6 +246,7 @@ class AWSNovaSonicLLMService(LLMService):
|
||||
and function calling capabilities using AWS Nova Sonic model.
|
||||
"""
|
||||
|
||||
Settings = AWSNovaSonicLLMSettings
|
||||
_settings: AWSNovaSonicLLMSettings
|
||||
|
||||
# Override the default adapter to use the AWSNovaSonicLLMAdapter one
|
||||
|
||||
@@ -60,6 +60,7 @@ class AWSTranscribeSTTService(WebsocketSTTService):
|
||||
final transcription results.
|
||||
"""
|
||||
|
||||
Settings = AWSTranscribeSTTSettings
|
||||
_settings: AWSTranscribeSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -148,6 +148,7 @@ class AWSPollyTTSService(TTSService):
|
||||
options including prosody controls.
|
||||
"""
|
||||
|
||||
Settings = AWSPollyTTSSettings
|
||||
_settings: AWSPollyTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -382,6 +383,8 @@ class PollyTTSService(AWSPollyTTSService):
|
||||
|
||||
"""
|
||||
|
||||
Settings = AWSPollyTTSSettings
|
||||
|
||||
def __init__(self, **kwargs):
|
||||
"""Initialize the deprecated PollyTTSService.
|
||||
|
||||
|
||||
@@ -43,6 +43,7 @@ class AzureImageGenServiceREST(ImageGenService):
|
||||
and automatic image download and processing.
|
||||
"""
|
||||
|
||||
Settings = AzureImageGenSettings
|
||||
_settings: AzureImageGenSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -31,6 +31,8 @@ class AzureLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = AzureLLMSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
|
||||
@@ -35,6 +35,7 @@ class AzureRealtimeLLMService(OpenAIRealtimeLLMService):
|
||||
real-time audio and text communication capabilities as the base OpenAI service.
|
||||
"""
|
||||
|
||||
Settings = AzureRealtimeLLMSettings
|
||||
_settings: AzureRealtimeLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -66,6 +66,7 @@ class AzureSTTService(STTService):
|
||||
provides real-time transcription results with timing information.
|
||||
"""
|
||||
|
||||
Settings = AzureSTTSettings
|
||||
_settings: AzureSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -246,6 +246,8 @@ class AzureTTSService(TTSService, AzureBaseTTSService):
|
||||
available for lower latency playback and accurate word-level synchronization.
|
||||
"""
|
||||
|
||||
Settings = AzureTTSSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
@@ -749,6 +751,8 @@ class AzureHttpTTSService(TTSService, AzureBaseTTSService):
|
||||
required and simpler integration is preferred.
|
||||
"""
|
||||
|
||||
Settings = AzureTTSSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
|
||||
@@ -168,6 +168,7 @@ class CambTTSService(TTSService):
|
||||
)
|
||||
"""
|
||||
|
||||
Settings = CambTTSSettings
|
||||
_settings: CambTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -146,6 +146,7 @@ class CartesiaSTTService(WebsocketSTTService):
|
||||
See: https://docs.cartesia.ai/api-reference/stt/stt
|
||||
"""
|
||||
|
||||
Settings = CartesiaSTTSettings
|
||||
_settings: CartesiaSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -210,6 +210,7 @@ class CartesiaTTSService(WebsocketTTSService):
|
||||
customization options including generation configuration.
|
||||
"""
|
||||
|
||||
Settings = CartesiaTTSSettings
|
||||
_settings: CartesiaTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -681,6 +682,7 @@ class CartesiaHttpTTSService(TTSService):
|
||||
integration is preferred.
|
||||
"""
|
||||
|
||||
Settings = CartesiaTTSSettings
|
||||
_settings: CartesiaTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -31,6 +31,7 @@ class CerebrasLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = CerebrasLLMSettings
|
||||
_settings: CerebrasLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -113,6 +113,7 @@ class DeepgramFluxSTTService(WebsocketSTTService):
|
||||
...
|
||||
"""
|
||||
|
||||
Settings = DeepgramFluxSTTSettings
|
||||
_settings: DeepgramFluxSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -78,6 +78,7 @@ class DeepgramSageMakerSTTService(STTService):
|
||||
)
|
||||
"""
|
||||
|
||||
Settings = DeepgramSageMakerSTTSettings
|
||||
_settings: DeepgramSageMakerSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -67,6 +67,7 @@ class DeepgramSageMakerTTSService(TTSService):
|
||||
)
|
||||
"""
|
||||
|
||||
Settings = DeepgramSageMakerTTSSettings
|
||||
_settings: DeepgramSageMakerTTSSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -266,6 +266,7 @@ class DeepgramSTTService(STTService):
|
||||
...
|
||||
"""
|
||||
|
||||
Settings = DeepgramSTTSettings
|
||||
_settings: DeepgramSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -58,6 +58,7 @@ class DeepgramTTSService(WebsocketTTSService):
|
||||
message for conversational AI use cases.
|
||||
"""
|
||||
|
||||
Settings = DeepgramTTSSettings
|
||||
_settings: DeepgramTTSSettings
|
||||
|
||||
SUPPORTED_ENCODINGS = ("linear16", "mulaw", "alaw")
|
||||
@@ -381,6 +382,7 @@ class DeepgramHttpTTSService(TTSService):
|
||||
configurable sample rates and quality settings.
|
||||
"""
|
||||
|
||||
Settings = DeepgramTTSSettings
|
||||
_settings: DeepgramTTSSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -31,6 +31,7 @@ class DeepSeekLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = DeepSeekLLMSettings
|
||||
_settings: DeepSeekLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -216,6 +216,7 @@ class ElevenLabsSTTService(SegmentedSTTService):
|
||||
The service uploads audio files to ElevenLabs and receives transcription results directly.
|
||||
"""
|
||||
|
||||
Settings = ElevenLabsSTTSettings
|
||||
_settings: ElevenLabsSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -448,6 +449,7 @@ class ElevenLabsRealtimeSTTService(WebsocketSTTService):
|
||||
commit transcript segments, providing consistency with other STT services.
|
||||
"""
|
||||
|
||||
Settings = ElevenLabsRealtimeSTTSettings
|
||||
_settings: ElevenLabsRealtimeSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -316,6 +316,7 @@ class ElevenLabsTTSService(WebsocketTTSService):
|
||||
customization options including stability, similarity boost, and speed controls.
|
||||
"""
|
||||
|
||||
Settings = ElevenLabsTTSSettings
|
||||
_settings: ElevenLabsTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -904,6 +905,7 @@ class ElevenLabsHttpTTSService(TTSService):
|
||||
connection is not required or desired.
|
||||
"""
|
||||
|
||||
Settings = ElevenLabsHttpTTSSettings
|
||||
_settings: ElevenLabsHttpTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -70,6 +70,9 @@ class FalImageGenService(ImageGenService):
|
||||
parameters for image quality, safety, and format options.
|
||||
"""
|
||||
|
||||
Settings = FalImageGenSettings
|
||||
_settings: FalImageGenSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
"""Input parameters for Fal.ai image generation.
|
||||
|
||||
|
||||
@@ -155,6 +155,7 @@ class FalSTTService(SegmentedSTTService):
|
||||
segments. It inherits from SegmentedSTTService to handle audio buffering and speech detection.
|
||||
"""
|
||||
|
||||
Settings = FalSTTSettings
|
||||
_settings: FalSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -31,6 +31,7 @@ class FireworksLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = FireworksLLMSettings
|
||||
_settings: FireworksLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -84,6 +84,7 @@ class FishAudioTTSService(InterruptibleTTSService):
|
||||
audio generation with interruption handling.
|
||||
"""
|
||||
|
||||
Settings = FishAudioTTSSettings
|
||||
_settings: FishAudioTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -230,6 +230,7 @@ class GladiaSTTService(WebsocketSTTService):
|
||||
Use :class:`~pipecat.services.gladia.config.GladiaInputParams` directly instead.
|
||||
"""
|
||||
|
||||
Settings = GladiaSTTSettings
|
||||
_settings: GladiaSTTSettings
|
||||
|
||||
# Maintain backward compatibility
|
||||
|
||||
@@ -642,6 +642,7 @@ class GeminiLiveLLMService(LLMService):
|
||||
responses, and tool usage.
|
||||
"""
|
||||
|
||||
Settings = GeminiLiveLLMSettings
|
||||
_settings: GeminiLiveLLMSettings
|
||||
|
||||
# Overriding the default adapter to use the Gemini one.
|
||||
|
||||
@@ -57,6 +57,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
||||
responses, and tool usage.
|
||||
"""
|
||||
|
||||
Settings = GeminiLiveVertexLLMSettings
|
||||
_settings: GeminiLiveVertexLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -59,6 +59,9 @@ class GoogleImageGenService(ImageGenService):
|
||||
prompting for enhanced control over generated content.
|
||||
"""
|
||||
|
||||
Settings = GoogleImageGenSettings
|
||||
_settings: GoogleImageGenSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
"""Configuration parameters for Google image generation.
|
||||
|
||||
@@ -75,8 +78,6 @@ class GoogleImageGenService(ImageGenService):
|
||||
model: str = Field(default="imagen-3.0-generate-002")
|
||||
negative_prompt: Optional[str] = Field(default=None)
|
||||
|
||||
_settings: GoogleImageGenSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
|
||||
@@ -743,6 +743,7 @@ class GoogleLLMService(LLMService):
|
||||
expected by the Google AI model.
|
||||
"""
|
||||
|
||||
Settings = GoogleLLMSettings
|
||||
_settings: GoogleLLMSettings
|
||||
|
||||
# Overriding the default adapter to use the Gemini one.
|
||||
|
||||
@@ -58,6 +58,7 @@ class GoogleLLMOpenAIBetaService(OpenAILLMService):
|
||||
https://ai.google.dev/gemini-api/docs/openai
|
||||
"""
|
||||
|
||||
Settings = GoogleOpenAILLMSettings
|
||||
_settings: GoogleOpenAILLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -59,6 +59,7 @@ class GoogleVertexLLMService(GoogleLLMService):
|
||||
https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/inference
|
||||
"""
|
||||
|
||||
Settings = GoogleVertexLLMSettings
|
||||
_settings: GoogleVertexLLMSettings
|
||||
|
||||
class InputParams(GoogleLLMService.InputParams):
|
||||
|
||||
@@ -414,6 +414,7 @@ class GoogleSTTService(STTService):
|
||||
ValueError: If project ID is not found in credentials.
|
||||
"""
|
||||
|
||||
Settings = GoogleSTTSettings
|
||||
_settings: GoogleSTTSettings
|
||||
|
||||
# Google Cloud's STT service has a connection time limit of 5 minutes per stream.
|
||||
|
||||
@@ -558,6 +558,7 @@ class GoogleHttpTTSService(TTSService):
|
||||
Chirp and Journey voices don't support SSML and will use plain text input.
|
||||
"""
|
||||
|
||||
Settings = GoogleHttpTTSSettings
|
||||
_settings: GoogleHttpTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -1020,6 +1021,7 @@ class GoogleTTSService(GoogleBaseTTSService):
|
||||
)
|
||||
"""
|
||||
|
||||
Settings = GoogleTTSSettings
|
||||
_settings: GoogleTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -1198,6 +1200,7 @@ class GeminiTTSService(GoogleBaseTTSService):
|
||||
)
|
||||
"""
|
||||
|
||||
Settings = GeminiTTSSettings
|
||||
_settings: GeminiTTSSettings
|
||||
|
||||
GOOGLE_SAMPLE_RATE = 24000 # Google TTS always outputs at 24kHz
|
||||
|
||||
@@ -88,6 +88,7 @@ class GradiumSTTService(WebsocketSTTService):
|
||||
for audio processing and connection management.
|
||||
"""
|
||||
|
||||
Settings = GradiumSTTSettings
|
||||
_settings: GradiumSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -47,6 +47,7 @@ class GradiumTTSSettings(TTSSettings):
|
||||
class GradiumTTSService(WebsocketTTSService):
|
||||
"""Text-to-Speech service using Gradium's websocket API."""
|
||||
|
||||
Settings = GradiumTTSSettings
|
||||
_settings: GradiumTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -86,6 +86,7 @@ class GrokLLMService(OpenAILLMService):
|
||||
processing and reports final totals.
|
||||
"""
|
||||
|
||||
Settings = GrokLLMSettings
|
||||
_settings: GrokLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -202,6 +202,7 @@ class GrokRealtimeLLMService(LLMService):
|
||||
- Server-side VAD (Voice Activity Detection)
|
||||
"""
|
||||
|
||||
Settings = GrokRealtimeLLMSettings
|
||||
_settings: GrokRealtimeLLMSettings
|
||||
|
||||
# Use the Grok-specific adapter
|
||||
|
||||
@@ -30,6 +30,7 @@ class GroqLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = GroqLLMSettings
|
||||
_settings: GroqLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -37,6 +37,7 @@ class GroqSTTService(BaseWhisperSTTService):
|
||||
set via the api_key parameter or GROQ_API_KEY environment variable.
|
||||
"""
|
||||
|
||||
Settings = GroqSTTSettings
|
||||
_settings: GroqSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -51,6 +51,7 @@ class GroqTTSService(TTSService):
|
||||
and output formats.
|
||||
"""
|
||||
|
||||
Settings = GroqTTSSettings
|
||||
_settings: GroqTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -82,6 +82,9 @@ class HeyGenVideoService(AIService):
|
||||
Defaults to using the "Shawn_Therapist_public" avatar with "v2" version.
|
||||
"""
|
||||
|
||||
Settings = HeyGenVideoSettings
|
||||
_settings: HeyGenVideoSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
|
||||
@@ -78,6 +78,7 @@ class HumeTTSService(TTSService):
|
||||
- Provides metrics for Time To First Byte (TTFB) and TTS usage.
|
||||
"""
|
||||
|
||||
Settings = HumeTTSSettings
|
||||
_settings: HumeTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -100,6 +100,7 @@ class InworldHttpTTSService(TTSService):
|
||||
Outputs LINEAR16 audio at configurable sample rates with word-level timestamps.
|
||||
"""
|
||||
|
||||
Settings = InworldTTSSettings
|
||||
_settings: InworldTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -487,6 +488,7 @@ class InworldTTSService(WebsocketTTSService):
|
||||
with word-level timestamps.
|
||||
"""
|
||||
|
||||
Settings = InworldTTSSettings
|
||||
_settings: InworldTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -101,6 +101,7 @@ class KokoroTTSService(TTSService):
|
||||
Automatically downloads model files on first use.
|
||||
"""
|
||||
|
||||
Settings = KokoroTTSSettings
|
||||
_settings: KokoroTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -88,6 +88,7 @@ class LmntTTSService(InterruptibleTTSService):
|
||||
language settings.
|
||||
"""
|
||||
|
||||
Settings = LmntTTSSettings
|
||||
_settings: LmntTTSSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -140,6 +140,7 @@ class MiniMaxHttpTTSService(TTSService):
|
||||
https://www.minimax.io/platform/document/T2A%20V2?key=66719005a427f0c8a5701643
|
||||
"""
|
||||
|
||||
Settings = MiniMaxTTSSettings
|
||||
_settings: MiniMaxTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -33,6 +33,7 @@ class MistralLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = MistralLLMSettings
|
||||
_settings: MistralLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -79,6 +79,9 @@ class MoondreamService(VisionService):
|
||||
including CUDA, MPS, and Intel XPU.
|
||||
"""
|
||||
|
||||
Settings = MoondreamSettings
|
||||
_settings: MoondreamSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
|
||||
@@ -91,6 +91,7 @@ class NeuphonicTTSService(InterruptibleTTSService):
|
||||
parameters for high-quality speech generation.
|
||||
"""
|
||||
|
||||
Settings = NeuphonicTTSSettings
|
||||
_settings: NeuphonicTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -430,6 +431,7 @@ class NeuphonicHttpTTSService(TTSService):
|
||||
HTTP-based communication over WebSocket connections.
|
||||
"""
|
||||
|
||||
Settings = NeuphonicTTSSettings
|
||||
_settings: NeuphonicTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -36,6 +36,7 @@ class NvidiaLLMService(OpenAILLMService):
|
||||
in token usage reporting between NIM (incremental) and OpenAI (final summary).
|
||||
"""
|
||||
|
||||
Settings = NvidiaLLMSettings
|
||||
_settings: NvidiaLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -125,6 +125,7 @@ class NvidiaSTTService(STTService):
|
||||
processing for low-latency applications.
|
||||
"""
|
||||
|
||||
Settings = NvidiaSTTSettings
|
||||
_settings: NvidiaSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -439,6 +440,7 @@ class NvidiaSegmentedSTTService(SegmentedSTTService):
|
||||
audio buffering and speech detection.
|
||||
"""
|
||||
|
||||
Settings = NvidiaSegmentedSTTSettings
|
||||
_settings: NvidiaSegmentedSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -61,6 +61,7 @@ class NvidiaTTSService(TTSService):
|
||||
configurable quality settings.
|
||||
"""
|
||||
|
||||
Settings = NvidiaTTSSettings
|
||||
_settings: NvidiaTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -30,6 +30,7 @@ class OLLamaLLMService(OpenAILLMService):
|
||||
providing a compatible interface for running large language models locally.
|
||||
"""
|
||||
|
||||
Settings = OllamaLLMSettings
|
||||
_settings: OllamaLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -68,6 +68,7 @@ class BaseOpenAILLMService(LLMService):
|
||||
configurations.
|
||||
"""
|
||||
|
||||
Settings = OpenAILLMSettings
|
||||
_settings: OpenAILLMSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -48,6 +48,7 @@ class OpenAIImageGenService(ImageGenService):
|
||||
with configurable quality and style parameters.
|
||||
"""
|
||||
|
||||
Settings = OpenAIImageGenSettings
|
||||
_settings: OpenAIImageGenSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -211,6 +211,7 @@ class OpenAIRealtimeLLMService(LLMService):
|
||||
management, and real-time transcription.
|
||||
"""
|
||||
|
||||
Settings = OpenAIRealtimeLLMSettings
|
||||
_settings: OpenAIRealtimeLLMSettings
|
||||
|
||||
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.
|
||||
|
||||
@@ -69,6 +69,7 @@ class OpenAISTTService(BaseWhisperSTTService):
|
||||
set via the api_key parameter or OPENAI_API_KEY environment variable.
|
||||
"""
|
||||
|
||||
Settings = OpenAISTTSettings
|
||||
_settings: OpenAISTTSettings
|
||||
|
||||
def __init__(
|
||||
@@ -224,6 +225,7 @@ class OpenAIRealtimeSTTService(WebsocketSTTService):
|
||||
)
|
||||
"""
|
||||
|
||||
Settings = OpenAIRealtimeSTTSettings
|
||||
_settings: OpenAIRealtimeSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -81,6 +81,7 @@ class OpenAITTSService(TTSService):
|
||||
speech synthesis with streaming audio output.
|
||||
"""
|
||||
|
||||
Settings = OpenAITTSSettings
|
||||
_settings: OpenAITTSSettings
|
||||
|
||||
OPENAI_SAMPLE_RATE = 24000 # OpenAI TTS always outputs at 24kHz
|
||||
|
||||
@@ -42,6 +42,7 @@ class AzureRealtimeBetaLLMService(OpenAIRealtimeBetaLLMService):
|
||||
real-time audio and text communication capabilities as the base OpenAI service.
|
||||
"""
|
||||
|
||||
Settings = AzureRealtimeBetaLLMSettings
|
||||
_settings: AzureRealtimeBetaLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -111,6 +111,7 @@ class OpenAIRealtimeBetaLLMService(LLMService):
|
||||
management, and real-time transcription.
|
||||
"""
|
||||
|
||||
Settings = OpenAIRealtimeBetaLLMSettings
|
||||
_settings: OpenAIRealtimeBetaLLMSettings
|
||||
|
||||
# Overriding the default adapter to use the OpenAIRealtimeLLMAdapter one.
|
||||
|
||||
@@ -43,6 +43,7 @@ class OpenPipeLLMService(OpenAILLMService):
|
||||
for model training and evaluation.
|
||||
"""
|
||||
|
||||
Settings = OpenPipeLLMSettings
|
||||
_settings: OpenPipeLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -34,6 +34,7 @@ class OpenRouterLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = OpenRouterLLMSettings
|
||||
_settings: OpenRouterLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -38,6 +38,7 @@ class PerplexityLLMService(OpenAILLMService):
|
||||
in token usage reporting between Perplexity (incremental) and OpenAI (final summary).
|
||||
"""
|
||||
|
||||
Settings = PerplexityLLMSettings
|
||||
_settings: PerplexityLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -46,6 +46,7 @@ class PiperTTSService(TTSService):
|
||||
match the configured sample rate.
|
||||
"""
|
||||
|
||||
Settings = PiperTTSSettings
|
||||
_settings: PiperTTSSettings
|
||||
|
||||
def __init__(
|
||||
@@ -199,6 +200,7 @@ class PiperHttpTTSService(TTSService):
|
||||
rates and automatic WAV header removal.
|
||||
"""
|
||||
|
||||
Settings = PiperHttpTTSSettings
|
||||
_settings: PiperHttpTTSSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -30,6 +30,7 @@ class QwenLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = QwenLLMSettings
|
||||
_settings: QwenLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -51,6 +51,7 @@ class ResembleAITTSService(WebsocketTTSService):
|
||||
multiple simultaneous synthesis requests with proper interruption support.
|
||||
"""
|
||||
|
||||
Settings = ResembleAITTSSettings
|
||||
_settings: ResembleAITTSSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -131,6 +131,7 @@ class RimeTTSService(WebsocketTTSService):
|
||||
within a turn.
|
||||
"""
|
||||
|
||||
Settings = RimeTTSSettings
|
||||
_settings: RimeTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -661,6 +662,7 @@ class RimeHttpTTSService(TTSService):
|
||||
Suitable for use cases where streaming is not required.
|
||||
"""
|
||||
|
||||
Settings = RimeTTSSettings
|
||||
_settings: RimeTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -885,6 +887,7 @@ class RimeNonJsonTTSService(InterruptibleTTSService):
|
||||
accepts and returns non-JSON messages.
|
||||
"""
|
||||
|
||||
Settings = RimeNonJsonTTSSettings
|
||||
_settings: RimeNonJsonTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -42,6 +42,7 @@ class SambaNovaLLMService(OpenAILLMService): # type: ignore
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = SambaNovaLLMSettings
|
||||
_settings: SambaNovaLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -35,6 +35,8 @@ class SambaNovaSTTService(BaseWhisperSTTService): # type: ignore
|
||||
Requires a SambaNova API key set via the api_key parameter or SAMBANOVA_API_KEY environment variable.
|
||||
"""
|
||||
|
||||
Settings = SambaNovaSTTSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
|
||||
@@ -171,6 +171,7 @@ class SarvamSTTService(STTService):
|
||||
...
|
||||
"""
|
||||
|
||||
Settings = SarvamSTTSettings
|
||||
_settings: SarvamSTTSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -351,6 +351,7 @@ class SarvamHttpTTSService(TTSService):
|
||||
)
|
||||
"""
|
||||
|
||||
Settings = SarvamHttpTTSSettings
|
||||
_settings: SarvamHttpTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
@@ -717,6 +718,7 @@ class SarvamTTSService(InterruptibleTTSService):
|
||||
See https://docs.sarvam.ai/api-reference-docs/text-to-speech/stream for API details.
|
||||
"""
|
||||
|
||||
Settings = SarvamTTSSettings
|
||||
_settings: SarvamTTSSettings
|
||||
|
||||
class InputParams(BaseModel):
|
||||
|
||||
@@ -174,6 +174,7 @@ class SonioxSTTService(WebsocketSTTService):
|
||||
For complete API documentation, see: https://soniox.com/docs/speech-to-text/api-reference/websocket-api
|
||||
"""
|
||||
|
||||
Settings = SonioxSTTSettings
|
||||
_settings: SonioxSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -175,6 +175,7 @@ class SpeechmaticsSTTService(STTService):
|
||||
...
|
||||
"""
|
||||
|
||||
Settings = SpeechmaticsSTTSettings
|
||||
_settings: SpeechmaticsSTTSettings
|
||||
|
||||
# Export related classes as class attributes
|
||||
|
||||
@@ -53,6 +53,7 @@ class SpeechmaticsTTSService(TTSService):
|
||||
It converts text to speech and returns raw PCM audio data for real-time playback.
|
||||
"""
|
||||
|
||||
Settings = SpeechmaticsTTSSettings
|
||||
_settings: SpeechmaticsTTSSettings
|
||||
|
||||
SPEECHMATICS_SAMPLE_RATE = 16000
|
||||
|
||||
@@ -59,6 +59,9 @@ class TavusVideoService(AIService):
|
||||
- User room: Contains the Pipecat Bot and the user
|
||||
"""
|
||||
|
||||
Settings = TavusVideoSettings
|
||||
_settings: TavusVideoSettings
|
||||
|
||||
def __init__(
|
||||
self,
|
||||
*,
|
||||
|
||||
@@ -30,6 +30,7 @@ class TogetherLLMService(OpenAILLMService):
|
||||
maintaining full compatibility with OpenAI's interface and functionality.
|
||||
"""
|
||||
|
||||
Settings = TogetherLLMSettings
|
||||
_settings: TogetherLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -166,6 +166,7 @@ class UltravoxRealtimeLLMService(LLMService):
|
||||
by the model and may not always align with its understanding of user input.
|
||||
"""
|
||||
|
||||
Settings = UltravoxRealtimeLLMSettings
|
||||
_settings: UltravoxRealtimeLLMSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -122,6 +122,7 @@ class BaseWhisperSTTService(SegmentedSTTService):
|
||||
including metrics generation and error handling.
|
||||
"""
|
||||
|
||||
Settings = BaseWhisperSTTSettings
|
||||
_settings: BaseWhisperSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -207,6 +207,7 @@ class WhisperSTTService(SegmentedSTTService):
|
||||
segments. It supports multiple languages and various model sizes.
|
||||
"""
|
||||
|
||||
Settings = WhisperSTTSettings
|
||||
_settings: WhisperSTTSettings
|
||||
|
||||
def __init__(
|
||||
@@ -380,6 +381,7 @@ class WhisperSTTServiceMLX(WhisperSTTService):
|
||||
segments. It's optimized for Apple Silicon and supports multiple languages and quantizations.
|
||||
"""
|
||||
|
||||
Settings = WhisperMLXSTTSettings
|
||||
_settings: WhisperMLXSTTSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
@@ -83,6 +83,7 @@ class XTTSService(TTSService):
|
||||
studio speakers configuration.
|
||||
"""
|
||||
|
||||
Settings = XTTSTTSSettings
|
||||
_settings: XTTSTTSSettings
|
||||
|
||||
def __init__(
|
||||
|
||||
Reference in New Issue
Block a user