1.6 KiB
-
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: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
LLMContextandLLMContextAggregatorPair.