Artifacts are used for passing different types of data between Griptape components. All tools return artifacts that are later consumed by tasks and task memory. Artifacts make sure framework components enforce contracts when passing and consuming data.
Used for passing text data of arbitrary size around the framework. It can be used to count tokens with token_count() with a tokenizer. It can also be used to generate a text embedding with generate_embedding() and access it with embedding.
Used for passing short notifications back to the LLM without task memory storing them.
Used for passing errors back to the LLM without task memory storing them.
Used for passing binary large objects (blobs) back to the LLM. Treat it as a way to return unstructured data, such as images, videos, audio, and other files back from tools. Each blob has a name and dir to uniquely identify stored objects.
An ImageArtifact is used for passing images back to the LLM. In addition to binary image data, an ImageArtifact includes image metadata like MIME type, dimensions, and prompt and model information for images returned by image generation Drivers. It inherits from BlobArtifact.