BaseTurnAnalyzer: add BaseTurnParams base class for parameters

This commit is contained in:
Aleix Conchillo Flaqué
2025-09-25 09:47:58 -07:00
parent 7078fb53bd
commit 22ef61fe8d
2 changed files with 11 additions and 3 deletions

View File

@@ -14,6 +14,8 @@ from abc import ABC, abstractmethod
from enum import Enum from enum import Enum
from typing import Optional, Tuple from typing import Optional, Tuple
from pydantic import BaseModel
from pipecat.metrics.metrics import MetricsData from pipecat.metrics.metrics import MetricsData
@@ -29,6 +31,12 @@ class EndOfTurnState(Enum):
INCOMPLETE = 2 INCOMPLETE = 2
class BaseTurnParams(BaseModel):
"""Base class for turn analyzer parameters."""
pass
class BaseTurnAnalyzer(ABC): class BaseTurnAnalyzer(ABC):
"""Abstract base class for analyzing user end of turn. """Abstract base class for analyzing user end of turn.
@@ -78,7 +86,7 @@ class BaseTurnAnalyzer(ABC):
@property @property
@abstractmethod @abstractmethod
def params(self): def params(self) -> BaseTurnParams:
"""Get the current turn analyzer parameters. """Get the current turn analyzer parameters.
Returns: Returns:

View File

@@ -19,7 +19,7 @@ import numpy as np
from loguru import logger from loguru import logger
from pydantic import BaseModel from pydantic import BaseModel
from pipecat.audio.turn.base_turn_analyzer import BaseTurnAnalyzer, EndOfTurnState from pipecat.audio.turn.base_turn_analyzer import BaseTurnAnalyzer, BaseTurnParams, EndOfTurnState
from pipecat.metrics.metrics import MetricsData, SmartTurnMetricsData from pipecat.metrics.metrics import MetricsData, SmartTurnMetricsData
# Default timing parameters # Default timing parameters
@@ -29,7 +29,7 @@ MAX_DURATION_SECONDS = 8 # Max allowed segment duration
USE_ONLY_LAST_VAD_SEGMENT = True USE_ONLY_LAST_VAD_SEGMENT = True
class SmartTurnParams(BaseModel): class SmartTurnParams(BaseTurnParams):
"""Configuration parameters for smart turn analysis. """Configuration parameters for smart turn analysis.
Parameters: Parameters: