Files
pipecat/changelog/3045.added.md
2025-12-30 14:33:58 -08:00

1.7 KiB

  • Introducing user turn strategies. User turn strategies indicate when the user turn starts or stops. 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).

    User turn stop strategies indicate when the user stops speaking (e.g. using an end-of-turn detection model or by observing incoming transcriptions).

    A list of strategies can be specified for both strategies; strategies are evaluated in order until one evaluates to true.

    Available user turn start strategies:

    • VADUserTurnStartStrategy
    • TranscriptionUserTurnStartStrategy
    • MinWordsUserTurnStartStrategy
    • ExternalUserTurnStartStrategy

    Available user turn stop strategies:

    • TranscriptionUserTurnStopStrategy
    • TurnAnalyzerUserTurnStopStrategy
    • ExternalUserTurnStopStrategy

    The default strategies are:

    • start: [VADUserTurnStartStrategy, TranscriptionUserTurnStartStrategy]
    • stop: [TranscriptionUserTurnStopStrategy]

    Turn strategies are configured when setting up LLMContextAggregatorPair. For example:

    context_aggregator = LLMContextAggregatorPair(
        context,
        user_params=LLMUserAggregatorParams(
            user_turn_strategies=UserTurnStrategies(
                stop=[
                    TurnAnalyzerUserTurnStopStrategy(
                        turn_analyzer=LocalSmartTurnAnalyzerV3(params=SmartTurnParams())
                    )
                ],
            )
        ),
    )
    

    In order to use the user turn strategies you must update to the new universal LLMContext and LLMContextAggregatorPair.