From 73ffe96228ce290586053da71246b7de7b4f40a6 Mon Sep 17 00:00:00 2001 From: ivaaan Date: Mon, 6 Oct 2025 19:37:05 -0700 Subject: [PATCH 1/3] add RTVI to Hume --- examples/foundational/07ae-interruptible-hume.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/examples/foundational/07ae-interruptible-hume.py b/examples/foundational/07ae-interruptible-hume.py index fbcccadd8..ac9e8e107 100644 --- a/examples/foundational/07ae-interruptible-hume.py +++ b/examples/foundational/07ae-interruptible-hume.py @@ -19,6 +19,7 @@ from pipecat.pipeline.runner import PipelineRunner from pipecat.pipeline.task import PipelineParams, PipelineTask from pipecat.processors.aggregators.llm_context import LLMContext from pipecat.processors.aggregators.llm_response_universal import LLMContextAggregatorPair +from pipecat.processors.frameworks.rtvi import RTVIConfig, RTVIObserver, RTVIProcessor from pipecat.runner.types import RunnerArguments from pipecat.runner.utils import create_transport from pipecat.services.deepgram.stt import DeepgramSTTService @@ -78,9 +79,12 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): context = LLMContext(messages) context_aggregator = LLMContextAggregatorPair(context) + rtvi = RTVIProcessor(config=RTVIConfig(config=[])) + pipeline = Pipeline( [ transport.input(), # Transport user input + rtvi, stt, context_aggregator.user(), # User responses llm, # LLM @@ -98,13 +102,15 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): audio_out_sample_rate=HUME_SAMPLE_RATE, ), idle_timeout_secs=runner_args.pipeline_idle_timeout_secs, + observers=[RTVIObserver(rtvi)], ) @transport.event_handler("on_client_connected") async def on_client_connected(transport, client): logger.info(f"Client connected") # Kick off the conversation. - messages.append({"role": "system", "content": "Please introduce yourself to the user."}) + messages.append( + {"role": "system", "content": "Please introduce yourself to the user."}) await task.queue_frames([LLMRunFrame()]) @transport.event_handler("on_client_disconnected") From c2f3ddd3295b7cd1c68a113abee3e091c9293512 Mon Sep 17 00:00:00 2001 From: ivaaan Date: Mon, 6 Oct 2025 19:41:31 -0700 Subject: [PATCH 2/3] add RTVI to Hume --- examples/foundational/07ae-interruptible-hume.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/examples/foundational/07ae-interruptible-hume.py b/examples/foundational/07ae-interruptible-hume.py index ac9e8e107..2299859d3 100644 --- a/examples/foundational/07ae-interruptible-hume.py +++ b/examples/foundational/07ae-interruptible-hume.py @@ -105,6 +105,11 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): observers=[RTVIObserver(rtvi)], ) + @rtvi.event_handler("on_client_ready") + async def on_client_ready(rtvi): + logger.info("RTVI client ready") + await rtvi.set_bot_ready() + @transport.event_handler("on_client_connected") async def on_client_connected(transport, client): logger.info(f"Client connected") From f38f4711ac4ebae3789557959b4a285b9db046b6 Mon Sep 17 00:00:00 2001 From: ivaaan Date: Mon, 6 Oct 2025 20:24:27 -0700 Subject: [PATCH 3/3] wip --- examples/foundational/07ae-interruptible-hume.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/examples/foundational/07ae-interruptible-hume.py b/examples/foundational/07ae-interruptible-hume.py index 2299859d3..dedc0450d 100644 --- a/examples/foundational/07ae-interruptible-hume.py +++ b/examples/foundational/07ae-interruptible-hume.py @@ -107,15 +107,13 @@ async def run_bot(transport: BaseTransport, runner_args: RunnerArguments): @rtvi.event_handler("on_client_ready") async def on_client_ready(rtvi): - logger.info("RTVI client ready") await rtvi.set_bot_ready() @transport.event_handler("on_client_connected") async def on_client_connected(transport, client): logger.info(f"Client connected") # Kick off the conversation. - messages.append( - {"role": "system", "content": "Please introduce yourself to the user."}) + messages.append({"role": "system", "content": "Please introduce yourself to the user."}) await task.queue_frames([LLMRunFrame()]) @transport.event_handler("on_client_disconnected")