Blog

Introducing Xircuits: Our open-source visual AI toolkit

Muhammad Fahreza Alghifari
12 Aug 2022

The Problem

When most people want to implement some kind of AI project today, they will typically have to clone some open source repository, figure out how to run it, write a bit of code to fit the dataset they have and hope that the hyper-parameters provided are enough for the the AI to work with their data. If the training process doesn’t work well enough, data scientists and programmers need to trace the source code line by line, modify the scripts some more and try again. 

We developed Xircuits to address this problem and make it easier for people to train models and perform analysis without needing to dive in to code every time.

In the end, you might get a program that can train successfully for this particular data, but most likely the same exercise will have to be done again when for a new data set. Unlike other software, machine learning programs tend to have low code reusability.

We developed Xircuits to address this problem and make it easier for people to train models and perform analysis without needing to dive in to code every time.

To address these issues we found that we would need a system that:

  1. Lets you decompose training pipelines into configurable components
  2. Makes it easy to edit component logic when necessary to not limit the user in any way
  3. Visualizes the training pipeline with a system that can support ‘if’s and while loops
  4. Generates normal Python code so that it’s easy to export the pipeline to any system.
  5. Integrates into existing tooling to minimize the need to write things from scratch

With the release of Xircuits, we have a system that implements all of these requirements, and we are just getting started.

The Solution

Xircuits is an open-source Jupyter Lab-based platform for all types of data science and model development. Xircuits extends Jupyter with a visual pipeline editor that can encapsulate training workflows that build, train, and fine-tuning machine learning models without any loss of visibility or control. Due to our tight integration with Jupyter, you still have access to all the notebook tools and widgets already used to.

Below is a preview of how simple a machine learning workflow can be. You can easily change the model architecture by changing a setting on the LoadKerasModel component.

Xircuits is targeted towards both advanced and novice users because of it’s low-code features. For users without programming experience, we have provided a handful of examples for you to try and easily modify. All you need to do is click the compile and run buttons to run the workflow.  For advanced users you are a right-click away from editing the source code of a component.  Updates happen immediately and Xircuits includes a debugger so you can step through and inspect the data entering and leaving your components.

Getting Started

Xircuits is easy to install with just a single pip command, try it out today:

pip install xircuits

We have assembled extensive documentation on how to create components and design component libraries.  To learn about this as well as the many other Xircuits features visit the documentation at xircuits.io.

If this project looks interesting to you we’d appreciate a star or PR on the Xircuits Github repository.