Merge pull request #2824 from pipecat-ai/aleix/gemini-under-google

google: move gemini_live inside google service
This commit is contained in:
Aleix Conchillo Flaqué
2025-10-09 16:40:15 -07:00
committed by GitHub
18 changed files with 35 additions and 30 deletions

View File

@@ -9,10 +9,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- Added `GeminiVertexMultimodalLiveLLMService`, for accessing Gemini Live via
Google Vertex AI.
- Added `GeminiLiveVertexLLMService`, for accessing Gemini Live via Google
Vertex AI.
- Added some new configuration options to `GeminiMultimodalLiveLLMService`:
- Added some new configuration options to `GeminiLiveLLMService`:
- `thinking`
- `enable_affective_dialog`
@@ -37,16 +37,21 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Updated `GeminiMultimodalLiveLLMService` to use the `google-genai` library
rather than use WebSockets directly.
- Updated `GeminiLiveLLMService` to use the `google-genai` library rather than
use WebSockets directly.
### Deprecated
- `GeminiMultimodalLiveLLMService` is now deprecated, use
`GeminiLiveLLMService`.
### Fixed
- `GeminiMultimodalLiveLLMService` will now end gracefully (i.e. after the bot
has finished) upon receiving an `EndFrame`.
- `GeminiLiveLLMService` will now end gracefully (i.e. after the bot has
finished) upon receiving an `EndFrame`.
- `GeminiMultimodalLiveLLMService` will try to seamlessly reconnect when it
loses its connection.
- `GeminiLiveLLMService` will try to seamlessly reconnect when it loses its
connection.
## [0.0.89] - 2025-10-07

View File

@@ -17,7 +17,7 @@ from pipecat.pipeline.runner import PipelineRunner
from pipecat.pipeline.task import PipelineParams, PipelineTask
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams

View File

@@ -20,7 +20,7 @@ from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.processors.transcript_processor import TranscriptProcessor
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams

View File

@@ -22,7 +22,7 @@ from pipecat.pipeline.task import PipelineParams, PipelineTask
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.llm_service import FunctionCallParams
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams

View File

@@ -24,7 +24,7 @@ from pipecat.runner.utils import (
maybe_capture_participant_camera,
maybe_capture_participant_screen,
)
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams

View File

@@ -20,7 +20,7 @@ from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.cartesia.tts import CartesiaTTSService
from pipecat.services.gemini_live.gemini import (
from pipecat.services.google.gemini_live.gemini import (
GeminiLiveLLMService,
GeminiModalities,
InputParams,

View File

@@ -19,7 +19,7 @@ from pipecat.pipeline.task import PipelineParams, PipelineTask
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams

View File

@@ -19,7 +19,7 @@ from pipecat.pipeline.task import PipelineParams, PipelineTask
from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import (
from pipecat.services.google.gemini_live.gemini import (
GeminiLiveLLMService,
)
from pipecat.transports.base_transport import BaseTransport, TransportParams

View File

@@ -14,8 +14,8 @@ from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.processors.frame_processor import FrameDirection, FrameProcessor
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.frames import LLMSearchResponseFrame
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams

View File

@@ -17,8 +17,8 @@ from pipecat.pipeline.runner import PipelineRunner
from pipecat.pipeline.task import PipelineParams, PipelineTask
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.gemini_live.vertex import GeminiLiveVertexLLMService
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.gemini_live.vertex import GeminiLiveVertexLLMService
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams
from pipecat.transports.websocket.fastapi import FastAPIWebsocketParams

View File

@@ -4,8 +4,6 @@
# SPDX-License-Identifier: BSD 2-Clause License
#
import asyncio
import os
from datetime import datetime
@@ -24,7 +22,7 @@ from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
from pipecat.processors.frame_processor import FrameDirection
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.google.gemini_live.gemini import GeminiLiveLLMService
from pipecat.services.llm_service import FunctionCallParams
from pipecat.transports.base_transport import BaseTransport, TransportParams
from pipecat.transports.daily.transport import DailyParams

View File

@@ -20,7 +20,7 @@ from pipecat.processors.frame_processor import FrameDirection, FrameProcessor
from pipecat.processors.frameworks.rtvi import RTVIObserver, RTVIProcessor
from pipecat.runner.types import RunnerArguments
from pipecat.runner.utils import create_transport
from pipecat.services.gemini_live import GeminiLiveLLMService
from pipecat.services.google.gemini_live import GeminiLiveLLMService
from pipecat.transports.base_transport import TransportParams
from pipecat.transports.daily.transport import DailyParams, DailyTransport

View File

@@ -20,7 +20,7 @@ import warnings
from loguru import logger
try:
from pipecat.services.gemini_live.file_api import GeminiFileAPI as _GeminiFileAPI
from pipecat.services.google.gemini_live.file_api import GeminiFileAPI as _GeminiFileAPI
except ModuleNotFoundError as e:
logger.error(f"Exception: {e}")
logger.error("In order to use Google AI, you need to `pip install pipecat-ai[google]`.")

View File

@@ -18,10 +18,10 @@ voice transcription, streaming responses, and tool usage.
import warnings
from pipecat.services.gemini_live.gemini import (
from pipecat.services.google.gemini_live.gemini import (
ContextWindowCompressionParams as _ContextWindowCompressionParams,
)
from pipecat.services.gemini_live.gemini import (
from pipecat.services.google.gemini_live.gemini import (
GeminiLiveAssistantContextAggregator,
GeminiLiveContext,
GeminiLiveContextAggregatorPair,
@@ -29,9 +29,11 @@ from pipecat.services.gemini_live.gemini import (
GeminiLiveUserContextAggregator,
GeminiModalities,
)
from pipecat.services.gemini_live.gemini import GeminiMediaResolution as _GeminiMediaResolution
from pipecat.services.gemini_live.gemini import GeminiVADParams as _GeminiVADParams
from pipecat.services.gemini_live.gemini import InputParams as _InputParams
from pipecat.services.google.gemini_live.gemini import (
GeminiMediaResolution as _GeminiMediaResolution,
)
from pipecat.services.google.gemini_live.gemini import GeminiVADParams as _GeminiVADParams
from pipecat.services.google.gemini_live.gemini import InputParams as _InputParams
with warnings.catch_warnings():
warnings.simplefilter("always")

View File

@@ -18,7 +18,7 @@ from typing import List, Optional, Union
from loguru import logger
from pipecat.adapters.schemas.tools_schema import ToolsSchema
from pipecat.services.gemini_live.gemini import (
from pipecat.services.google.gemini_live.gemini import (
GeminiLiveLLMService,
HttpOptions,
InputParams,