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.