Overview

Workflows allow you to sequentially chain agents together to process images. They provide a framework for executing and visualizing a sequence of image processing steps.

Arguments

steps
List[Agent]
required

An immutable list of agents to serially execute

Example

workflow = Workflow([
    BoundingBoxSelectAgent(classes=["face"]),
    SplitAgent(),
    ClassificationAgent(classes=["glasses", "no glasses"]),
    JoinAgent()
])

Methods

Workflow.execute(input_image)

Executes the workflow on the given input image and returns the final results and the execution graph.

Arguments:

  • input_image (PIL.Image.Image): The input image to be processed by the workflow.

Returns:

  • result, graph (Tuple[List[ExecutionNode], ExecutionGraph]): A tuple containing the final execution nodes and the execution graph.
Workflow.visualize(graph)

Visualizes the workflow using the Gradio library, displaying each agent’s inputs and outputs in a structured format.

Arguments:

  • graph (ExecutionGraph): The execution graph of the workflow.

Returns:

  • Spawns a Gradio instance that runs until it is closed.

More Examples

To get acquainted with constructing your own Overeasy Workflows, take a look at a few examples we’ve provided. These examples will provide practical insights into the setup, execution, and management of Workflows, helping you to understand how to integrate different Agents effectively.

Overview

Workflows allow you to sequentially chain agents together to process images. They provide a framework for executing and visualizing a sequence of image processing steps.

Arguments

steps
List[Agent]
required

An immutable list of agents to serially execute

Example

workflow = Workflow([
    BoundingBoxSelectAgent(classes=["face"]),
    SplitAgent(),
    ClassificationAgent(classes=["glasses", "no glasses"]),
    JoinAgent()
])

Methods

Workflow.execute(input_image)

Executes the workflow on the given input image and returns the final results and the execution graph.

Arguments:

  • input_image (PIL.Image.Image): The input image to be processed by the workflow.

Returns:

  • result, graph (Tuple[List[ExecutionNode], ExecutionGraph]): A tuple containing the final execution nodes and the execution graph.
Workflow.visualize(graph)

Visualizes the workflow using the Gradio library, displaying each agent’s inputs and outputs in a structured format.

Arguments:

  • graph (ExecutionGraph): The execution graph of the workflow.

Returns:

  • Spawns a Gradio instance that runs until it is closed.

More Examples

To get acquainted with constructing your own Overeasy Workflows, take a look at a few examples we’ve provided. These examples will provide practical insights into the setup, execution, and management of Workflows, helping you to understand how to integrate different Agents effectively.