Compare commits

..

No commits in common. "main" and "1.0" have entirely different histories.
main ... 1.0

4 changed files with 246 additions and 1938 deletions

View File

@ -1,83 +1,36 @@
name: Package Release
on:
push:
paths:
- .github/workflows/**
workflow_dispatch:
branches:
- main
jobs:
package_on_ubuntu:
runs-on: ubuntu-selfhosted
package:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-latest]
steps:
- name: Set up Python
uses: actions/setup-python@v3
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v2
- name: Upgrade Pip
run: python -m pip install --upgrade pip
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install patchelf -y
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install nuitka
sudo apt install patchelf
pip install pyinstaller
- name: Build and package
run: python3 -m nuitka StartUI.py --onefile --enable-plugin=pyqt5 --product-version=1.6.0 --disable-console --include-data-files=webuiGUI.py=webuiGUI.py --output-dir=./dist --noinclude-pytest-mode=nofollow --noinclude-setuptools-mode=nofollow
- name: remove build folders
run: |
rm -rf dist/StartUI.build
rm -rf dist/StartUI.dist
rm -rf dist/StartUI.onefile-build
- name: Executive permission
run: |
chmod +x dist/StartUI
run: pyinstaller --noconfirm --onefile --windowed StartUI.py
- name: Upload artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v2
with:
name: ubuntu-binary-v1.6
path: dist
name: ${{ matrix.os }}-binary
path: dist # Assuming the packaged files are created in a 'dist' directory
package_on_windows:
runs-on: windows-selfhosted
steps:
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.x
- name: Checkout repository
uses: actions/checkout@v3
- name: Upgrade Pip
run: python -m pip install --upgrade pip
- name: Install dependencies
run: |
pip install -r requirements.txt
pip install nuitka
- name: Build and package
run: nuitka StartUI.py --onefile --enable-plugin=pyqt5 --product-version=1.6.0 --disable-console --include-data-files=webuiGUI.py=webuiGUI.py --output-dir=./dist --noinclude-pytest-mode=nofollow --noinclude-setuptools-mode=nofollow
- name: remove build folders
run: |
Remove-Item -Recurse -Force ./dist/StartUI.build
Remove-Item -Recurse -Force ./dist/StartUI.dist
Remove-Item -Recurse -Force ./dist/StartUI.onefile-build
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: windows-binary-v1.6
path: dist

View File

@ -1,35 +1,25 @@
# WebUI StartGUI
## Disclaimer
As someone who isn't a professional programmer, I enjoy experimenting and finding ways to simplify my workflow. This GUI was created to make it easier for me to adjust parameters and save them for future use, without constantly modifying the webui.py or managing multiple scripts. While I'm glad to share this script with others, please understand that my expertise in maintaining it might be limited. Nonetheless, I hope it proves helpful to you, and I appreciate your understanding.
## Description
WebUI StartGUI is a Python graphical user interface (GUI) written with PyQT5, that allows users to configure settings and start the oobabooga web user interface (WebUI). It provides a convenient way to adjust various parameters and launch the WebUI with the desired settings.
## Current Features
- Select a model from a dropdown menu or none (with reload button if added while the StartUI is open)
- Select a model from a dropdown menu
- Choose wbits and groupsize options
- Select the operating mode (chat, cai-chat, notebook)
- Choose between CPU, GPU or Autodevice
- Set CPU RAM/GPU VRAM (Only for Nvidia Right now, will automatically detect if multiple GPU's are Present)
- Adjust pre-layer value (for each Nvidia GPU found or 1 if none)
- Choose to run with 8bit, 16bit, trust_remote_code, Quant_attn, Autotune and no-cache flags
- Enable/disable GPU usage and set GPU VRAM (Only for Nvidia Right now, will detect if multiple GPU's are Present)
- Adjust pre-layer value
- Load the model with 8-bit precision
- Enable authentication and choose an authentication file
- Choose extensions for the WebUI
- Enable local network mode and specify the listen port
- Automatically open the browser when loading is finished
- Save settings to a profile
- Load profiles via Dropdown menu.
- Run the text-generation-webui Updater
- Character loader.
- deepspeed Settings
- flexgen Settings
- API Settings
- StartUI Update Notification
## How to Use
1. Clone the repository or download the source code.
2. Install the required dependencies listed in the `requirements.txt` file.
2. Install the required dependencies listed in the `requirements.txt` file. (PyQT5 & gpustat)
3. Run the `StartUI.py` script using Python `python3 StartUI.py`.
4. Configure the desired settings using the GUI elements.
5. Click the "Save Settings" button to save the current settings to a profile.
@ -38,31 +28,7 @@ WebUI StartGUI is a Python graphical user interface (GUI) written with PyQT5, th
## Binary Download
Binary releases of this script can be found in the [Releases](https://github.com/Pakobbix/StartUI-oobabooga-webui/releases) section of this repository.
Just put the two files into the root Folder of oobabooga (where the folder with the webui.py and the start script is).
On Linux, you'll need to give StartUI the executable flag (`chmod +x StartUI` or right click -> properties -> make executable).
The WebuiGUI.py must also be there, to handle the flags properly
## Screenshots
V1.4 :\
<details>
<summary>Screenshots</summary>
![1 4](https://github.com/Pakobbix/StartUI-oobabooga-webui/assets/6762686/7f252274-b20b-4e52-9789-fc45645faf03)
![1 4 deepspeed](https://github.com/Pakobbix/StartUI-oobabooga-webui/assets/6762686/b3c566c3-bfa2-4d38-a1af-cee82bf6f5fa)
![1 4 llama options](https://github.com/Pakobbix/StartUI-oobabooga-webui/assets/6762686/8b7bb61d-9ab5-4e54-b4e2-34ec1a36439a)
![1 4 flexgen](https://github.com/Pakobbix/StartUI-oobabooga-webui/assets/6762686/def814cb-4f69-4a39-91cd-6731155c12a3)
![1 4 multi settings](https://github.com/Pakobbix/StartUI-oobabooga-webui/assets/6762686/f3478ff1-bcba-4935-9e4c-efb1a2e64dcd)
</details>
Binary releases of this script can be found in the [Releases](https://github.com/your-username/your-repository/releases) section of this repository.
## Credits
StartGUI is developed and maintained by [Pakobbix](https://github.com/Pakobbix).

2057
StartUI.py

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,2 @@
PyQt5
gpustat
psutil
qdarkstyle
darkdetect
requests