Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 23 additions & 3 deletions livekit-agents/livekit/agents/voice/agent_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,22 @@ def __call__(self, frame: rtc.VideoFrame, session: AgentSession) -> bool:
return False


DEFAULT_TTS_TEXT_TRANSFORMS: list[TextTransforms] = ["filter_markdown", "filter_emoji"]
DEFAULT_TTS_TEXT_TRANSFORMS: list[TextTransforms] = [
"filter_markdown",
"filter_emoji",
"remove_angle_bracket_content",
"replace_newlines_with_periods",
"format_dates",
"format_times",
"format_emails",
"format_phone_numbers",
"format_acronyms",
"format_dollar_amounts",
"format_distances",
"format_units",
"format_percentages",
"format_numbers", # Must be LAST to not interfere with other formatters
]


class AgentSession(rtc.EventEmitter[EventTypes], Generic[Userdata_T]):
Expand Down Expand Up @@ -250,8 +265,13 @@ def __init__(
if ``TTS.capabilities.aligned_transcript`` is ``True`` or ``streaming``
is ``False``. When NOT_GIVEN, it's disabled.
tts_text_transforms (Sequence[TextTransforms], optional): The transforms to apply
to the tts input text, available built-in transforms: ``"filter_markdown"``, ``"filter_emoji"``.
Set to ``None`` to disable. When NOT_GIVEN, all filters will be applied.
to the tts input text. Available built-in transforms include: ``"filter_markdown"``,
``"filter_emoji"``, ``"format_numbers"``, ``"format_dates"``, ``"format_times"``,
``"format_emails"``, ``"format_phone_numbers"``, ``"format_acronyms"``,
``"format_dollar_amounts"``, ``"format_distances"``, ``"format_units"``,
``"format_percentages"``, ``"remove_angle_bracket_content"``,
``"replace_newlines_with_periods"``.
Set to ``None`` to disable. When NOT_GIVEN, a default set of filters will be applied.
preemptive_generation (bool):
Whether to speculatively begin LLM and TTS requests before an end-of-turn is
detected. When True, the agent sends inference calls as soon as a user
Expand Down
Loading