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.