43 lines
1.7 KiB
Markdown
43 lines
1.7 KiB
Markdown
- 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:
|
|
|
|
```python
|
|
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`.
|