diff --git a/Colab-TextGen-GPU.ipynb b/Colab-TextGen-GPU.ipynb index bd46992f..53f60986 100644 --- a/Colab-TextGen-GPU.ipynb +++ b/Colab-TextGen-GPU.ipynb @@ -72,7 +72,6 @@ " with open('temp_requirements.txt', 'w') as file:\n", " file.write('\\n'.join(textgen_requirements))\n", "\n", - " !pip install -r extensions/openai/requirements.txt --upgrade\n", " !pip install -r temp_requirements.txt --upgrade\n", "\n", " print(\"\\033[1;32;1m\\n --> If you see a warning about \\\"previously imported packages\\\", just ignore it.\\033[0;37;0m\")\n", diff --git a/README.md b/README.md index ca97302d..09216397 100644 --- a/README.md +++ b/README.md @@ -46,8 +46,9 @@ The script uses Miniconda to set up a Conda environment in the `installer_files` If you ever need to install something manually in the `installer_files` environment, you can launch an interactive shell using the cmd script: `cmd_linux.sh`, `cmd_windows.bat`, `cmd_macos.sh`, or `cmd_wsl.bat`. * There is no need to run any of those scripts (`start_`, `update_`, or `cmd_`) as admin/root. +* To install the requirements for extensions, you can use the `extensions_reqs` script for your OS. At the end, this script will install the main requirements for the project to make sure that they take precedence in case of version conflicts. * For additional instructions about AMD and WSL setup, consult [the documentation](https://github.com/oobabooga/text-generation-webui/wiki). -* For automated installation, you can use the `GPU_CHOICE`, `USE_CUDA118`, `LAUNCH_AFTER_INSTALL`, and `INSTALL_EXTENSIONS` environment variables. For instance: `GPU_CHOICE=A USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE INSTALL_EXTENSIONS=FALSE ./start_linux.sh`. +* For automated installation, you can use the `GPU_CHOICE`, `USE_CUDA118`, and `LAUNCH_AFTER_INSTALL` environment variables. For instance: `GPU_CHOICE=A USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE ./start_linux.sh`. ### Manual installation using Conda diff --git a/docker/amd/Dockerfile b/docker/amd/Dockerfile index 365e88e3..000303d4 100644 --- a/docker/amd/Dockerfile +++ b/docker/amd/Dockerfile @@ -13,7 +13,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,rw \ WORKDIR /home/app/ RUN git clone https://github.com/oobabooga/text-generation-webui.git WORKDIR /home/app/text-generation-webui -RUN GPU_CHOICE=B USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE INSTALL_EXTENSIONS=TRUE ./start_linux.sh --verbose +RUN GPU_CHOICE=B USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE ./start_linux.sh --verbose COPY CMD_FLAGS.txt /home/app/text-generation-webui/ EXPOSE ${CONTAINER_PORT:-7860} ${CONTAINER_API_PORT:-5000} ${CONTAINER_API_STREAM_PORT:-5005} WORKDIR /home/app/text-generation-webui diff --git a/docker/cpu/Dockerfile b/docker/cpu/Dockerfile index 04ccf94a..472fc652 100644 --- a/docker/cpu/Dockerfile +++ b/docker/cpu/Dockerfile @@ -17,7 +17,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,rw \ WORKDIR /home/app/ RUN git clone https://github.com/oobabooga/text-generation-webui.git WORKDIR /home/app/text-generation-webui -RUN GPU_CHOICE=N USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE INSTALL_EXTENSIONS=TRUE ./start_linux.sh --verbose +RUN GPU_CHOICE=N USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE ./start_linux.sh --verbose COPY CMD_FLAGS.txt /home/app/text-generation-webui/ EXPOSE ${CONTAINER_PORT:-7860} ${CONTAINER_API_PORT:-5000} ${CONTAINER_API_STREAM_PORT:-5005} # set umask to ensure group read / write at runtime diff --git a/docker/intel/Dockerfile b/docker/intel/Dockerfile index bc67a185..53fdf25b 100644 --- a/docker/intel/Dockerfile +++ b/docker/intel/Dockerfile @@ -13,7 +13,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,rw \ WORKDIR /home/app/ RUN git clone https://github.com/oobabooga/text-generation-webui.git WORKDIR /home/app/text-generation-webui -RUN GPU_CHOICE=D USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE INSTALL_EXTENSIONS=TRUE ./start_linux.sh --verbose +RUN GPU_CHOICE=D USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE ./start_linux.sh --verbose COPY CMD_FLAGS.txt /home/app/text-generation-webui/ EXPOSE ${CONTAINER_PORT:-7860} ${CONTAINER_API_PORT:-5000} ${CONTAINER_API_STREAM_PORT:-5005} # set umask to ensure group read / write at runtime diff --git a/docker/nvidia/Dockerfile b/docker/nvidia/Dockerfile index ca17c17b..1414bd38 100644 --- a/docker/nvidia/Dockerfile +++ b/docker/nvidia/Dockerfile @@ -13,7 +13,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,rw \ WORKDIR /home/app/ RUN git clone https://github.com/oobabooga/text-generation-webui.git WORKDIR /home/app/text-generation-webui -RUN GPU_CHOICE=A USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE INSTALL_EXTENSIONS=TRUE ./start_linux.sh --verbose +RUN GPU_CHOICE=A USE_CUDA118=FALSE LAUNCH_AFTER_INSTALL=FALSE ./start_linux.sh --verbose COPY CMD_FLAGS.txt /home/app/text-generation-webui/ EXPOSE ${CONTAINER_PORT:-7860} ${CONTAINER_API_PORT:-5000} ${CONTAINER_API_STREAM_PORT:-5005} WORKDIR /home/app/text-generation-webui diff --git a/docs/12 - OpenAI API.md b/docs/12 - OpenAI API.md index eb6bd468..fee57d33 100644 --- a/docs/12 - OpenAI API.md +++ b/docs/12 - OpenAI API.md @@ -7,12 +7,6 @@ The main API for this project is meant to be a drop-in replacement to the OpenAI * It doesn't connect to OpenAI. * It doesn't use the openai-python library. -If you did not use the one-click installers, you may need to install the requirements first: - -``` -pip install -r extensions/openai/requirements.txt -``` - ### Starting the API Add `--api` to your command-line flags. diff --git a/extensions/openai/requirements.txt b/extensions/openai/requirements.txt deleted file mode 100644 index e5d6d797..00000000 --- a/extensions/openai/requirements.txt +++ /dev/null @@ -1,4 +0,0 @@ -SpeechRecognition==3.10.0 -flask_cloudflared==0.0.14 -sse-starlette==1.6.5 -tiktoken diff --git a/extensions_reqs_linux.sh b/extensions_reqs_linux.sh new file mode 100755 index 00000000..ea0c3773 --- /dev/null +++ b/extensions_reqs_linux.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +cd "$(dirname "${BASH_SOURCE[0]}")" + +if [[ "$(pwd)" =~ " " ]]; then echo This script relies on Miniconda which can not be silently installed under a path with spaces. && exit; fi + +# deactivate existing conda envs as needed to avoid conflicts +{ conda deactivate && conda deactivate && conda deactivate; } 2> /dev/null + +# config +CONDA_ROOT_PREFIX="$(pwd)/installer_files/conda" +INSTALL_ENV_DIR="$(pwd)/installer_files/env" + +# environment isolation +export PYTHONNOUSERSITE=1 +unset PYTHONPATH +unset PYTHONHOME +export CUDA_PATH="$INSTALL_ENV_DIR" +export CUDA_HOME="$CUDA_PATH" + +# activate installer env +source "$CONDA_ROOT_PREFIX/etc/profile.d/conda.sh" # otherwise conda complains about 'shell not initialized' (needed when running in a script) +conda activate "$INSTALL_ENV_DIR" + +# update installer env +python one_click.py --install-extensions && echo -e "\nDone!" diff --git a/extensions_reqs_macos.sh b/extensions_reqs_macos.sh new file mode 100755 index 00000000..ea0c3773 --- /dev/null +++ b/extensions_reqs_macos.sh @@ -0,0 +1,26 @@ +#!/bin/bash + +cd "$(dirname "${BASH_SOURCE[0]}")" + +if [[ "$(pwd)" =~ " " ]]; then echo This script relies on Miniconda which can not be silently installed under a path with spaces. && exit; fi + +# deactivate existing conda envs as needed to avoid conflicts +{ conda deactivate && conda deactivate && conda deactivate; } 2> /dev/null + +# config +CONDA_ROOT_PREFIX="$(pwd)/installer_files/conda" +INSTALL_ENV_DIR="$(pwd)/installer_files/env" + +# environment isolation +export PYTHONNOUSERSITE=1 +unset PYTHONPATH +unset PYTHONHOME +export CUDA_PATH="$INSTALL_ENV_DIR" +export CUDA_HOME="$CUDA_PATH" + +# activate installer env +source "$CONDA_ROOT_PREFIX/etc/profile.d/conda.sh" # otherwise conda complains about 'shell not initialized' (needed when running in a script) +conda activate "$INSTALL_ENV_DIR" + +# update installer env +python one_click.py --install-extensions && echo -e "\nDone!" diff --git a/extensions_reqs_windows.bat b/extensions_reqs_windows.bat new file mode 100755 index 00000000..a3fb1f65 --- /dev/null +++ b/extensions_reqs_windows.bat @@ -0,0 +1,37 @@ +@echo off + +cd /D "%~dp0" + +set PATH=%PATH%;%SystemRoot%\system32 + +echo "%CD%"| findstr /C:" " >nul && echo This script relies on Miniconda which can not be silently installed under a path with spaces. && goto end + +@rem fix failed install when installing to a separate drive +set TMP=%cd%\installer_files +set TEMP=%cd%\installer_files + +@rem deactivate existing conda envs as needed to avoid conflicts +(call conda deactivate && call conda deactivate && call conda deactivate) 2>nul + +@rem config +set CONDA_ROOT_PREFIX=%cd%\installer_files\conda +set INSTALL_ENV_DIR=%cd%\installer_files\env + +@rem environment isolation +set PYTHONNOUSERSITE=1 +set PYTHONPATH= +set PYTHONHOME= +set "CUDA_PATH=%INSTALL_ENV_DIR%" +set "CUDA_HOME=%CUDA_PATH%" + +@rem activate installer env +call "%CONDA_ROOT_PREFIX%\condabin\conda.bat" activate "%INSTALL_ENV_DIR%" || ( echo. && echo Miniconda hook not found. && goto end ) + +@rem update installer env +call python one_click.py --install-extensions && ( + echo. + echo Done! +) + +:end +pause diff --git a/extensions_reqs_wsl.sh b/extensions_reqs_wsl.sh new file mode 100755 index 00000000..450c8abb --- /dev/null +++ b/extensions_reqs_wsl.sh @@ -0,0 +1,11 @@ +@echo off + +cd /D "%~dp0" + +set PATH=%PATH%;%SystemRoot%\system32 + +@rem sed -i 's/\x0D$//' ./wsl.sh converts newlines to unix format in the wsl script calling wsl.sh with 'update' will run updater +call wsl -e bash -lic "sed -i 's/\x0D$//' ./wsl.sh; source ./wsl.sh install-extensions" + +:end +pause diff --git a/one_click.py b/one_click.py index 92663df4..106e86d9 100644 --- a/one_click.py +++ b/one_click.py @@ -246,7 +246,7 @@ def install_webui(): if "USE_CUDA118" in os.environ: use_cuda118 = "Y" if os.environ.get("USE_CUDA118", "").lower() in ("yes", "y", "true", "1", "t", "on") else "N" else: - print("\nDo you want to use CUDA 11.8 instead of 12.1? Only choose this option if your GPU is very old (Kepler or older).\nFor RTX and GTX series GPUs, say \"N\". If unsure, say \"N\".\n") + print("\nDo you want to use CUDA 11.8 instead of 12.1? Only choose this option if your GPU is very old (Kepler or older).\n\nFor RTX and GTX series GPUs, say \"N\".\nIf unsure, say \"N\".\n") use_cuda118 = input("Input (Y/N)> ").upper().strip('"\'').strip() while use_cuda118 not in 'YN': print("Invalid choice. Please try again.") @@ -295,6 +295,15 @@ def install_webui(): update_requirements(initial_installation=True) +def install_extensions_requirements(): + print_big_message("Installing extensions requirements.\nSome of these may fail on Windows. Don\'t worry if you see error messages. They will not affect the main program.") + extensions = [foldername for foldername in os.listdir('extensions') if os.path.isfile(os.path.join('extensions', foldername, 'requirements.txt'))] + for i, extension in enumerate(extensions): + print(f"\n\n--- [{i+1}/{len(extensions)}]: {extension}\n\n") + extension_req_path = os.path.join("extensions", extension, "requirements.txt") + run_cmd(f"python -m pip install -r {extension_req_path} --upgrade", assert_success=False, environment=True) + + def update_requirements(initial_installation=False): # Create .git directory if missing if not os.path.exists(os.path.join(script_dir, ".git")): @@ -317,24 +326,6 @@ def update_requirements(initial_installation=False): print_big_message(f"File '{file_name}' was updated during 'git pull'. Please run the script again.") exit(1) - # Extensions requirements are installed only during the initial install by default. - # That can be changed with the INSTALL_EXTENSIONS environment variable. - install = initial_installation - if "INSTALL_EXTENSIONS" in os.environ: - install = os.environ["INSTALL_EXTENSIONS"].lower() in ("yes", "y", "true", "1", "t", "on") - - if install: - print_big_message("Installing extensions requirements.") - skip = ['superbooga', 'superboogav2', 'coqui_tts'] # Fail to install on Windows - extensions = [foldername for foldername in os.listdir('extensions') if os.path.isfile(os.path.join('extensions', foldername, 'requirements.txt'))] - extensions = [x for x in extensions if x not in skip] - for i, extension in enumerate(extensions): - print(f"\n\n--- [{i+1}/{len(extensions)}]: {extension}\n\n") - extension_req_path = os.path.join("extensions", extension, "requirements.txt") - run_cmd(f"python -m pip install -r {extension_req_path} --upgrade", assert_success=False, environment=True) - elif initial_installation: - print_big_message("Will not install extensions due to INSTALL_EXTENSIONS environment variable.") - # Update PyTorch if not initial_installation: update_pytorch() @@ -379,11 +370,6 @@ def update_requirements(initial_installation=False): run_cmd(f"python -m pip uninstall -y {package_name}", environment=True) print(f"Uninstalled {package_name}") - # Make sure that API requirements are installed (temporary) - extension_req_path = os.path.join("extensions", "openai", "requirements.txt") - if os.path.exists(extension_req_path): - run_cmd(f"python -m pip install -r {extension_req_path} --upgrade", environment=True) - # Install/update the project requirements run_cmd("python -m pip install -r temp_requirements.txt --upgrade", assert_success=True, environment=True) os.remove('temp_requirements.txt') @@ -409,18 +395,24 @@ if __name__ == "__main__": parser = argparse.ArgumentParser(add_help=False) parser.add_argument('--update', action='store_true', help='Update the web UI.') + parser.add_argument('--install-extensions', action='store_true', help='Install extensions requirements.') args, _ = parser.parse_known_args() if args.update: update_requirements() + elif args.install_extensions: + install_extensions_requirements() + update_requirements() else: - # If webui has already been installed, skip and run if not is_installed(): install_webui() os.chdir(script_dir) + script_name = "extensions_reqs_windows.bat" if is_windows() else ("extensions_reqs_linux.sh" if is_linux() else "extensions_reqs_macos.sh") + print_big_message(f"The installation is finished.\n\nIf you wish to install or update extensions requirements, you can\nrun the following script at any time: {script_name}.") + if os.environ.get("LAUNCH_AFTER_INSTALL", "").lower() in ("no", "n", "false", "0", "f", "off"): - print_big_message("Install finished successfully and will now exit due to LAUNCH_AFTER_INSTALL.") + print_big_message("Will now exit due to LAUNCH_AFTER_INSTALL.") sys.exit() # Check if a model has been downloaded yet @@ -432,7 +424,7 @@ if __name__ == "__main__": model_dir = 'models' if len([item for item in glob.glob(f'{model_dir}/*') if not item.endswith(('.txt', '.yaml'))]) == 0: - print_big_message("WARNING: You haven't downloaded any model yet.\nOnce the web UI launches, head over to the \"Model\" tab and download one.") + print_big_message("You haven't downloaded any model yet.\nOnce the web UI launches, head over to the \"Model\" tab and download one.") # Workaround for llama-cpp-python loading paths in CUDA env vars even if they do not exist conda_path_bin = os.path.join(conda_env_path, "bin") diff --git a/requirements.txt b/requirements.txt index 4a608081..037fabf4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # bitsandbytes bitsandbytes==0.42.*; platform_system != "Windows" https://github.com/oobabooga/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.42.0-py3-none-win_amd64.whl; platform_system == "Windows" diff --git a/requirements_amd.txt b/requirements_amd.txt index dfb132de..2bece4fd 100644 --- a/requirements_amd.txt +++ b/requirements_amd.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # llama-cpp-python (CPU only, AVX2) https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx2-cp311-cp311-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.11" https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx2-cp310-cp310-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.10" diff --git a/requirements_amd_noavx2.txt b/requirements_amd_noavx2.txt index d04c8158..c83b4ece 100644 --- a/requirements_amd_noavx2.txt +++ b/requirements_amd_noavx2.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # llama-cpp-python (CPU only, no AVX2) https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx-cp311-cp311-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.11" https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx-cp310-cp310-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.10" diff --git a/requirements_apple_intel.txt b/requirements_apple_intel.txt index 1cdf8f52..c1513b13 100644 --- a/requirements_apple_intel.txt +++ b/requirements_apple_intel.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # Mac wheels https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/metal/llama_cpp_python-0.2.55-cp311-cp311-macosx_11_0_x86_64.whl; platform_system == "Darwin" and platform_release >= "20.0.0" and platform_release < "21.0.0" and python_version == "3.11" https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/metal/llama_cpp_python-0.2.55-cp310-cp310-macosx_11_0_x86_64.whl; platform_system == "Darwin" and platform_release >= "20.0.0" and platform_release < "21.0.0" and python_version == "3.10" diff --git a/requirements_apple_silicon.txt b/requirements_apple_silicon.txt index 94334156..4515f7b6 100644 --- a/requirements_apple_silicon.txt +++ b/requirements_apple_silicon.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # Mac wheels https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/metal/llama_cpp_python-0.2.55-cp311-cp311-macosx_11_0_arm64.whl; platform_system == "Darwin" and platform_release >= "20.0.0" and platform_release < "21.0.0" and python_version == "3.11" https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/metal/llama_cpp_python-0.2.55-cp310-cp310-macosx_11_0_arm64.whl; platform_system == "Darwin" and platform_release >= "20.0.0" and platform_release < "21.0.0" and python_version == "3.10" diff --git a/requirements_cpu_only.txt b/requirements_cpu_only.txt index 32a0ff3e..6bbbba51 100644 --- a/requirements_cpu_only.txt +++ b/requirements_cpu_only.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # llama-cpp-python (CPU only, AVX2) https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx2-cp311-cp311-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.11" https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx2-cp310-cp310-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.10" diff --git a/requirements_cpu_only_noavx2.txt b/requirements_cpu_only_noavx2.txt index fadc3e81..91a5db7a 100644 --- a/requirements_cpu_only_noavx2.txt +++ b/requirements_cpu_only_noavx2.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # llama-cpp-python (CPU only, no AVX2) https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx-cp311-cp311-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.11" https://github.com/oobabooga/llama-cpp-python-cuBLAS-wheels/releases/download/cpu/llama_cpp_python-0.2.55+cpuavx-cp310-cp310-manylinux_2_31_x86_64.whl; platform_system == "Linux" and platform_machine == "x86_64" and python_version == "3.10" diff --git a/requirements_noavx2.txt b/requirements_noavx2.txt index 9077bde3..6a840f50 100644 --- a/requirements_noavx2.txt +++ b/requirements_noavx2.txt @@ -23,6 +23,12 @@ transformers==4.38.* tqdm wandb +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken + # bitsandbytes bitsandbytes==0.42.*; platform_system != "Windows" https://github.com/oobabooga/bitsandbytes-windows-webui/releases/download/wheels/bitsandbytes-0.42.0-py3-none-win_amd64.whl; platform_system == "Windows" diff --git a/requirements_nowheels.txt b/requirements_nowheels.txt index 4dc697a6..0319b6c3 100644 --- a/requirements_nowheels.txt +++ b/requirements_nowheels.txt @@ -22,3 +22,9 @@ tensorboard transformers==4.38.* tqdm wandb + +# API +SpeechRecognition==3.10.0 +flask_cloudflared==0.0.14 +sse-starlette==1.6.5 +tiktoken diff --git a/wsl.sh b/wsl.sh index 153ae85d..c94f3e8c 100755 --- a/wsl.sh +++ b/wsl.sh @@ -108,5 +108,6 @@ fi # setup installer env update env if called with 'wsl.sh update' case "$1" in ("update") python one_click.py --update;; +("install-extensions") python one_click.py --install-extensions;; (*) python one_click.py $@;; esac