From 3b3e22fe7c1ed2a2277ee0e88c80d94e8b8d7373 Mon Sep 17 00:00:00 2001 From: Mark Backman Date: Wed, 18 Dec 2024 18:11:31 -0500 Subject: [PATCH] Add model parameter to OpenAI realtime service constructor, update default model --- CHANGELOG.md | 5 +++++ src/pipecat/services/openai_realtime_beta/openai.py | 8 +++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 78e069fc7..7b532fbd2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- `OpenAIRealtimeBetaLLMService` now takes a `model` parameter in the + constructor. + +- Updated the default model for the `OpenAIRealtimeBetaLLMService`. + - Room expiration (`exp`) in `DailyRoomProperties` is now optional (`None`) by default instead of automatically setting a 5-minute expiration time. You must explicitly set expiration time if desired. diff --git a/src/pipecat/services/openai_realtime_beta/openai.py b/src/pipecat/services/openai_realtime_beta/openai.py index c0240676e..2e952bea1 100644 --- a/src/pipecat/services/openai_realtime_beta/openai.py +++ b/src/pipecat/services/openai_realtime_beta/openai.py @@ -72,15 +72,17 @@ class OpenAIRealtimeBetaLLMService(LLMService): self, *, api_key: str, - base_url="wss://api.openai.com/v1/realtime?model=gpt-4o-realtime-preview-2024-10-01", + model: str = "gpt-4o-realtime-preview-2024-12-17", + base_url: str = "wss://api.openai.com/v1/realtime", session_properties: events.SessionProperties = events.SessionProperties(), start_audio_paused: bool = False, send_transcription_frames: bool = True, **kwargs, ): - super().__init__(base_url=base_url, **kwargs) + full_url = f"{base_url}?model={model}" + super().__init__(base_url=full_url, **kwargs) self.api_key = api_key - self.base_url = base_url + self.base_url = full_url self._session_properties: events.SessionProperties = session_properties self._audio_input_paused = start_audio_paused