nemo_voice_agent.evaluation.tools.waitlist_tools

View as Markdown

Module Contents

Classes

NameDescription
DropWaitListToolRemove a customer from the waitlist; sends updated waitlist via <final_response> tags.
GetWaitlistToolCheck the current waitlist status. Reads from shared state.
JoinWaitListToolAdd a customer to the restaurant waitlist. Sends updated waitlist to evaluator via <final_response> tags.

API

class nemo_voice_agent.evaluation.tools.waitlist_tools.DropWaitListTool(
rtvi: typing.Optional[pipecat.processors.frameworks.rtvi.RTVIProcessor] = None,
shared_state: typing.Optional[dict] = None,
description: typing.Optional[str] = None
)

Bases: SendScenarioSummaryTool

Remove a customer from the waitlist; sends updated waitlist via <final_response> tags.

properties
Dict[str, Any]
required_properties
List[str]
state
= shared_state if shared_state is not None else &#123;&#125;
nemo_voice_agent.evaluation.tools.waitlist_tools.DropWaitListTool._execute(
name: typing.Optional[str] = None
) -> typing.Dict[str, typing.Any]
async

Remove the named customer from the shared waitlist and return the outcome.

Also emits the updated waitlist to the evaluator via &lt;final_response&gt; tags before returning.

class nemo_voice_agent.evaluation.tools.waitlist_tools.GetWaitlistTool(
shared_state: typing.Optional[dict] = None,
description: typing.Optional[str] = None
)

Bases: StandardSchemaTool

Check the current waitlist status. Reads from shared state.

properties
Dict[str, Any]
required_properties
List[str]
state
= shared_state if shared_state is not None else &#123;&#125;
nemo_voice_agent.evaluation.tools.waitlist_tools.GetWaitlistTool._execute(
kwargs: typing.Any = {}
) -> typing.Dict[str, typing.Any]
async

Return the current waitlist from shared state. Takes no call arguments.

class nemo_voice_agent.evaluation.tools.waitlist_tools.JoinWaitListTool(
rtvi: typing.Optional[pipecat.processors.frameworks.rtvi.RTVIProcessor] = None,
shared_state: typing.Optional[dict] = None,
initial_waitlist: str = '[]',
description: typing.Optional[str] = None
)

Bases: SendScenarioSummaryTool

Add a customer to the restaurant waitlist. Sends updated waitlist to evaluator via <final_response> tags.

properties
Dict[str, Any]
required_properties
List[str]
state
= shared_state if shared_state is not None else &#123;&#125;
nemo_voice_agent.evaluation.tools.waitlist_tools.JoinWaitListTool._execute(
name: typing.Optional[str] = None,
phone: typing.Optional[str] = None,
party_size: typing.Optional[int] = None
) -> typing.Dict[str, typing.Any]
async

Append the customer to the shared waitlist and return their position.

Also emits the updated waitlist to the evaluator via &lt;final_response&gt; tags before returning.