Graphbook is a framework for building efficient, interactive DAG-structured ML workflows composed of nodes which can be implemented in Python. It provides common ML processing features and a web UI to assemble, monitor, and execute data processing pipelines.
Extend the behavior of Graphbook Nodes and implement custom functions in Python in your favorite IDE.
Batching and multiprocessing IO are built-in, preserving development time for business logic.
Workflows are interactive: pause, play, and view ML model outputs in realtime.
Write processing nodes using Python in your favorite code editor
class DinoV2(BatchStep):
def __init__(self, id, logger):
super().__init__(id, logger)
processor = AutoImageProcessor.from_pretrained('facebook/dinov2-base')
model = AutoModel.from_pretrained('facebook/dinov2-base')
def on_item_batch(self, images, items, notes) -> dict:
inputs = self.processor(images=images, return_tensors='pt')
outputs = self.model(**inputs)
last_hidden_states = outputs.last_hidden_state
return {'embeddings': last_hidden_states}
class DinoV2(BatchStep):
def __init__(self, id, logger):
super().__init__(id, logger)
processor = AutoImageProcessor.\
from_pretrained('facebook/dinov2-base')
model = AutoModel.\
from_pretrained('facebook/dinov2-base')
def on_item_batch(self, images, items, notes) -> dict:
inputs = self.processor(
images=images,
return_tensors='pt')
outputs = self.model(**inputs)
last_hidden_states = outputs.last_hidden_state
return {
'embeddings': last_hidden_states
}
Assemble an ML workflow in our graph-based editor with your own processing nodes
Run, monitor, and adjust parameters in your workflow
Iterate, operate, and monitor an ML-based data processing pipeline all in one tool. Connect to any data source, use your own PyTorch or Tensorflow models, and maximize your GPU utilization without having to write tedious multiprocessing code.
Graphbook give users the ability to easily develop solutions to various tasks that require ML inference pipelines. It facilitates development by offering interactivity, visualizations, and multiprocessing IO. Built to address diverse needs, Graphbook significantly reduces AI/ML workflow development time.
Do not trust a third party with your data. Graphbook is always free and open source. Deploy your own Graphbook instances on-premise or in the cloud, and start building.
At its core, Graphbook is a framework for building interactive DAG-structured ML workflows. There are many features that enables its power.
No. But you can build no-code ML for your customers and internal teams with this framework.
Yes. Your nodes are written in Python and workflows are serialized as .json files. You can track everything with Git.
Not yet, but we plan on adding this feature soon. For now, you must assemble workflows in the UI.
In Graphbook, you can continue to use your workflow as-is or set new variables (directly in the workflow) such as where your production database is.
Yes, Graphbook is abstract enough where you can implement anything that can be written in Python including sending API requests to OpenAI.
The framework has a custom implementation of multiprocessing workers that run in the background for both loading and dumping to keep your GPU at max utilization.
You are very welcome to contribute! Visit our repo.