Align Together STT/TTS services with Pipecat patterns
STT: - Add Settings class alias and 4-step init pattern - Add resampler to convert pipeline audio to 16kHz for Together API - Add keepalive support and _update_settings with reconnect - Pass language to transcription frames - Remove unnecessary OpenAI-Beta header TTS: - Add Settings class alias and 4-step init pattern - Use push_start_frame=True for base class audio context management - Route audio through append_to_audio_context instead of push_frame - Track pending commits for proper audio context lifecycle - Replace _handle_interruption with on_audio_context_interrupted - Add _update_settings with reconnect - Guard against stale audio after interruption
This commit is contained in:
@@ -21,7 +21,6 @@ from pipecat.processors.aggregators.llm_response_universal import (
|
||||
)
|
||||
from pipecat.runner.types import RunnerArguments
|
||||
from pipecat.runner.utils import create_transport
|
||||
from pipecat.services.openai.llm import OpenAILLMService
|
||||
from pipecat.services.together.llm import TogetherLLMService
|
||||
from pipecat.services.together.stt import TogetherSTTService
|
||||
from pipecat.services.together.tts import TogetherTTSService
|
||||
@@ -55,12 +54,17 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
||||
|
||||
stt = TogetherSTTService(api_key=os.getenv("TOGETHER_API_KEY"))
|
||||
|
||||
tts = TogetherTTSService(api_key=os.getenv("TOGETHER_API_KEY"))
|
||||
tts = TogetherTTSService(
|
||||
api_key=os.getenv("TOGETHER_API_KEY"),
|
||||
settings=TogetherTTSService.Settings(
|
||||
voice="tara",
|
||||
),
|
||||
)
|
||||
|
||||
llm = TogetherLLMService(
|
||||
api_key=os.getenv("TOGETHER_API_KEY"),
|
||||
settings=TogetherLLMService.Settings(
|
||||
model="Qwen/Qwen3.5-9B",
|
||||
model="openai/gpt-oss-120b",
|
||||
system_instruction="You are a helpful LLM in a WebRTC call. Your goal is to demonstrate your capabilities in a succinct way. Your output will be spoken aloud, so avoid special characters that can't easily be spoken, such as emojis or bullet points. Respond to what the user said in a creative and helpful way.",
|
||||
),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user