Merge pull request #3330 from pipecat-ai/aleix/update-turn-start-strategies-deprecations
update turn start strategies deprecations
This commit is contained in:
@@ -1 +1 @@
|
|||||||
- ⚠️ `TransportParams.turn_analyzer` is deprecated and might result in unexpected behavior, use `LLMUserAggregator`'s new `turn_start_strategies` parameter instead.
|
- ⚠️ `TransportParams.turn_analyzer` is deprecated and might result in unexpected behavior, use `LLMUserAggregator`'s new `user_turn_strategies` parameter instead.
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
- `FrameProcessor.interruption_strategies` is deprecated, use `LLMUserAggregator`'s new `turn_start_strategies` parameter instead.
|
- `FrameProcessor.interruption_strategies` is deprecated, use `LLMUserAggregator`'s new `user_turn_strategies` parameter instead.
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
- `pipecat.audio.interruptions.MinWordsInterruptionStrategy` is deprecated. Use `pipecat.turns.user_start.MinWordsUserTurnStartStrategy` with `LLMUserAggregator`'s new `turn_start_strategies` parameter instead.
|
- `pipecat.audio.interruptions.MinWordsInterruptionStrategy` is deprecated. Use `pipecat.turns.user_start.MinWordsUserTurnStartStrategy` with `LLMUserAggregator`'s new `user_turn_strategies` parameter instead.
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
- `PipelineParams.allow_interruptions` is now deprecated, use `LLMUserAggregator`'s new parameter `turn_start_strategies` instead. For example, to disable interruptions but still get user turns you can do:
|
- `PipelineParams.allow_interruptions` is now deprecated, use `LLMUserAggregator`'s new parameter `user_turn_strategies` instead. For example, to disable interruptions but still get user turns you can do:
|
||||||
|
|
||||||
```python
|
```python
|
||||||
context_aggregator = LLMContextAggregatorPair(
|
context_aggregator = LLMContextAggregatorPair(
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class MinWordsInterruptionStrategy(BaseInterruptionStrategy):
|
|||||||
|
|
||||||
This class is deprecated, use
|
This class is deprecated, use
|
||||||
`pipecat.turns.user_start.MinWordsUserTurnStartStrategy` with `PipelineTask`'s
|
`pipecat.turns.user_start.MinWordsUserTurnStartStrategy` with `PipelineTask`'s
|
||||||
new `turn_start_strategies` parameter instead.
|
new `user_turn_strategies` parameter instead.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
@@ -43,7 +43,7 @@ class MinWordsInterruptionStrategy(BaseInterruptionStrategy):
|
|||||||
warnings.warn(
|
warnings.warn(
|
||||||
"'pipecat.audio.interruptions' is deprecated. "
|
"'pipecat.audio.interruptions' is deprecated. "
|
||||||
"Use `pipecat.turns.user_start.MinWordsUserTurnStartStrategy` with `PipelineTask`'s "
|
"Use `pipecat.turns.user_start.MinWordsUserTurnStartStrategy` with `PipelineTask`'s "
|
||||||
"new `turn_start_strategies` parameter instead.",
|
"new `user_turn_strategies` parameter instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -961,7 +961,7 @@ class StartFrame(SystemFrame):
|
|||||||
interruption_strategies: List of interruption handling strategies.
|
interruption_strategies: List of interruption handling strategies.
|
||||||
|
|
||||||
.. deprecated:: 0.0.99
|
.. deprecated:: 0.0.99
|
||||||
Use `LLMUserAggregator`'s new `turn_start_strategies` parameter instead.
|
Use `LLMUserAggregator`'s new `user_turn_strategies` parameter instead.
|
||||||
|
|
||||||
report_only_initial_ttfb: Whether to report only initial time-to-first-byte.
|
report_only_initial_ttfb: Whether to report only initial time-to-first-byte.
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -108,7 +108,7 @@ class PipelineParams(BaseModel):
|
|||||||
allow_interruptions: Whether to allow pipeline interruptions.
|
allow_interruptions: Whether to allow pipeline interruptions.
|
||||||
|
|
||||||
.. deprecated:: 0.0.99
|
.. deprecated:: 0.0.99
|
||||||
Use `LLMUserAggregator`'s new `turn_start_strategies` parameter instead.
|
Use `LLMUserAggregator`'s new `user_turn_strategies` parameter instead.
|
||||||
|
|
||||||
audio_in_sample_rate: Input audio sample rate in Hz.
|
audio_in_sample_rate: Input audio sample rate in Hz.
|
||||||
audio_out_sample_rate: Output audio sample rate in Hz.
|
audio_out_sample_rate: Output audio sample rate in Hz.
|
||||||
@@ -119,7 +119,7 @@ class PipelineParams(BaseModel):
|
|||||||
interruption_strategies: [deprecated] Strategies for bot interruption behavior.
|
interruption_strategies: [deprecated] Strategies for bot interruption behavior.
|
||||||
|
|
||||||
.. deprecated:: 0.0.99
|
.. deprecated:: 0.0.99
|
||||||
Use `LLMUserAggregator`'s new `turn_start_strategies` parameter instead.
|
Use `LLMUserAggregator`'s new `user_turn_strategies` parameter instead.
|
||||||
|
|
||||||
observers: [deprecated] Use `observers` arg in `PipelineTask` class.
|
observers: [deprecated] Use `observers` arg in `PipelineTask` class.
|
||||||
|
|
||||||
|
|||||||
@@ -463,9 +463,9 @@ class LLMUserAggregator(LLMContextAggregator):
|
|||||||
return
|
return
|
||||||
|
|
||||||
logger.warning(
|
logger.warning(
|
||||||
f"{self}: `turn_analyzer` in base input transport is deprecated and "
|
f"{self}: `turn_analyzer` in base input transport is deprecated. "
|
||||||
"might result in unexpected behavior. Use `LLMUserAggregator`'s new `turn_start_strategies` "
|
"Use `LLMUserAggregator`'s new `user_turn_strategies` parameter with "
|
||||||
"parameter with `TurnAnalyzerUserTurnStopStrategy` instead:\n"
|
"`TurnAnalyzerUserTurnStopStrategy` instead:\n"
|
||||||
"\n"
|
"\n"
|
||||||
" context_aggregator = LLMContextAggregatorPair(\n"
|
" context_aggregator = LLMContextAggregatorPair(\n"
|
||||||
" context,\n"
|
" context,\n"
|
||||||
@@ -483,7 +483,7 @@ class LLMUserAggregator(LLMContextAggregator):
|
|||||||
)
|
)
|
||||||
|
|
||||||
await self._cleanup_user_turn_strategies()
|
await self._cleanup_user_turn_strategies()
|
||||||
self._turn_strategies = ExternalUserTurnStrategies()
|
self._user_turn_strategies = ExternalUserTurnStrategies()
|
||||||
await self._setup_user_turn_strategies()
|
await self._setup_user_turn_strategies()
|
||||||
|
|
||||||
async def _handle_vad_user_started_speaking(self, frame: VADUserStartedSpeakingFrame):
|
async def _handle_vad_user_started_speaking(self, frame: VADUserStartedSpeakingFrame):
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ class BaseInputTransport(FrameProcessor):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"Parameter 'turn_analyzer' is deprecated, use `LLMUserAggregator`'s new "
|
"Parameter 'turn_analyzer' is deprecated, use `LLMUserAggregator`'s new "
|
||||||
"`turn_start_strategies` parameter instead.",
|
"`user_turn_strategies` parameter instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -178,7 +178,7 @@ class BaseInputTransport(FrameProcessor):
|
|||||||
|
|
||||||
.. deprecated:: 0.0.99
|
.. deprecated:: 0.0.99
|
||||||
This method is deprecated and will be removed in a future version.
|
This method is deprecated and will be removed in a future version.
|
||||||
Use `LLMUserAggregator`'s new `turn_start_strategies` parameter instead.
|
Use `LLMUserAggregator`'s new `user_turn_strategies` parameter instead.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
The turn analyzer instance if configured, None otherwise.
|
The turn analyzer instance if configured, None otherwise.
|
||||||
@@ -189,7 +189,7 @@ class BaseInputTransport(FrameProcessor):
|
|||||||
warnings.simplefilter("always")
|
warnings.simplefilter("always")
|
||||||
warnings.warn(
|
warnings.warn(
|
||||||
"Method 'turn_analyzer' is deprecated. Use `LLMUserAggregator`'s new "
|
"Method 'turn_analyzer' is deprecated. Use `LLMUserAggregator`'s new "
|
||||||
" `turn_start_strategies` parameter instead.",
|
"`user_turn_strategies` parameter instead.",
|
||||||
DeprecationWarning,
|
DeprecationWarning,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -116,7 +116,7 @@ class TransportParams(BaseModel):
|
|||||||
|
|
||||||
.. deprecated:: 0.0.99
|
.. deprecated:: 0.0.99
|
||||||
The `turn_analyzer` parameter is deprecated, use `LLMUSerAggregator`'s
|
The `turn_analyzer` parameter is deprecated, use `LLMUSerAggregator`'s
|
||||||
new `turn_start_strategies` parameter instead.
|
new `user_turn_strategies` parameter instead.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
model_config = ConfigDict(arbitrary_types_allowed=True)
|
model_config = ConfigDict(arbitrary_types_allowed=True)
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ class TestUserAggregator(unittest.IsolatedAsyncioTestCase):
|
|||||||
)
|
)
|
||||||
assert context.messages[0]["content"] == "Hi there!"
|
assert context.messages[0]["content"] == "Hi there!"
|
||||||
|
|
||||||
async def test_default_turn_start_strategies(self):
|
async def test_default_user_turn_strategies(self):
|
||||||
context = LLMContext()
|
context = LLMContext()
|
||||||
user_aggregator = LLMUserAggregator(context)
|
user_aggregator = LLMUserAggregator(context)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user