Merge remote-tracking branch 'second-repo/main' into merge-second-repo

This commit is contained in:
oobabooga 2023-09-21 17:39:54 -07:00
commit df39f455ad
6 changed files with 163 additions and 0 deletions

4
.gitignore vendored
View file

@ -1,3 +1,4 @@
<<<<<<< HEAD
cache
characters
training/datasets
@ -33,3 +34,6 @@ models/config-user.yaml
.DS_Store
Thumbs.db
=======
installer_files/
>>>>>>> second-repo/main

74
INSTRUCTIONS-WSL.txt Normal file
View file

@ -0,0 +1,74 @@
Thank you for downloading oobabooga/text-generation-webui.
# WSL setup
If you do not have WSL installed, see here:
https://learn.microsoft.com/en-us/windows/wsl/install
If you want to install Linux to a drive other than C
Open powershell and enter these commands:
cd D:\Path\To\Linux
$ProgressPreference = 'SilentlyContinue'
Invoke-WebRequest -Uri <LinuxDistroURL> -OutFile Linux.appx -UseBasicParsing
mv Linux.appx Linux.zip
Then open Linux.zip and you should see several .appx files inside.
The one with _x64.appx contains the exe installer that you need.
Extract the contents of that _x64.appx file and run <distro>.exe to install.
Linux Distro URLs:
https://learn.microsoft.com/en-us/windows/wsl/install-manual#downloading-distributions
******************************************************************************
*ENSURE THAT THE WSL LINUX DISTRO THAT YOU WISH TO USE IS SET AS THE DEFAULT!*
******************************************************************************
Do this by using these commands:
wsl -l
wsl -s <DistroName>
# Web UI Installation
Run the "start" script. By default it will install the web UI in WSL:
/home/{username}/text-gen-install
To launch the web UI in the future after it is already installed, run
the same "start" script. Ensure that webui.py and wsl.sh are next to it!
# Updating the web UI
Run the "update" script. This will only install the updates, so it should
be much faster than the initial installation.
You can also run "wsl.sh update" in WSL.
# Adding flags like --chat, --notebook, etc
Edit the "webui.py" script using a text editor and add the desired flags
to the CMD_FLAGS variable at the top. It should look like this:
CMD_FLAGS = '--chat'
For instance, to add the --api flag, change it to
CMD_FLAGS = '--chat --api'
The "start" and "update" scripts will copy the edited "webui.py" to WSL
to be used by the web UI.
# Running an interactive shell
To run an interactive shell in the miniconda environment, run the "cmd"
script. This is useful for installing additional requirements manually.
You can also run "wsl.sh cmd" in WSL.
# Changing the default install location
To change this, you will need to edit the scripts as follows:
wsl.sh: line ~22 INSTALL_DIR="/path/to/install/dir"
Keep in mind that there is a long-standing bug in WSL that significantly
slows drive read/write speeds when using a physical drive as opposed to
the virtual one that Linux is installed in.

38
INSTRUCTIONS.txt Normal file
View file

@ -0,0 +1,38 @@
Thank you for downloading oobabooga/text-generation-webui!
# Installation
Run the "start" script. It will install the web UI and all of its
dependencies inside this folder.
To launch the web UI in the future after it is already installed, run the
"start" script again.
# Updating the web UI
Run the "update" script. It will install the updates only, so it should
be much faster than the initial installation.
# Adding flags like --model, --api, etc
Open the "CMD_FLAGS.txt" file with a text editor, add your flags, and
save the file. For instance, to add the --api flag, change the file
contents to
--api
# Running an interactive shell
Sometimes you may need to install some additional Python package. To do
that, run the "cmd" script and type your commands inside the terminal
window that will appear.
# Using an AMD GPU in Linux
Requires ROCm SDK 5.4.2 or 5.4.3 to be installed. Some systems may also
need: sudo apt-get install libstdc++-12-dev
Edit the "webui.py" script using a text editor and un-comment and
modify the lines near the top of the script according to your setup. In
particular, modify the os.environ["ROCM_PATH"] = '/opt/rocm' line to
point to your ROCm installation.

View file

@ -1,3 +1,4 @@
<<<<<<< HEAD
# Text generation web UI
A Gradio web UI for Large Language Models.
@ -390,3 +391,20 @@ If you would like to contribute to the project, check out the [Contributing guid
## Acknowledgment
In August 2023, [Andreessen Horowitz](https://a16z.com/) (a16z) provided a generous grant to encourage and support my independent work on this project. I am **extremely** grateful for their trust and recognition, which will allow me to dedicate more time towards realizing the full potential of text-generation-webui.
=======
# One-click installers
These are automated installers for [oobabooga/text-generation-webui](https://github.com/oobabooga/text-generation-webui).
The idea is to allow people to use the program without having to type commands in the terminal, thus making it more accessible.
## How it works
The `start` scripts download miniconda, create a conda environment inside the current folder, and then install the webui using that environment.
After the initial installation, the `update` scripts are then used to automatically pull the latest text-generation-webui code and upgrade its requirements.
## Limitations
* The start/update scripts themselves are not automatically updated. To update them, you have to re-download the zips listed on the [main README](https://github.com/oobabooga/text-generation-webui#one-click-installers) and overwrite your existing files.
>>>>>>> second-repo/main

6
generate_zips.sh Normal file
View file

@ -0,0 +1,6 @@
mkdir oobabooga_{windows,linux,macos,wsl}
for p in windows macos linux wsl; do
if [ "$p" == "wsl" ]; then cp {*$p*\.*,webui.py,INSTRUCTIONS-WSL.txt,CMD_FLAGS.txt} oobabooga_$p;
else cp {*$p*\.*,webui.py,INSTRUCTIONS.txt,CMD_FLAGS.txt} oobabooga_$p; fi
zip -r oobabooga_$p.zip oobabooga_$p;
done

View file

@ -112,12 +112,23 @@ def install_dependencies():
else:
run_cmd("conda install -y -k ninja git && python -m pip install torch torchvision torchaudio", assert_success=True, environment=True)
<<<<<<< HEAD
=======
# Clone webui to our computer
run_cmd("git clone https://github.com/oobabooga/text-generation-webui.git", assert_success=True, environment=True)
>>>>>>> second-repo/main
# Install the webui dependencies
update_dependencies(initial_installation=True)
def update_dependencies(initial_installation=False):
<<<<<<< HEAD
# run_cmd("git pull", assert_success=True, environment=True) # TODO uncomment before merging (is there a better way?)
=======
os.chdir("text-generation-webui")
run_cmd("git pull", assert_success=True, environment=True)
>>>>>>> second-repo/main
# Install the extensions dependencies (only on the first install)
if initial_installation:
@ -211,10 +222,18 @@ def update_dependencies(initial_installation=False):
def download_model():
<<<<<<< HEAD
=======
os.chdir("text-generation-webui")
>>>>>>> second-repo/main
run_cmd("python download-model.py", environment=True)
def launch_webui():
<<<<<<< HEAD
=======
os.chdir("text-generation-webui")
>>>>>>> second-repo/main
run_cmd(f"python server.py {CMD_FLAGS}", environment=True)
@ -230,8 +249,12 @@ if __name__ == "__main__":
update_dependencies()
else:
# If webui has already been installed, skip and run
<<<<<<< HEAD
# if not os.path.exists("text-generation-webui/"):
if True: # TODO implement a new installation check
=======
if not os.path.exists("text-generation-webui/"):
>>>>>>> second-repo/main
install_dependencies()
os.chdir(script_dir)