Files
sci-gui-agent-benchmark/mm_agents/coact/autogen/agentchat/realtime/experimental/audio_observer.py
2025-07-31 10:35:20 +08:00

43 lines
1.3 KiB
Python

# Copyright (c) 2023 - 2025, AG2ai, Inc., AG2ai open-source projects maintainers and core contributors
#
# SPDX-License-Identifier: Apache-2.0
from typing import TYPE_CHECKING, Optional
from ....doc_utils import export_module
from .realtime_events import InputAudioBufferDelta, RealtimeEvent
from .realtime_observer import RealtimeObserver
if TYPE_CHECKING:
from logging import Logger
@export_module("autogen.agentchat.realtime.experimental")
class AudioObserver(RealtimeObserver):
"""Observer for user voice input"""
def __init__(self, *, logger: Optional["Logger"] = None) -> None:
"""Observer for user voice input"""
super().__init__(logger=logger)
async def on_event(self, event: RealtimeEvent) -> None:
"""Observe voice input events from the Realtime.
Args:
event (dict[str, Any]): The event from the OpenAI Realtime API.
"""
if isinstance(event, InputAudioBufferDelta):
self.logger.info("Received audio buffer delta")
async def initialize_session(self) -> None:
"""No need to initialize session from this observer"""
pass
async def run_loop(self) -> None:
"""Run the observer loop."""
pass
if TYPE_CHECKING:
function_observer: RealtimeObserver = AudioObserver()