HeartbeatFrames are now control frames
This commit is contained in:
@@ -34,6 +34,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
- `HeartbeatFrame`s are now control frames. This will make it easier to detect
|
||||||
|
pipeline freezes. Previously, heartbeat frames were system frames which meant
|
||||||
|
they were not get queued with other frames, making it difficult to detect
|
||||||
|
pipeline stalls.
|
||||||
|
|
||||||
- Updated `OpenAIRealtimeBetaLLMService` to accept `language` in the
|
- Updated `OpenAIRealtimeBetaLLMService` to accept `language` in the
|
||||||
`InputAudioTranscription` class for all models.
|
`InputAudioTranscription` class for all models.
|
||||||
|
|
||||||
|
|||||||
@@ -485,16 +485,6 @@ class FatalErrorFrame(ErrorFrame):
|
|||||||
fatal: bool = field(default=True, init=False)
|
fatal: bool = field(default=True, init=False)
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
|
||||||
class HeartbeatFrame(SystemFrame):
|
|
||||||
"""This frame is used by the pipeline task as a mechanism to know if the
|
|
||||||
pipeline is running properly.
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
timestamp: int
|
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class EndTaskFrame(SystemFrame):
|
class EndTaskFrame(SystemFrame):
|
||||||
"""This is used to notify the pipeline task that the pipeline should be
|
"""This is used to notify the pipeline task that the pipeline should be
|
||||||
@@ -877,6 +867,16 @@ class StopFrame(ControlFrame):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
@dataclass
|
||||||
|
class HeartbeatFrame(ControlFrame):
|
||||||
|
"""This frame is used by the pipeline task as a mechanism to know if the
|
||||||
|
pipeline is running properly.
|
||||||
|
|
||||||
|
"""
|
||||||
|
|
||||||
|
timestamp: int
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
class FrameProcessorPauseFrame(ControlFrame):
|
class FrameProcessorPauseFrame(ControlFrame):
|
||||||
"""This processor is used to pause frame processing for the given
|
"""This processor is used to pause frame processing for the given
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ from pipecat.utils.tracing.setup import is_tracing_available
|
|||||||
from pipecat.utils.tracing.turn_trace_observer import TurnTraceObserver
|
from pipecat.utils.tracing.turn_trace_observer import TurnTraceObserver
|
||||||
|
|
||||||
HEARTBEAT_SECONDS = 1.0
|
HEARTBEAT_SECONDS = 1.0
|
||||||
HEARTBEAT_MONITOR_SECONDS = HEARTBEAT_SECONDS * 5
|
HEARTBEAT_MONITOR_SECONDS = HEARTBEAT_SECONDS * 10
|
||||||
|
|
||||||
|
|
||||||
class PipelineParams(BaseModel):
|
class PipelineParams(BaseModel):
|
||||||
|
|||||||
Reference in New Issue
Block a user