mirror of
https://github.com/Pakobbix/StartUI-oobabooga-webui
synced 2025-11-09 18:39:40 +00:00
Compare commits
6 Commits
a062bbc7fa
...
2df42114e9
| Author | SHA1 | Date | |
|---|---|---|---|
| 2df42114e9 | |||
| 99d1d92e14 | |||
| 8f4c651caa | |||
| 81cd746a46 | |||
| df82faee5a | |||
| e3780dafd5 |
11
.github/workflows/package.yml
vendored
11
.github/workflows/package.yml
vendored
@ -4,19 +4,18 @@ on:
|
||||
|
||||
jobs:
|
||||
package:
|
||||
runs-on: ${{ matrix.os }}
|
||||
runs-on: self-hosted
|
||||
strategy:
|
||||
matrix:
|
||||
os: [windows-latest, ubuntu-latest]
|
||||
steps:
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
uses: actions/setup-python@v3
|
||||
with:
|
||||
python-version: 3.x
|
||||
node-version: 16
|
||||
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
@ -30,7 +29,7 @@ jobs:
|
||||
cp webuiGUI.py dist/ # Copy webuiGUI.py to the dist directory
|
||||
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@v2
|
||||
uses: actions/upload-artifact@v3
|
||||
with:
|
||||
name: ${{ matrix.os }}-binary-v1.3
|
||||
name: ${{ matrix.os }}-binary-v1.3.1
|
||||
path: dist
|
||||
|
||||
18
README.md
18
README.md
@ -7,7 +7,7 @@ As someone who isn't a professional programmer, I enjoy experimenting and findin
|
||||
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 (with reload button if added while the StartUI is open)
|
||||
- Select a model from a dropdown menu or none (with reload button if added while the StartUI is open)
|
||||
- Choose wbits and groupsize options
|
||||
- Select the operating mode (chat, cai-chat, notebook)
|
||||
- Choose between CPU, GPU or Autodevice
|
||||
@ -21,10 +21,11 @@ WebUI StartGUI is a Python graphical user interface (GUI) written with PyQT5, th
|
||||
- Save settings to a profile
|
||||
- Load profiles via Dropdown menu.
|
||||
- Run the text-generation-webui Updater
|
||||
- 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. (PyQT5 & gpustat)
|
||||
2. Install the required dependencies listed in the `requirements.txt` file.
|
||||
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.
|
||||
@ -40,10 +41,15 @@ On Linux, you'll need to give StartUI the executable flag (`chmod +x StartUI` or
|
||||
The WebuiGUI.py must also be there, to handle the flags properly
|
||||
|
||||
## Screenshots
|
||||
V1.1 :\
|
||||

|
||||

|
||||

|
||||
V1.3 :\
|
||||
<details>
|
||||
|
||||
<summary>Screenshots</summary>
|
||||
|
||||

|
||||

