I wanted a Flow Based Programming tool to be integrated within my workflow. So, built barfi, which provides a streamlit component. Still work in progress, would appreciate feedback and ideas. Have uses cases? Would be great to know them
This component could be very promising. A few thoughts and ideas:
Could it be used to represent an ML process? First I have a loader (specification option of the file path, then I pass the data to a preprocessor e.g. SentenceSplitter or similar, then to the model for training (selection model possible, etc.).
Another idea could be to use it to model the architecture neural networks? That is, first input layer (with modification options of the neurons, then other layers).
A small demo of how to use the component (maybe with one of my suggestions?) in practice would emphasize the usefulness of the component for me and increase the barrier to use the component.
Case 1: You would need a text input box in the 1st Block (I am building that as we I write this) and the other Blocks you can specify the logic. Do you some parts of the SentenceSplitter and the Model implemented somewhere?
Case 2: You would need an a number input or a dropdown to select the specifics of the layer in the Block. I’ll implement this as well. Do you have an example neural network use-case that I can implement this for?
Cas 2: Maybe a simple NN for MNIST with keras? (The Functional API (keras.io)) It would also require to allow other params such as activation by selecting it from a dropdown too.
Great work. My use case is a multi-modal AI workflow. Static LLM prompts that kick off multiple responses that can flow into their own workflows and connect with additional models like image gen platforms.