Merge pull request #3228 from pipecat-ai/mb/gemini-live-update
Update GeminiLiveLLMService model to gemini-2.5-flash-native-audio-pr…
This commit is contained in:
4
changelog/3228.changed.md
Normal file
4
changelog/3228.changed.md
Normal file
@@ -0,0 +1,4 @@
|
||||
- Updated default models for:
|
||||
|
||||
- `GeminiLiveLLMService` to `gemini-2.5-flash-native-audio-preview-12-2025`.
|
||||
- `GeminiLiveVertexLLMService` to `gemini-live-2.5-flash-native-audio`.
|
||||
@@ -563,18 +563,18 @@ class InputParams(BaseModel):
|
||||
context_window_compression: Context compression settings. Defaults to None.
|
||||
thinking: Thinking settings. Defaults to None.
|
||||
Note that these settings may require specifying a model that
|
||||
supports them, e.g. "gemini-2.5-flash-native-audio-preview-09-2025".
|
||||
supports them, e.g. "gemini-2.5-flash-native-audio-preview-12-2025".
|
||||
enable_affective_dialog: Enable affective dialog, which allows Gemini
|
||||
to adapt to expression and tone. Defaults to None.
|
||||
Note that these settings may require specifying a model that
|
||||
supports them, e.g. "gemini-2.5-flash-native-audio-preview-09-2025".
|
||||
supports them, e.g. "gemini-2.5-flash-native-audio-preview-12-2025".
|
||||
Also note that this setting may require specifying an API version that
|
||||
supports it, e.g. HttpOptions(api_version="v1alpha").
|
||||
proactivity: Proactivity settings, which allows Gemini to proactively
|
||||
decide how to behave, such as whether to avoid responding to
|
||||
content that is not relevant. Defaults to None.
|
||||
Note that these settings may require specifying a model that
|
||||
supports them, e.g. "gemini-2.5-flash-native-audio-preview-09-2025".
|
||||
supports them, e.g. "gemini-2.5-flash-native-audio-preview-12-2025".
|
||||
Also note that this setting may require specifying an API version that
|
||||
supports it, e.g. HttpOptions(api_version="v1alpha").
|
||||
extra: Additional parameters. Defaults to empty dict.
|
||||
@@ -615,7 +615,7 @@ class GeminiLiveLLMService(LLMService):
|
||||
*,
|
||||
api_key: str,
|
||||
base_url: Optional[str] = None,
|
||||
model="models/gemini-2.0-flash-live-001",
|
||||
model="models/gemini-2.5-flash-native-audio-preview-12-2025",
|
||||
voice_id: str = "Charon",
|
||||
start_audio_paused: bool = False,
|
||||
start_video_paused: bool = False,
|
||||
@@ -638,7 +638,7 @@ class GeminiLiveLLMService(LLMService):
|
||||
Please use `http_options` to customize requests made by the
|
||||
API client.
|
||||
|
||||
model: Model identifier to use. Defaults to "models/gemini-2.0-flash-live-001".
|
||||
model: Model identifier to use. Defaults to "models/gemini-2.5-flash-native-audio-preview-12-2025".
|
||||
voice_id: TTS voice identifier. Defaults to "Charon".
|
||||
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.
|
||||
|
||||
@@ -51,7 +51,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
||||
credentials_path: Optional[str] = None,
|
||||
location: str,
|
||||
project_id: str,
|
||||
model="google/gemini-2.0-flash-live-preview-04-09",
|
||||
model="google/gemini-live-2.5-flash-native-audio",
|
||||
voice_id: str = "Charon",
|
||||
start_audio_paused: bool = False,
|
||||
start_video_paused: bool = False,
|
||||
@@ -70,7 +70,7 @@ class GeminiLiveVertexLLMService(GeminiLiveLLMService):
|
||||
credentials_path: Path to the service account JSON file.
|
||||
location: GCP region for Vertex AI endpoint (e.g., "us-east4").
|
||||
project_id: Google Cloud project ID.
|
||||
model: Model identifier to use. Defaults to "models/gemini-2.0-flash-live-preview-04-09".
|
||||
model: Model identifier to use. Defaults to "models/gemini-live-2.5-flash-native-audio".
|
||||
voice_id: TTS voice identifier. Defaults to "Charon".
|
||||
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.
|
||||
|
||||
@@ -730,9 +730,6 @@ class TestThoughtTranscription(unittest.IsolatedAsyncioTestCase):
|
||||
self.assertIsInstance(second_message, ThoughtTranscriptionMessage)
|
||||
self.assertEqual(second_message.content, "Second consideration")
|
||||
|
||||
# Verify timestamps are different
|
||||
self.assertNotEqual(first_message.timestamp, second_message.timestamp)
|
||||
|
||||
async def test_empty_thought_handling(self):
|
||||
"""Test that empty thoughts are not emitted"""
|
||||
processor = AssistantTranscriptProcessor(process_thoughts=True)
|
||||
|
||||
Reference in New Issue
Block a user