|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
||||
|
||||
46
StartUI.py
46
StartUI.py
@ -1,8 +1,8 @@
|
||||
import sys, gpustat, os, json, subprocess, platform, psutil, urllib.request, re, requests, darkdetect, qdarktheme
|
||||
from PyQt5.QtWidgets import QApplication, QToolBar, QMessageBox, QAction, QProgressBar, QMainWindow, QLabel, QVBoxLayout, QComboBox, QSlider, QCheckBox, QLineEdit, QFileDialog, QPushButton, QWidget, QListWidget, QListWidgetItem, QToolTip, QGridLayout, QRadioButton, QFrame, QDialog
|
||||
import sys, gpustat, os, json, subprocess, platform, psutil, re, requests, darkdetect, qdarkstyle
|
||||
from PyQt5.QtWidgets import QApplication, QToolBar, QMessageBox, QAction, QMainWindow, QLabel, QVBoxLayout, QComboBox, QSlider, QCheckBox, QLineEdit, QFileDialog, QPushButton, QWidget, QListWidget, QListWidgetItem, QGridLayout, QRadioButton, QFrame
|
||||
from PyQt5.QtCore import Qt
|
||||
|
||||
version = "1.3"
|
||||
version = "1.3.1"
|
||||
|
||||
profiles_folder = "./profiles"
|
||||
os.makedirs(profiles_folder, exist_ok=True)
|
||||
@ -84,12 +84,6 @@ class MainWindow(QMainWindow):
|
||||
help_menu = menu.addMenu("Help")
|
||||
|
||||
# Help menu actions
|
||||
# About Action
|
||||
about_action = QAction("About", self)
|
||||
about_action.setToolTip("Opens the About Page")
|
||||
about_action.triggered.connect(self.show_about_window)
|
||||
help_menu.addAction(about_action)
|
||||
|
||||
# Github action
|
||||
github_action = QAction("Github", self)
|
||||
github_action.setStatusTip("Opens the Github Page")
|
||||
@ -108,6 +102,21 @@ class MainWindow(QMainWindow):
|
||||
help_menu.addAction(version_action)
|
||||
version_action.triggered.connect(self.show_version_window)
|
||||
|
||||
# About Action
|
||||
about_action = QAction("About", self)
|
||||
about_action.setToolTip("Opens the About Page")
|
||||
about_action.triggered.connect(self.show_about_window)
|
||||
help_menu.addAction(about_action)
|
||||
|
||||
# seperator
|
||||
help_menu.addSeparator()
|
||||
|
||||
# Report Bug
|
||||
report_bug_action = QAction("Report Bug", self)
|
||||
report_bug_action.setToolTip("Opens the Github Issue Page with creating a new issue")
|
||||
report_bug_action.triggered.connect(self.on_report_bug_clicked)
|
||||
help_menu.addAction(report_bug_action)
|
||||
|
||||
layout = QGridLayout()
|
||||
layout.setColumnMinimumWidth(3, 30)
|
||||
|
||||
@ -484,6 +493,16 @@ class MainWindow(QMainWindow):
|
||||
except OSError:
|
||||
self.show_error_message("Error", f"Could not open the link. Please open it manually.\n{release_url}")
|
||||
|
||||
def on_report_bug_clicked(self):
|
||||
github_new_issue = "https://github.com/Pakobbix/StartUI-oobabooga-webui/issues/new"
|
||||
if sys.platform == "win32":
|
||||
os.startfile(github_new_issue)
|
||||
else:
|
||||
try:
|
||||
subprocess.Popen(["xdg-open", github_new_issue])
|
||||
except OSError:
|
||||
self.show_error_message("Error", f"Could not open the link. Please open it manually.\n{github_new_issue}")
|
||||
|
||||
def on_Github_clicked(self):
|
||||
startui_url = "https://github.com/Pakobbix/StartUI-oobabooga-webui/"
|
||||
if sys.platform == "win32":
|
||||
@ -860,11 +879,11 @@ class MainWindow(QMainWindow):
|
||||
command += f" --extensions {' '.join(extensions)}"
|
||||
|
||||
# Just for debugging.
|
||||
#print(f"Command generated: python webuiGUI.py {command}")
|
||||
print(f"Command generated: python webuiGUI.py {command}")
|
||||
|
||||
# Based on the Model that's chosen, we will take care of some necessary stuff.
|
||||
# Starts the webui in the conda env with the user given Options
|
||||
run_cmd_with_conda(f"python webuiGUI.py {command}")
|
||||
#run_cmd_with_conda(f"python webuiGUI.py {command}")
|
||||
|
||||
if self.use_autoclose_checkbox.isChecked():
|
||||
sys.exit()
|
||||
@ -973,7 +992,8 @@ class MainWindow(QMainWindow):
|
||||
if __name__ == "__main__":
|
||||
app = QApplication(sys.argv)
|
||||
main_window = MainWindow()
|
||||
if darkdetect.isDark():
|
||||
app.setStyleSheet(qdarktheme.load_stylesheet())
|
||||
main_window.show()
|
||||
if darkdetect.isDark():
|
||||
dark_stylesheet = qdarkstyle.load_stylesheet_pyqt5()
|
||||
app.setStyleSheet(dark_stylesheet)
|
||||
sys.exit(app.exec_())
|
||||
@ -1,6 +1,6 @@
|
||||
PyQt5
|
||||
gpustat
|
||||
psutil
|
||||
pyqtdarktheme
|
||||
qdarkstyle
|
||||
darkdetect
|
||||
requests
|
||||
Loading…
x
Reference in New Issue
Block a user