portia.clarification_handler
Clarification Handler.
This module defines the base ClarificationHandler interface that determines how to handle clarifications that arise during the run of a plan. It also provides a CLIClarificationHandler implementation that handles clarifications via the CLI.
ClarificationHandler Objects
class ClarificationHandler(ABC)
Handles clarifications that arise during the execution of a plan run.
handle
def handle(clarification: Clarification,
on_resolution: Callable[[Clarification, object], None],
on_error: Callable[[Clarification, object], None]) -> None
Handle a clarification by routing it to the appropriate handler.
Arguments:
clarification
- The clarification object to handleon_resolution
- Callback function that should be invoked once the clarification has been handled, prompting the plan run to resume. This can either be called synchronously in this function or called async after returning from this function.on_error
- Callback function that should be invoked if the clarification handling has failed. This can either be called synchronously in this function or called async after returning from this function.
handle_action_clarification
def handle_action_clarification(
clarification: ActionClarification,
on_resolution: Callable[[Clarification, object], None],
on_error: Callable[[Clarification, object], None]) -> None
Handle an action clarification.
handle_input_clarification
def handle_input_clarification(
clarification: InputClarification,
on_resolution: Callable[[Clarification, object], None],
on_error: Callable[[Clarification, object], None]) -> None
Handle a user input clarification.
handle_multiple_choice_clarification
def handle_multiple_choice_clarification(
clarification: MultipleChoiceClarification,
on_resolution: Callable[[Clarification, object], None],
on_error: Callable[[Clarification, object], None]) -> None
Handle a multi-choice clarification.
handle_value_confirmation_clarification
def handle_value_confirmation_clarification(
clarification: ValueConfirmationClarification,
on_resolution: Callable[[Clarification, object], None],
on_error: Callable[[Clarification, object], None]) -> None
Handle a value confirmation clarification.
handle_custom_clarification
def handle_custom_clarification(
clarification: CustomClarification,
on_resolution: Callable[[Clarification, object], None],
on_error: Callable[[Clarification, object], None]) -> None
Handle a custom clarification.