Rename PipelineRunner.add_worker() to variadic add_workers(*workers)
Lets callers register multiple workers in a single call instead of awaiting add_worker() repeatedly. Updates all examples, docs, tests, and proxy worker docstrings to use the new API.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Pipecat Multi-Worker Examples
|
||||
|
||||
This directory contains example bots that use the multi-worker framework in `pipecat.workers`, `pipecat.pipeline.runner` (with `add_worker()`), and the `WorkerBus`. Each example shows a different cooperation pattern between workers: hand-off, parallel fan-out, remote workers, etc.
|
||||
This directory contains example bots that use the multi-worker framework in `pipecat.workers`, `pipecat.pipeline.runner` (with `add_workers()`), and the `WorkerBus`. Each example shows a different cooperation pattern between workers: hand-off, parallel fan-out, remote workers, etc.
|
||||
|
||||
## Setup
|
||||
|
||||
|
||||
@@ -161,8 +161,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
||||
logger.info("Client disconnected")
|
||||
await runner.cancel()
|
||||
|
||||
await runner.add_worker(CodeWorker("code_worker", project_path=PROJECT_PATH))
|
||||
await runner.add_worker(worker)
|
||||
await runner.add_workers(CodeWorker("code_worker", project_path=PROJECT_PATH), worker)
|
||||
|
||||
await runner.run()
|
||||
|
||||
|
||||
@@ -251,9 +251,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
||||
logger.info("Client disconnected")
|
||||
await runner.cancel()
|
||||
|
||||
await runner.add_worker(build_greeter())
|
||||
await runner.add_worker(build_support())
|
||||
await runner.add_worker(worker)
|
||||
await runner.add_workers(build_greeter(), build_support(), worker)
|
||||
|
||||
await runner.run()
|
||||
|
||||
|
||||
@@ -224,9 +224,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
||||
logger.info("Client disconnected")
|
||||
await runner.cancel()
|
||||
|
||||
await runner.add_worker(build_greeter())
|
||||
await runner.add_worker(build_support())
|
||||
await runner.add_worker(worker)
|
||||
await runner.add_workers(build_greeter(), build_support(), worker)
|
||||
|
||||
await runner.run()
|
||||
|
||||
|
||||
@@ -217,9 +217,12 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
||||
logger.info("Client disconnected")
|
||||
await runner.cancel()
|
||||
|
||||
for role in ROLE_PROMPTS:
|
||||
await runner.add_worker(DebateWorker(role))
|
||||
await runner.add_worker(worker)
|
||||
await runner.add_workers(
|
||||
DebateWorker("advocate"),
|
||||
DebateWorker("critic"),
|
||||
DebateWorker("analyst"),
|
||||
worker,
|
||||
)
|
||||
|
||||
await runner.run()
|
||||
|
||||
|
||||
@@ -103,8 +103,7 @@ async def websocket_endpoint(websocket: WebSocket):
|
||||
|
||||
assistant = AcmeAssistant()
|
||||
|
||||
await runner.add_worker(proxy)
|
||||
await runner.add_worker(assistant)
|
||||
await runner.add_workers(proxy, assistant)
|
||||
|
||||
logger.info("Assistant server ready, waiting for activation")
|
||||
await runner.run()
|
||||
|
||||
@@ -146,8 +146,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
||||
logger.info("Client disconnected")
|
||||
await runner.cancel()
|
||||
|
||||
await runner.add_worker(proxy)
|
||||
await runner.add_worker(worker)
|
||||
await runner.add_workers(proxy, worker)
|
||||
|
||||
await runner.run()
|
||||
|
||||
|
||||
@@ -316,8 +316,7 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments):
|
||||
logger.info("Client disconnected")
|
||||
await runner.cancel()
|
||||
|
||||
await runner.add_worker(build_sensor_controller())
|
||||
await runner.add_worker(worker)
|
||||
await runner.add_workers(build_sensor_controller(), worker)
|
||||
|
||||
await runner.run()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user