Skip to content

Taskinput

Module/Class Name: TaskInput

The TaskInput class is designed to handle the input parameters for a task. It is an abstract class that serves as the base model for input data manipulation.

Overview and Introduction

The TaskInput class is an essential component of the swarms.structs library, allowing users to define and pass input parameters to tasks. It is crucial for ensuring the correct and structured input to various tasks and processes within the library.

Class Definition

TaskInput Class:

  • Parameters:
    • __root__ (Any): The input parameters for the task. Any value is allowed.

Disclaimer:

It is important to note that the TaskInput class extends the BaseModel from the pydantic library. This means that it inherits all the properties and methods of the BaseModel.

Functionality and Usage

The TaskInput class encapsulates the input parameters in a structured format. It allows for easy validation and manipulation of input data.

Usage Example 1: Using TaskInput for Debugging

from pydantic import BaseModel, Field

from swarms.structs import TaskInput


class DebugInput(TaskInput):
    debug: bool


# Creating an instance of DebugInput
debug_params = DebugInput(__root__={"debug": True})

# Accessing the input parameters
print(debug_params.debug)  # Output: True

Usage Example 2: Using TaskInput for Task Modes

from pydantic import BaseModel, Field

from swarms.structs import TaskInput


class ModeInput(TaskInput):
    mode: str


# Creating an instance of ModeInput
mode_params = ModeInput(__root__={"mode": "benchmarks"})

# Accessing the input parameters
print(mode_params.mode)  # Output: benchmarks

Usage Example 3: Using TaskInput with Arbitrary Parameters

from pydantic import BaseModel, Field

from swarms.structs import TaskInput


class ArbitraryInput(TaskInput):
    message: str
    quantity: int


# Creating an instance of ArbitraryInput
arbitrary_params = ArbitraryInput(__root__={"message": "Hello, world!", "quantity": 5})

# Accessing the input parameters
print(arbitrary_params.message)  # Output: Hello, world!
print(arbitrary_params.quantity)  # Output: 5

Additional Information and Tips

  • The TaskInput class can be extended to create custom input models with specific parameters tailored to individual tasks.
  • The Field class from pydantic can be used to specify metadata and constraints for the input parameters.

References and Resources

This documentation presents the TaskInput class, its usage, and practical examples for creating and handling input parameters within the swarms.structs library.