You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
swarms/docs/swarms/structs/artifactupload.md

2.7 KiB

swarms.structs

Overview

Swarms is a library that provides tools for managing a distributed system of agents working together to achieve a common goal. The structs module within Swarms provides a set of data structures and classes that are used to represent artifacts, tasks, and other entities within the system. The ArtifactUpload class is one such data structure that represents the process of uploading an artifact to an agent's workspace.

ArtifactUpload

The ArtifactUpload class inherits from the BaseModel class. It has two attributes: file and relative_path. The file attribute represents the bytes of the file to be uploaded, while the relative_path attribute represents the relative path of the artifact in the agent's workspace.

Class Definition

class ArtifactUpload(BaseModel):
    file: bytes = Field(..., description="File to upload")
    relative_path: Optional[str] = Field(
        None,
        description=("Relative path of the artifact in the agent's workspace"),
        example="python/code/",
    )

The ArtifactUpload class requires the file attribute to be passed as an argument. It is of type bytes and represents the file to be uploaded. The relative_path attribute is optional and is of type str. It represents the relative path of the artifact in the agent's workspace. If not provided, it defaults to None.

Functionality and Usage

The ArtifactUpload class is used to create an instance of an artifact upload. It can be instantiated with or without a relative_path. Here is an example of how the class can be used:

from swarms.structs import ArtifactUpload

# Uploading a file with no relative path
upload_no_path = ArtifactUpload(file=b"example_file_contents")

# Uploading a file with a relative path
upload_with_path = ArtifactUpload(
    file=b"example_file_contents", relative_path="python/code/"
)

In the above example, upload_no_path is an instance of ArtifactUpload with no specified relative_path, whereas upload_with_path is an instance of ArtifactUpload with the relative_path set to "python/code/".

Additional Information

When passing the file and relative_path parameters to the ArtifactUpload class, ensure that the file parameter is provided exactly as the file that needs to be uploaded, represented as a bytes object. If a relative_path is provided, ensure that it is a valid path within the agent's workspace.

Conclusion

The ArtifactUpload class is an essential data structure within the Swarms library that represents the process of uploading an artifact to an agent's workspace. By using this class, users can easily manage and represent artifact uploads within the Swarms distributed system.