tool_action#
Bases: BaseAction “)
Attributes#
Name |
Type |
Description |
|---|---|---|
<a href="tool_action.mdx#griptape.common.actions.tool_action.ToolAction.tag" title="tag = field(metadata={'serializable': True}) class-attribute instance-attribute (griptape.common.actions.tool_action.ToolAction.tag)"><code class="language-python">tag</code></a> |
str |
The tag (unique identifier) of the action.<br/> |
<a href="tool_action.mdx#griptape.common.actions.tool_action.ToolAction.name" title="name = field(metadata={'serializable': True}) class-attribute instance-attribute (griptape.common.actions.tool_action.ToolAction.name)"><code class="language-python">name</code></a> |
str |
The name (Tool name) of the action.<br/> |
<a href="tool_action.mdx#griptape.common.actions.tool_action.ToolAction.path" title="path = field(default=None, metadata={'serializable': True}) class-attribute instance-attribute (griptape.common.actions.tool_action.ToolAction.path)"><code class="language-python">path</code></a> |
Optional[str] |
The path (Tool activity name) of the action.<br/> |
<a href="tool_action.mdx#griptape.common.actions.tool_action.ToolAction.input" title="input = field(factory=dict, metadata={'serializable': True}) class-attribute instance-attribute (griptape.common.actions.tool_action.ToolAction.input)"><code class="language-python">input</code></a> |
dict |
The input (Tool params) of the action.<br/> |
<a href="tool_action.mdx#griptape.common.actions.tool_action.ToolAction.tool" title="tool = field(default=None) class-attribute instance-attribute (griptape.common.actions.tool_action.ToolAction.tool)"><code class="language-python">tool</code></a> |
<a href="../../tools#griptape.tools.BaseTool" title="BaseTool (griptape.tools.BaseTool)"><code class="language-python">Optional[BaseTool]</code></a> |
The matched Tool of the action.<br/> |
<a href="tool_action.mdx#griptape.common.actions.tool_action.ToolAction.output" title="output = field(default=None) class-attribute instance-attribute (griptape.common.actions.tool_action.ToolAction.output)"><code class="language-python">output</code></a> |
<a href="../../artifacts#griptape.artifacts.BaseArtifact" title="BaseArtifact (griptape.artifacts.BaseArtifact)"><code class="language-python">Optional[BaseArtifact]</code></a> |
The output (Tool result) of the action.<br/> |
Source Code in griptape/common/actions/tool_action.py
@define(kw_only=True)
class ToolAction(BaseAction):
"""Represents an instance of an LLM using a Tool.
Attributes:
tag: The tag (unique identifier) of the action.
name: The name (Tool name) of the action.
path: The path (Tool activity name) of the action.
input: The input (Tool params) of the action.
tool: The matched Tool of the action.
output: The output (Tool result) of the action.
"""
tag: str = field(metadata={"serializable": True})
name: str = field(metadata={"serializable": True})
path: Optional[str] = field(default=None, metadata={"serializable": True})
input: dict = field(factory=dict, metadata={"serializable": True})
tool: Optional[BaseTool] = field(default=None)
output: Optional[BaseArtifact] = field(default=None)
def __str__(self) -> str:
return json.dumps(self.to_dict())
def to_native_tool_name(self) -> str:
parts = [self.name]
if self.path is not None:
parts.append(self.path)
return "_".join(parts)
@classmethod
def from_native_tool_name(cls, native_tool_name: str) -> tuple[str, Optional[str]]:
parts = native_tool_name.split("_", 1)
if len(parts) == 1:
name, path = parts[0], None
else:
name, path = parts
return name, path
input = field(factory=dict, metadata={'serializable': True})class-attribute instance-attributename = field(metadata={'serializable': True})class-attribute instance-attributeoutput = field(default=None)class-attribute instance-attributepath = field(default=None, metadata={'serializable': True})class-attribute instance-attributetag = field(metadata={'serializable': True})class-attribute instance-attributetool = field(default=None)class-attribute instance-attribute
str()#
Source Code in griptape/common/actions/tool_action.py
def __str__(self) -> str:
return json.dumps(self.to_dict())
from_native_tool_name(native_tool_name)classmethod#
Source Code in griptape/common/actions/tool_action.py
@classmethod
def from_native_tool_name(cls, native_tool_name: str) -> tuple[str, Optional[str]]:
parts = native_tool_name.split("_", 1)
if len(parts) == 1:
name, path = parts[0], None
else:
name, path = parts
return name, path
to_native_tool_name()#
Source Code in griptape/common/actions/tool_action.py
def to_native_tool_name(self) -> str:
parts = [self.name]
if self.path is not None:
parts.append(self.path)
return "_".join(parts)