-
Notifications
You must be signed in to change notification settings - Fork 267
Project structure
Roberts Slisans edited this page Jun 21, 2025
·
1 revision
The project has 3 layers:
- OS/app dependency layer provided by conda. This layer provides ffmpeg, postgres, nodejs and python. Additionally CUDA libraries can be installed here.
- pip outer layer - this handles PyTorch and xformers. pip inner layer handles core dependencies (in requirements.txt) and default extensions (pip installed packages). Custom extensions are manually installed via pip, providing shortcuts within the UI.
- Node.js/React layer - this is the layer which handles the React UI.
There are 2 UIs for usage and 2 UIs for utility:
- Gradio (Default port: 7770) - the primary UI with functionality as the main focus. Every new project starts as a Gradio UI before it can be added to React UI.
- React UI (Default port: 3000) - the polished UI for better UX and easier use. Only a selection of models is currently available in React UI.
- Installation log - this UI communicates the installation and startup steps in a clearer manner than the terminal.
- Extensions manager - allows performing installation and uninstallation of extensions without starting the whole WebUI.
Finally, there are external dependencies that matter - namely MSVC or GCC. These are system wide and thus the webui only prompts to install MSVC. Without MSVC, building dependencies (which is very common in pip ecosystem for any non-prebuilt wheels) fails.