3.4 KiB
Module/Class Name: StepInput
The StepInput
class is used to define the input parameters for the task step. It is a part of the BaseModel
and accepts any value. This documentation will provide an overview of the class, its functionality, and usage examples.
Overview and Introduction
The StepInput
class is an integral part of the swarms.structs
library, allowing users to define and pass input parameters for a specific task step. This class provides flexibility by accepting any value, allowing the user to customize the input parameters according to their requirements.
Class Definition
The StepInput
class is defined as follows:
class StepInput(BaseModel):
__root__: Any = Field(
...,
description=("Input parameters for the task step. Any value is" " allowed."),
example='{\n"file_to_refactor": "models.py"\n}',
)
The StepInput
class extends the BaseModel
and contains a single field __root__
of type Any
with a description of accepting input parameters for the task step.
Functionality and Usage
The StepInput
class is designed to accept any input value, providing flexibility and customization for task-specific parameters. Upon creating an instance of StepInput
, the user can define and pass input parameters as per their requirements.
Usage Example 1:
from swarms import StepInput
input_params = {"file_to_refactor": "models.py", "refactor_method": "code"}
step_input = StepInput(__root__=input_params)
In this example, we import the StepInput
class from the swarms.structs
library and create an instance step_input
by passing a dictionary of input parameters. The StepInput
class allows any value to be passed, providing flexibility for customization.
Usage Example 2:
from swarms import StepInput
input_params = {"input_path": "data.csv", "output_path": "result.csv"}
step_input = StepInput(__root__=input_params)
In this example, we again create an instance of StepInput
by passing a dictionary of input parameters. The StepInput
class does not restrict the type of input, allowing users to define parameters based on their specific task requirements.
Usage Example 3:
from swarms import StepInput
file_path = "config.json"
with open(file_path) as f:
input_data = json.load(f)
step_input = StepInput(__root__=input_data)
In this example, we read input parameters from a JSON file and create an instance of StepInput
by passing the loaded JSON data. The StepInput
class seamlessly accepts input data from various sources, providing versatility to the user.
Additional Information and Tips
When using the StepInput
class, ensure that the input parameters are well-defined and align with the requirements of the task step. When passing complex data structures, such as nested dictionaries or JSON objects, ensure that the structure is valid and well-formed.
References and Resources
- For further information on the
BaseModel
andField
classes, refer to the Pydantic documentation: Pydantic Documentation
The StepInput
class within the swarms.structs
library is a versatile and essential component for defining task-specific input parameters. Its flexibility in accepting any value and seamless integration with diverse data sources make it a valuable asset for customizing input parameters for task steps.