aboutsummaryrefslogtreecommitdiff
path: root/packages/pipecat-sdk-python/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'packages/pipecat-sdk-python/README.md')
-rw-r--r--packages/pipecat-sdk-python/README.md27
1 files changed, 14 insertions, 13 deletions
diff --git a/packages/pipecat-sdk-python/README.md b/packages/pipecat-sdk-python/README.md
index 5f6e8478..bb8e26e1 100644
--- a/packages/pipecat-sdk-python/README.md
+++ b/packages/pipecat-sdk-python/README.md
@@ -107,11 +107,9 @@ from fastapi import FastAPI, WebSocket
from pipecat.pipeline.pipeline import Pipeline
from pipecat.pipeline.task import PipelineTask
from pipecat.pipeline.runner import PipelineRunner
-from pipecat.services.openai import (
- OpenAILLMService,
- OpenAIUserContextAggregator,
-)
-from pipecat.transports.network.fastapi_websocket import (
+from pipecat.processors.aggregators.openai_llm_context import OpenAILLMContext
+from pipecat.services.google.gemini_live.llm import GeminiLiveLLMService
+from pipecat.transports.websocket.fastapi import (
FastAPIWebsocketTransport,
FastAPIWebsocketParams,
)
@@ -125,10 +123,17 @@ async def websocket_endpoint(websocket: WebSocket):
transport = FastAPIWebsocketTransport(
websocket=websocket,
- params=FastAPIWebsocketParams(audio_out_enabled=True),
+ params=FastAPIWebsocketParams(audio_in_enabled=True, audio_out_enabled=True),
+ )
+
+ # Gemini Live for speech-to-speech
+ llm = GeminiLiveLLMService(
+ api_key=os.getenv("GEMINI_API_KEY"),
+ model="models/gemini-2.5-flash-native-audio-preview-12-2025",
)
- user_context = OpenAIUserContextAggregator()
+ context = OpenAILLMContext([{"role": "system", "content": "You are a helpful assistant."}])
+ context_aggregator = llm.create_context_aggregator(context)
# Supermemory memory service
memory = SupermemoryPipecatService(
@@ -136,17 +141,13 @@ async def websocket_endpoint(websocket: WebSocket):
session_id="session-123",
)
- llm = OpenAILLMService(
- api_key=os.getenv("OPENAI_API_KEY"),
- model="gpt-4",
- )
-
pipeline = Pipeline([
transport.input(),
- user_context,
+ context_aggregator.user(),
memory,
llm,
transport.output(),
+ context_aggregator.assistant(),
])
runner = PipelineRunner()