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

View File

@@ -19,7 +19,7 @@ import numpy as np
from loguru import logger
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
# Default timing parameters
@@ -29,7 +29,7 @@ MAX_DURATION_SECONDS = 8 # Max allowed segment duration
USE_ONLY_LAST_VAD_SEGMENT = True
class SmartTurnParams(BaseModel):
class SmartTurnParams(BaseTurnParams):
"""Configuration parameters for smart turn analysis.
Parameters: