This is work in progress and was published for visibility purpose. This project will be open-sources eventually but its main components and implementation details might change in future.
haystack-designer
is a single page web application which allows building Haystack pipelines visually using low-code approach.
Its main purpose is to compose components into a connected graph which can be converted to a representation (e.g. Haystack Pipeline) ready for running in a backend. As of now the plan to use a Backend API which can run the graph and report its execution steps back to UI. Potential backend could be same as implemented in ray-haystack repository.
Please notice the following key features of the app:
- Components should define its initial, input and output parameters using json schemas. Existing schemas could be found in node-specs package
- Components can be dragged into UI canvas and will render as pre-defined UI element
- UI canvas is an integrated excalidraw library which provides all drawing features of the Excalidraw. So in addition to component rendering one could enhance the graph with available drawing primitives (e.g. explanation notes, supporting diagrams)
- Once added to canvas component can be configured in a dedicated configuration panel. Based on json schema representation of the component UI forms are automatically generated with validation rules as per schema.
- Once configuration is saved it should be possible to open pipeline definition from the app menu
- Later it will be possible to run pipeline directly from the app
rag-wizard.mp4
Make sure you have NodeJS
(>=18) and pnpm installed on you local.
After cloning the repo, run the following:
# Install project's dependencies
pnpm install
# Start the app
pnpm dev