Bases: RuleMixin
, BaseTask
, ABC
Source code in griptape/tasks/base_text_input_task.py
| @define
class BaseTextInputTask(RuleMixin, BaseTask, ABC):
DEFAULT_INPUT_TEMPLATE = "{{ args[0] }}"
_input: str | TextArtifact | Callable[[BaseTask], TextArtifact] = field(
default=DEFAULT_INPUT_TEMPLATE,
alias="input",
)
@property
def input(self) -> TextArtifact:
if isinstance(self._input, TextArtifact):
return self._input
elif isinstance(self._input, Callable):
return self._input(self)
else:
return TextArtifact(J2().render_from_string(self._input, **self.full_context))
@input.setter
def input(self, value: str | TextArtifact | Callable[[BaseTask], TextArtifact]) -> None:
self._input = value
def before_run(self) -> None:
super().before_run()
logger.info("%s %s\nInput: %s", self.__class__.__name__, self.id, self.input.to_text())
def after_run(self) -> None:
super().after_run()
logger.info("%s %s\nOutput: %s", self.__class__.__name__, self.id, self.output.to_text())
|
DEFAULT_INPUT_TEMPLATE = '{{ args[0] }}'
class-attribute
instance-attribute
input: TextArtifact
property
writable
after_run()
Source code in griptape/tasks/base_text_input_task.py
| def after_run(self) -> None:
super().after_run()
logger.info("%s %s\nOutput: %s", self.__class__.__name__, self.id, self.output.to_text())
|
before_run()
Source code in griptape/tasks/base_text_input_task.py
| def before_run(self) -> None:
super().before_run()
logger.info("%s %s\nInput: %s", self.__class__.__name__, self.id, self.input.to_text())
|