Refactoring to use the observer inside the pipelinetask, and moving to start the bot inside on_client_ready.
This commit is contained in:
@@ -54,7 +54,6 @@ async def run_bot(websocket_client):
|
|||||||
llm = GeminiMultimodalLiveLLMService(
|
llm = GeminiMultimodalLiveLLMService(
|
||||||
api_key=os.getenv("GOOGLE_API_KEY"),
|
api_key=os.getenv("GOOGLE_API_KEY"),
|
||||||
voice_id="Puck", # Aoede, Charon, Fenrir, Kore, Puck
|
voice_id="Puck", # Aoede, Charon, Fenrir, Kore, Puck
|
||||||
transcribe_user_audio=True,
|
|
||||||
transcribe_model_audio=True,
|
transcribe_model_audio=True,
|
||||||
system_instruction=SYSTEM_INSTRUCTION,
|
system_instruction=SYSTEM_INSTRUCTION,
|
||||||
)
|
)
|
||||||
@@ -87,20 +86,20 @@ async def run_bot(websocket_client):
|
|||||||
pipeline,
|
pipeline,
|
||||||
params=PipelineParams(
|
params=PipelineParams(
|
||||||
allow_interruptions=True,
|
allow_interruptions=True,
|
||||||
observers=[RTVIObserver(rtvi)],
|
|
||||||
),
|
),
|
||||||
|
observers=[RTVIObserver(rtvi)],
|
||||||
)
|
)
|
||||||
|
|
||||||
@rtvi.event_handler("on_client_ready")
|
@rtvi.event_handler("on_client_ready")
|
||||||
async def on_client_ready(rtvi):
|
async def on_client_ready(rtvi):
|
||||||
logger.info("Pipecat client ready.")
|
logger.info("Pipecat client ready.")
|
||||||
|
await rtvi.set_bot_ready()
|
||||||
|
# Kick off the conversation.
|
||||||
|
await task.queue_frames([context_aggregator.user().get_context_frame()])
|
||||||
|
|
||||||
@ws_transport.event_handler("on_client_connected")
|
@ws_transport.event_handler("on_client_connected")
|
||||||
async def on_client_connected(transport, client):
|
async def on_client_connected(transport, client):
|
||||||
logger.info("Pipecat Client connected")
|
logger.info("Pipecat Client connected")
|
||||||
await rtvi.set_bot_ready()
|
|
||||||
# Kick off the conversation.
|
|
||||||
await task.queue_frames([context_aggregator.user().get_context_frame()])
|
|
||||||
|
|
||||||
@ws_transport.event_handler("on_client_disconnected")
|
@ws_transport.event_handler("on_client_disconnected")
|
||||||
async def on_client_disconnected(transport, client):
|
async def on_client_disconnected(transport, client):
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ async def run_bot_websocket_server():
|
|||||||
llm = GeminiMultimodalLiveLLMService(
|
llm = GeminiMultimodalLiveLLMService(
|
||||||
api_key=os.getenv("GOOGLE_API_KEY"),
|
api_key=os.getenv("GOOGLE_API_KEY"),
|
||||||
voice_id="Puck", # Aoede, Charon, Fenrir, Kore, Puck
|
voice_id="Puck", # Aoede, Charon, Fenrir, Kore, Puck
|
||||||
transcribe_user_audio=True,
|
|
||||||
transcribe_model_audio=True,
|
transcribe_model_audio=True,
|
||||||
system_instruction=SYSTEM_INSTRUCTION,
|
system_instruction=SYSTEM_INSTRUCTION,
|
||||||
)
|
)
|
||||||
@@ -80,20 +79,20 @@ async def run_bot_websocket_server():
|
|||||||
pipeline,
|
pipeline,
|
||||||
params=PipelineParams(
|
params=PipelineParams(
|
||||||
allow_interruptions=True,
|
allow_interruptions=True,
|
||||||
observers=[RTVIObserver(rtvi)],
|
|
||||||
),
|
),
|
||||||
|
observers=[RTVIObserver(rtvi)],
|
||||||
)
|
)
|
||||||
|
|
||||||
@rtvi.event_handler("on_client_ready")
|
@rtvi.event_handler("on_client_ready")
|
||||||
async def on_client_ready(rtvi):
|
async def on_client_ready(rtvi):
|
||||||
logger.info("Pipecat client ready.")
|
logger.info("Pipecat client ready.")
|
||||||
|
await rtvi.set_bot_ready()
|
||||||
|
# Kick off the conversation.
|
||||||
|
await task.queue_frames([context_aggregator.user().get_context_frame()])
|
||||||
|
|
||||||
@ws_transport.event_handler("on_client_connected")
|
@ws_transport.event_handler("on_client_connected")
|
||||||
async def on_client_connected(transport, client):
|
async def on_client_connected(transport, client):
|
||||||
logger.info("Pipecat Client connected")
|
logger.info("Pipecat Client connected")
|
||||||
await rtvi.set_bot_ready()
|
|
||||||
# Kick off the conversation.
|
|
||||||
await task.queue_frames([context_aggregator.user().get_context_frame()])
|
|
||||||
|
|
||||||
@ws_transport.event_handler("on_client_disconnected")
|
@ws_transport.event_handler("on_client_disconnected")
|
||||||
async def on_client_disconnected(transport, client):
|
async def on_client_disconnected(transport, client):
|
||||||
|
|||||||
Reference in New Issue
Block a user