tool#
Bases: BaseTool “) , RuleMixin ”)
Attributes#
Name |
Type |
Description |
|---|---|---|
<a href="tool.mdx#griptape.tools.prompt_summary.tool.PromptSummaryTool.prompt_summary_engine" title="prompt_summary_engine = field(kw_only=True, default=Factory(lambda: PromptSummaryEngine())) class-attribute instance-attribute (griptape.tools.prompt_summary.tool.PromptSummaryTool.prompt_summary_engine)"><code class="language-python">prompt_summary_engine</code></a> |
<a href="../../engines#griptape.engines.PromptSummaryEngine" title="PromptSummaryEngine (griptape.engines.PromptSummaryEngine)"><code class="language-python">PromptSummaryEngine</code></a> |
PromptSummaryEngine.<br/> |
Source Code in griptape/tools/prompt_summary/tool.py
@define(kw_only=True)
class PromptSummaryTool(BaseTool, RuleMixin):
"""Tool for using a Prompt Summary Engine.
Attributes:
prompt_summary_engine: `PromptSummaryEngine`.
"""
prompt_summary_engine: PromptSummaryEngine = field(kw_only=True, default=Factory(lambda: PromptSummaryEngine()))
@activity(
config={
"description": "Can be used to summarize text content.",
"schema": Schema(
{
Literal("summary"): Or(
str,
Schema(
{
"memory_name": str,
"artifact_namespace": str,
}
),
),
}
),
},
)
def summarize(self, params: dict) -> BaseArtifact:
summary = params["values"]["summary"]
if isinstance(summary, str):
artifacts = ListArtifact([TextArtifact(summary)])
else:
memory = self.find_input_memory(summary["memory_name"])
artifact_namespace = summary["artifact_namespace"]
if memory is not None:
artifacts = memory.load_artifacts(artifact_namespace)
else:
return ErrorArtifact("memory not found")
return self.prompt_summary_engine.summarize_artifacts(artifacts, rulesets=self.rulesets)
prompt_summary_engine = field(kw_only=True, default=Factory(lambda: PromptSummaryEngine()))class-attribute instance-attribute
summarize(params)#
Source Code in griptape/tools/prompt_summary/tool.py
@activity(
config={
"description": "Can be used to summarize text content.",
"schema": Schema(
{
Literal("summary"): Or(
str,
Schema(
{
"memory_name": str,
"artifact_namespace": str,
}
),
),
}
),
},
)
def summarize(self, params: dict) -> BaseArtifact:
summary = params["values"]["summary"]
if isinstance(summary, str):
artifacts = ListArtifact([TextArtifact(summary)])
else:
memory = self.find_input_memory(summary["memory_name"])
artifact_namespace = summary["artifact_namespace"]
if memory is not None:
artifacts = memory.load_artifacts(artifact_namespace)
else:
return ErrorArtifact("memory not found")
return self.prompt_summary_engine.summarize_artifacts(artifacts, rulesets=self.rulesets)