image_artifact
Adapted from the Griptape AI Framework documentation.
Bases:
BlobArtifact
Attributes
Name | Type | Description |
---|---|---|
format | str | The format of the image data. Used when building the MIME type. |
width | int | The width of the image. |
height | int | The height of the image |
Source Code in griptape/artifacts/image_artifact.py
@define class ImageArtifact(BlobArtifact): """Stores image data. Attributes: format: The format of the image data. Used when building the MIME type. width: The width of the image. height: The height of the image """ format: str = field(kw_only=True, metadata={"serializable": True}) width: int = field(kw_only=True, metadata={"serializable": True}) height: int = field(kw_only=True, metadata={"serializable": True}) def __attrs_post_init__(self) -> None: # Generating the name string requires attributes set by child classes. # This waits until all attributes are available before generating a name. if self.name == self.id: self.name = self.make_name() @property def mime_type(self) -> str: return f"image/{self.format}" def to_bytes(self, **kwargs) -> bytes: return self.value def to_text(self) -> str: return f"Image, format: {self.format}, size: {len(self.value)} bytes" def make_name(self) -> str: entropy = "".join(random.choices(string.ascii_lowercase + string.digits, k=4)) fmt_time = time.strftime("%y%m%d%H%M%S", time.localtime()) return f"image_artifact_{fmt_time}_{entropy}.{self.format}"
format = field(kw_only=True, metadata={'serializable': True})
class-attribute instance-attributeheight = field(kw_only=True, metadata={'serializable': True})
class-attribute instance-attributemime_type
propertywidth = field(kw_only=True, metadata={'serializable': True})
class-attribute instance-attribute
attrs_post_init()
Source Code in griptape/artifacts/image_artifact.py
def __attrs_post_init__(self) -> None: # Generating the name string requires attributes set by child classes. # This waits until all attributes are available before generating a name. if self.name == self.id: self.name = self.make_name()
make_name()
Source Code in griptape/artifacts/image_artifact.py
def make_name(self) -> str: entropy = "".join(random.choices(string.ascii_lowercase + string.digits, k=4)) fmt_time = time.strftime("%y%m%d%H%M%S", time.localtime()) return f"image_artifact_{fmt_time}_{entropy}.{self.format}"
to_bytes(**kwargs)
Source Code in griptape/artifacts/image_artifact.py
def to_bytes(self, **kwargs) -> bytes: return self.value
to_text()
Source Code in griptape/artifacts/image_artifact.py
def to_text(self) -> str: return f"Image, format: {self.format}, size: {len(self.value)} bytes"
Could this page be better? Report a problem or suggest an addition!