docs/on_agent_speech()

on_agent_speech()

Register a handler to receive a callback whenever the agent speaks. The event contains what the agent said and whether it was interrupted by the caller.

The AgentSpeechEvent is a pydantic model imported from guava.events:

from guava.events import AgentSpeechEvent

class AgentSpeechEvent(BaseEvent):
    event_type: Literal["agent-speech"] = "agent-speech"
    utterance: str
    interrupted: bool = False

Signature

signature
@agent.on_agent_speech
def on_agent_speech(call: guava.Call, event: AgentSpeechEvent) -> None:
    ...
ParameterTypeDefaultDescription
callCallThe active call object.
eventAgentSpeechEventContains `utterance` (string) and `interrupted` (boolean) fields.

Return value: None

Example

controller.py
import logging
from guava.events import AgentSpeechEvent

logger = logging.getLogger(__name__)


@agent.on_agent_speech
def on_agent_speech(call: guava.Call, event: AgentSpeechEvent):
    logger.info("agent speech event: %s", event)

# Output:
# [INFO  15:02:29] agent speech event: sequence=None event_type='agent-speech'
#   utterance='Hi, thank you for calling Thai Palace. My name is Grace.
#   I can help you with the waitlist. ' interrupted=False

Questions? hi@goguava.ai