From bf791527dccc4375bdd6adb2073902623ec4f2bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Wed, 12 Nov 2025 15:35:46 -0800 Subject: [PATCH] update CHANGELOG for new user/bot turn start strategies --- changelog/3045.added.md | 37 ++++++++++++++++++++++++++++++++++ changelog/3045.deprecated.2.md | 1 + changelog/3045.deprecated.3.md | 1 + changelog/3045.deprecated.4.md | 1 + changelog/3045.deprecated.5.md | 1 + changelog/3045.deprecated.6.md | 1 + changelog/3045.deprecated.md | 1 + 7 files changed, 43 insertions(+) create mode 100644 changelog/3045.added.md create mode 100644 changelog/3045.deprecated.2.md create mode 100644 changelog/3045.deprecated.3.md create mode 100644 changelog/3045.deprecated.4.md create mode 100644 changelog/3045.deprecated.5.md create mode 100644 changelog/3045.deprecated.6.md create mode 100644 changelog/3045.deprecated.md diff --git a/changelog/3045.added.md b/changelog/3045.added.md new file mode 100644 index 000000000..e29251335 --- /dev/null +++ b/changelog/3045.added.md @@ -0,0 +1,37 @@ +- Introducing user and bot turn start strategies. Turn start strategies indicate when user and bot turns begin. In conversational agents, these are often referred to as start/stop speaking or turn-taking plans or policies. + + User turn start strategies indicate when the user starts speaking (e.g. using VAD events or when a user says one or more words). + + Bot turn start strategies indicate when the bot should start speaking (e.g. using an end-of-turn detection model or by observing incoming transcriptions). + + A list of strategies can be specified for both the user and the bot; strategies are evaluated in order until one evaluates to true. + + Available user turn start strategies: + - VADUserTurnStartStrategy + - TranscriptionUserTurnStartStrategy + - MinWordsUserTurnStartStrategy + + Available bot turn start strategies: + - TranscriptionBotTurnStartStrategy + - TurnAnalyzerBotTurnStartStrategy + + The default strategies are: + + - user: [VADUserTurnStartStrategy, TranscriptionUserTurnStartStrategy] + - bot: [TranscriptionBotTurnStartStrategy] + + Turn start strategies are configured when setting up a `PipelineTask`. For example: + + ```python + task = PipelineTask(..., params=PipelineParams( + turn_start_strategies=TurnStartStrategies( + bot=[ + TurnAnalyzerBotTurnStartStrategy( + turn_analyzer=LocalSmartTurnAnalyzerV3(params=SmartTurnParams()) + ) + ], + ), + )) + ``` + + In order to use the turn start strategies you should update to the new universal `LLMContext` and `LLMContextAggregatorPair`. diff --git a/changelog/3045.deprecated.2.md b/changelog/3045.deprecated.2.md new file mode 100644 index 000000000..0947669d0 --- /dev/null +++ b/changelog/3045.deprecated.2.md @@ -0,0 +1 @@ +- ⚠️ `TransportParams.turn_analyzer` is deprecated and might result in unexpected behavior, use `PipelineTask`'s new `turn_start_strategies` parameter instead. diff --git a/changelog/3045.deprecated.3.md b/changelog/3045.deprecated.3.md new file mode 100644 index 000000000..33c464ee5 --- /dev/null +++ b/changelog/3045.deprecated.3.md @@ -0,0 +1 @@ +- `FrameProcessor.interruption_strategies` is deprecated, use `PipelineTask`'s new `turn_start_strategies` parameter instead. diff --git a/changelog/3045.deprecated.4.md b/changelog/3045.deprecated.4.md new file mode 100644 index 000000000..fda634ce8 --- /dev/null +++ b/changelog/3045.deprecated.4.md @@ -0,0 +1 @@ +- `EmulateUserStartedSpeakingFrame` and `EmulateUserStoppedSpeakingFrame` frames are deprecated. diff --git a/changelog/3045.deprecated.5.md b/changelog/3045.deprecated.5.md new file mode 100644 index 000000000..57781a489 --- /dev/null +++ b/changelog/3045.deprecated.5.md @@ -0,0 +1 @@ +- Deprecated the `emulated` field in the `UserStartedSpeakingFrame` and `UserStoppedSpeakingFrame` frames. diff --git a/changelog/3045.deprecated.6.md b/changelog/3045.deprecated.6.md new file mode 100644 index 000000000..3bf804220 --- /dev/null +++ b/changelog/3045.deprecated.6.md @@ -0,0 +1 @@ +- The `LLMUserAggregatorParams` and `LLMAssistantAggregatorParams` classes in `pipecat.processors.aggregators.llm_response` are now deprecated. Use the new universal `LLMContext` and `LLMContextAggregatorPair` instead. diff --git a/changelog/3045.deprecated.md b/changelog/3045.deprecated.md new file mode 100644 index 000000000..9b0977f5d --- /dev/null +++ b/changelog/3045.deprecated.md @@ -0,0 +1 @@ +- `pipecat.audio.interruptions.MinWordsInterruptionStrategy` is deprecated. Use `pipecat.turns.user.MinWordsUserTurnStartStrategy` with `PipelineTask`'s new `turn_start_strategies` parameter instead.