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()
self.structure.logger.info(f"{self.__class__.__name__} {self.id}\nInput: {self.input.to_text()}")
def after_run(self) -> None:
super().after_run()
self.structure.logger.info(f"{self.__class__.__name__} {self.id}\nOutput: {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()
self.structure.logger.info(f"{self.__class__.__name__} {self.id}\nOutput: {self.output.to_text()}")
|
before_run()
Source code in griptape/tasks/base_text_input_task.py
| def before_run(self) -> None:
super().before_run()
self.structure.logger.info(f"{self.__class__.__name__} {self.id}\nInput: {self.input.to_text()}")
|