This commit is contained in:
Saifeddine ALOUI 2024-04-21 23:36:08 +02:00
parent b8e0a00720
commit 453253c8bc
34 changed files with 325 additions and 2524 deletions

View File

@ -155,6 +155,45 @@ echo "Creating a bin dir (required for llamacpp binding)"
mkdir -p $INSTALL_ENV_DIR/bin
echo "Select the default binding to be installed:"
options=("None (install the binding later)" "Local binding - ollama" "Local binding - python_llama_cpp" "Local binding - bs_exllamav2" "Remote binding - open_router" "Remote binding - open_ai" "Remote binding - mistral_ai")
select opt in "${options[@]}"
do
case $opt in
"None (install the binding later)")
echo "You selected None. No binding will be installed now."
break
;;
"Local binding - ollama")
python zoos/bindings_zoo/ollama/__init__.py
break
;;
"Local binding - python_llama_cpp")
python zoos/bindings_zoo/python_llama_cpp/__init__.py
break
;;
"Local binding - bs_exllamav2")
python zoos/bindings_zoo/bs_exllamav2/__init__.py
break
;;
"Remote binding - open_router")
python zoos/bindings_zoo/open_router/__init__.py
break
;;
"Remote binding - open_ai")
python zoos/bindings_zoo/open_ai/__init__.py
break
;;
"Remote binding - mistral_ai")
python zoos/bindings_zoo/mistral_ai/__init__.py
break
;;
*) echo "Invalid option $REPLY";;
esac
done
PrintBigMessage() {
echo
echo "*******************************************************************"

View File

@ -1,168 +0,0 @@
#!/bin/bash
# This script will install miniconda and git with all dependencies for this project
# This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo "V9.5"
echo "-----------------"
echo "By ParisNeo"
echo "-----------------"
cd "$(dirname "$0")"
if [[ "$PWD" == *" "* ]]; then
echo "This script relies on Miniconda which cannot be silently installed under a path with spaces."
exit 1
fi
echo "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
if [[ "$PWD" =~ [^#\$\%\&\(\)\*\+\] ]]; then
echo "WARNING: Special characters were detected in the installation path!"
echo " This can cause the installation to fail!"
fi
export PACKAGES_TO_INSTALL=python=3.11 git pip
read -rp "Press Enter to continue..."
clear
# Better isolation for virtual environment
unset CONDA_SHLVL
export PYTHONNOUSERSITE=1
unset PYTHONPATH
unset PYTHONHOME
export TEMP="$PWD/installer_files/temp"
export TMP="$PWD/installer_files/temp"
MINICONDA_DIR="$PWD/installer_files/miniconda3"
INSTALL_ENV_DIR="$PWD/installer_files/lollms_env"
MINICONDA_DOWNLOAD_URL="https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh"
REPO_URL="https://github.com/ParisNeo/lollms-webui.git"
if [ ! -f "$MINICONDA_DIR/Scripts/conda" ]; then
# Download miniconda
echo "Downloading Miniconda installer from $MINICONDA_DOWNLOAD_URL"
curl -LO "$MINICONDA_DOWNLOAD_URL"
# Install miniconda
echo
echo "Installing Miniconda to $MINICONDA_DIR"
echo "Please wait..."
echo
bash "Miniconda3-latest-Linux-x86_64.sh" -b -p "$MINICONDA_DIR" || ( echo && echo "Miniconda installer not found." && exit 1 )
rm -f "Miniconda3-latest-Linux-x86_64.sh"
if [ ! -f "$MINICONDA_DIR/bin/activate" ]; then
echo && echo "Miniconda install failed." && exit 1
fi
fi
# Activate miniconda
source "$MINICONDA_DIR/bin/activate" || ( echo "Miniconda hook not found." && exit 1 )
# Create the installer environment
if [ ! -d "$INSTALL_ENV_DIR" ]; then
echo "Packages to install: $PACKAGES_TO_INSTALL"
conda create -y -k -p "$INSTALL_ENV_DIR" $CHANNEL $PACKAGES_TO_INSTALL || ( echo && echo "Conda environment creation failed." && exit 1 )
fi
# Check if conda environment was actually created
if [ ! -x "$INSTALL_ENV_DIR/bin/python" ]; then
echo && echo "Conda environment is empty." && exit 1
fi
# Activate installer environment
source activate "$INSTALL_ENV_DIR" || ( echo && echo "Conda environment activation failed." && exit 1 )
# install conda
conda install conda -y
# Set default cuda toolkit to the one in the environment
export CUDA_PATH="$INSTALL_ENV_DIR"
# Clone the repository
if [ -d "lollms-webui" ]; then
cd lollms-webui || exit 1
git pull
git submodule update --init --recursive
cd lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
else
git clone --depth 1 --recurse-submodules "$REPO_URL"
git submodule update --init --recursive
cd lollms-webui/lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
fi
# Loop through each "git+" requirement and uninstall it (workaround for inconsistent git package updating)
while IFS= read -r requirement; do
if echo "$requirement" | grep -q "git+"; then
package_name=$(echo "$requirement" | awk -F'/' '{ print $4 }' | awk -F'@' '{ print $1 }')
python -m pip uninstall -y "$package_name"
fi
done < requirements.txt
# Install the pip requirements
python -m pip install -r requirements.txt --upgrade
if [[ -e "../linux_run.sh" ]]; then
echo "Linux run found"
else
cp scripts/linux/linux_run.sh ../
fi
if [[ -e "../linux_conda_session.sh" ]]; then
echo "Linux update found"
else
cp scripts/linux/linux_conda_session.sh ../
fi
# cd scripts/python/lollms_installer
# python main.py
# cd ..
echo "Creating a bin dir (required for llamacpp binding)"
mkdir -p $INSTALL_ENV_DIR/bin
python zoos/bindings_zoo/bs_exllamav2/__init__.py
PrintBigMessage() {
echo
echo "*******************************************************************"
for message in "$@"; do
echo "* $message"
done
echo "*******************************************************************"
echo
}
PrintBigMessage "$@"
exit 0

View File

@ -1,168 +0,0 @@
#!/bin/bash
# This script will install miniconda and git with all dependencies for this project
# This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo "V9.5"
echo "-----------------"
echo "By ParisNeo"
echo "-----------------"
cd "$(dirname "$0")"
if [[ "$PWD" == *" "* ]]; then
echo "This script relies on Miniconda which cannot be silently installed under a path with spaces."
exit 1
fi
echo "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
if [[ "$PWD" =~ [^#\$\%\&\(\)\*\+\] ]]; then
echo "WARNING: Special characters were detected in the installation path!"
echo " This can cause the installation to fail!"
fi
export PACKAGES_TO_INSTALL=python=3.11 git pip
read -rp "Press Enter to continue..."
clear
# Better isolation for virtual environment
unset CONDA_SHLVL
export PYTHONNOUSERSITE=1
unset PYTHONPATH
unset PYTHONHOME
export TEMP="$PWD/installer_files/temp"
export TMP="$PWD/installer_files/temp"
MINICONDA_DIR="$PWD/installer_files/miniconda3"
INSTALL_ENV_DIR="$PWD/installer_files/lollms_env"
MINICONDA_DOWNLOAD_URL="https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh"
REPO_URL="https://github.com/ParisNeo/lollms-webui.git"
if [ ! -f "$MINICONDA_DIR/Scripts/conda" ]; then
# Download miniconda
echo "Downloading Miniconda installer from $MINICONDA_DOWNLOAD_URL"
curl -LO "$MINICONDA_DOWNLOAD_URL"
# Install miniconda
echo
echo "Installing Miniconda to $MINICONDA_DIR"
echo "Please wait..."
echo
bash "Miniconda3-latest-Linux-x86_64.sh" -b -p "$MINICONDA_DIR" || ( echo && echo "Miniconda installer not found." && exit 1 )
rm -f "Miniconda3-latest-Linux-x86_64.sh"
if [ ! -f "$MINICONDA_DIR/bin/activate" ]; then
echo && echo "Miniconda install failed." && exit 1
fi
fi
# Activate miniconda
source "$MINICONDA_DIR/bin/activate" || ( echo "Miniconda hook not found." && exit 1 )
# Create the installer environment
if [ ! -d "$INSTALL_ENV_DIR" ]; then
echo "Packages to install: $PACKAGES_TO_INSTALL"
conda create -y -k -p "$INSTALL_ENV_DIR" $CHANNEL $PACKAGES_TO_INSTALL || ( echo && echo "Conda environment creation failed." && exit 1 )
fi
# Check if conda environment was actually created
if [ ! -x "$INSTALL_ENV_DIR/bin/python" ]; then
echo && echo "Conda environment is empty." && exit 1
fi
# Activate installer environment
source activate "$INSTALL_ENV_DIR" || ( echo && echo "Conda environment activation failed." && exit 1 )
# install conda
conda install conda -y
# Set default cuda toolkit to the one in the environment
export CUDA_PATH="$INSTALL_ENV_DIR"
# Clone the repository
if [ -d "lollms-webui" ]; then
cd lollms-webui || exit 1
git pull
git submodule update --init --recursive
cd lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
else
git clone --depth 1 --recurse-submodules "$REPO_URL"
git submodule update --init --recursive
cd lollms-webui/lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
fi
# Loop through each "git+" requirement and uninstall it (workaround for inconsistent git package updating)
while IFS= read -r requirement; do
if echo "$requirement" | grep -q "git+"; then
package_name=$(echo "$requirement" | awk -F'/' '{ print $4 }' | awk -F'@' '{ print $1 }')
python -m pip uninstall -y "$package_name"
fi
done < requirements.txt
# Install the pip requirements
python -m pip install -r requirements.txt --upgrade
if [[ -e "../linux_run.sh" ]]; then
echo "Linux run found"
else
cp scripts/linux/linux_run.sh ../
fi
if [[ -e "../linux_conda_session.sh" ]]; then
echo "Linux update found"
else
cp scripts/linux/linux_conda_session.sh ../
fi
# cd scripts/python/lollms_installer
# python main.py
# cd ..
echo "Creating a bin dir (required for llamacpp binding)"
mkdir -p $INSTALL_ENV_DIR/bin
python zoos/bindings_zoo/ollama/__init__.py
PrintBigMessage() {
echo
echo "*******************************************************************"
for message in "$@"; do
echo "* $message"
done
echo "*******************************************************************"
echo
}
PrintBigMessage "$@"
exit 0

View File

@ -1,118 +0,0 @@
#!/bin/bash
# This script will install miniconda and git with all dependencies for this project
# This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo "V9.5"
echo "-----------------"
echo "By ParisNeo"
echo "-----------------"
cd "$(dirname "$0")"
echo "This script is for users who already have conda installed on their system. If you have conda installed on your system then press enter to continue. If you don't have conda, please exit this script, install conda then restart it. You can also use the other linux install script that will install miniconda for you."
export PACKAGES_TO_INSTALL="python=3.11 git pip"
read -rp "Press Enter to continue..."
clear
# Better isolation for virtual environment
unset CONDA_SHLVL
export PYTHONNOUSERSITE=1
unset PYTHONPATH
unset PYTHONHOME
REPO_URL="https://github.com/ParisNeo/lollms-webui.git"
conda create --name lollms $PACKAGES_TO_INSTALL -y
# Activate installer environment
conda activate lollms || ( echo && echo "Conda environment activation failed." && exit 1 )
# Clone the repository
if [ -d "lollms-webui" ]; then
cd lollms-webui || exit 1
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
else
git clone --depth 1 --recurse-submodules "$REPO_URL"
git submodule update --init --recursive
cd lollms-webui/lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
fi
# Loop through each "git+" requirement and uninstall it (workaround for inconsistent git package updating)
while IFS= read -r requirement; do
if echo "$requirement" | grep -q "git+"; then
package_name=$(echo "$requirement" | awk -F'/' '{ print $4 }' | awk -F'@' '{ print $1 }')
python -m pip uninstall -y "$package_name"
fi
done < requirements.txt
# Install the pip requirements
python -m pip install -r requirements.txt --upgrade
if [[ -e "../linux_run.sh" ]]; then
echo "Linux run found"
else
pwd
cp scripts/linux/linux_run.sh ../
fi
if [[ -e "../linux_conda_session.sh" ]]; then
echo "Linux update found"
else
pwd
cp scripts/linux/linux_conda_session.sh ../
fi
# cd scripts/python/lollms_installer
# python main.py
# cd ..
echo "Creating a bin dir (required for llamacpp binding)"
mkdir ../installer_files/lollms_env/bin
PrintBigMessage() {
echo
echo "*******************************************************************"
for message in "$@"; do
echo "* $message"
done
echo "*******************************************************************"
echo
}
PrintBigMessage "$@"
exit 0

View File

@ -170,6 +170,43 @@ else
cp scripts/macos/macos_conda_session.sh ../
fi
echo "Select the default binding to be installed:"
options=("None (install the binding later)" "Local binding - ollama" "Local binding - python_llama_cpp" "Local binding - bs_exllamav2" "Remote binding - open_router" "Remote binding - open_ai" "Remote binding - mistral_ai")
select opt in "${options[@]}"
do
case $opt in
"None (install the binding later)")
echo "You selected None. No binding will be installed now."
break
;;
"Local binding - ollama")
python3 zoos/bindings_zoo/ollama/__init__.py
break
;;
"Local binding - python_llama_cpp")
python3 zoos/bindings_zoo/python_llama_cpp/__init__.py
break
;;
"Local binding - bs_exllamav2")
python3 zoos/bindings_zoo/bs_exllamav2/__init__.py
break
;;
"Remote binding - open_router")
python3 zoos/bindings_zoo/open_router/__init__.py
break
;;
"Remote binding - open_ai")
python3 zoos/bindings_zoo/open_ai/__init__.py
break
;;
"Remote binding - mistral_ai")
python3 zoos/bindings_zoo/mistral_ai/__init__.py
break
;;
*) echo "Invalid option $REPLY";;
esac
done
# cd scripts/python/lollms_installer
# python main.py

View File

@ -1,192 +0,0 @@
#!/bin/bash
# This script will install Miniconda and git with all dependencies for this project.
# This enables a user to install this project without manually installing Conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo "V9.5"
echo "-----------------"
echo "By ParisNeo"
echo "-----------------"
cd "$(dirname "$0")"
if [[ "$PWD" == *" "* ]]; then
echo "This script relies on Miniconda, which cannot be silently installed under a path with spaces."
exit 1
fi
echo "WARNING: This script relies on Miniconda, which will fail to install if the path is too long."
if [[ "$PWD" =~ [^#\$\%\&\(\)\*\+\] ]]; then
echo "WARNING: Special characters were detected in the installation path!"
echo " This can cause the installation to fail!"
fi
read -rp "Press Enter to continue..."
clear
export PACKAGES_TO_INSTALL=python=3.11 git pip
echo "Installing gcc..."
brew install gcc
# Better isolation for virtual environment
unset CONDA_SHLVL
export PYTHONNOUSERSITE=1
unset PYTHONPATH
unset PYTHONHOME
export TEMP="$PWD/installer_files/temp"
export TMP="$PWD/installer_files/temp"
MINICONDA_DIR="$PWD/installer_files/miniconda3"
INSTALL_ENV_DIR="$PWD/installer_files/lollms_env"
ENV_NAME="lollms"
arch=$(uname -m)
if [ "$arch" == "arm64" ]; then
MINICONDA_DOWNLOAD_URL="https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh"
else
MINICONDA_DOWNLOAD_URL="https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh"
fi
REPO_URL="https://github.com/ParisNeo/lollms-webui.git"
if [ ! -f "$MINICONDA_DIR/Scripts/conda" ]; then
# Download Miniconda
echo "Downloading Miniconda installer from $MINICONDA_DOWNLOAD_URL"
curl -LO "$MINICONDA_DOWNLOAD_URL"
# Install Miniconda
echo
echo "Installing Miniconda to $MINICONDA_DIR"
echo "Please wait..."
echo
if [ "$arch" == "arm64" ]; then
bash "Miniforge3-MacOSX-arm64.sh" -b -p "$MINICONDA_DIR" || ( echo && echo "Miniconda installer not found." && exit 1 )
rm -f "Miniforge3-MacOSX-arm64.sh"
if [ ! -f "$MINICONDA_DIR/bin/activate" ]; then
echo && echo "Miniconda install failed." && exit 1
fi
else
bash "Miniconda3-latest-MacOSX-x86_64.sh" -b -p "$MINICONDA_DIR" || ( echo && echo "Miniconda installer not found." && exit 1 )
rm -f "Miniconda3-latest-MacOSX-x86_64.sh"
if [ ! -f "$MINICONDA_DIR/bin/activate" ]; then
echo && echo "Miniconda install failed." && exit 1
fi
fi
fi
# Activate Miniconda
source "$MINICONDA_DIR/bin/activate" || ( echo "Miniconda hook not found." && exit 1 )
# Create the installer environment
if [ ! -d "$INSTALL_ENV_DIR" ]; then
echo "Packages to install: $PACKAGES_TO_INSTALL"
conda create -y -k -n "$ENV_NAME" $CHANNEL $PACKAGES_TO_INSTALL || ( echo && echo "Conda environment creation failed." && exit 1 )
echo "Conda created and using packages: $PACKAGES_TO_INSTALL"
fi
# Activate installer environment
source activate "$ENV_NAME" || ( echo && echo "Conda environment activation failed." && exit 1 )
# install conda
conda install conda -y
echo "$ENV_NAME Activated"
# Set default CUDA toolkit to the one in the environment
export CUDA_PATH="$INSTALL_ENV_DIR"
# Clone the repository
if [ -d "lollms-webui" ]; then
cd lollms-webui || exit 1
git pull
git submodule update --init --recursive
cd lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
else
git clone --depth 1 --recurse-submodules "$REPO_URL"
git submodule update --init --recursive
cd lollms-webui/lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
cd lollms-webui || exit 1
fi
# Loop through each "git+" requirement and uninstall it (workaround for inconsistent git package updating)
while IFS= read -r requirement; do
if echo "$requirement" | grep -q "git+"; then
package_name=$(echo "$requirement" | awk -F'/' '{ print $4 }' | awk -F'@' '{ print $1 }')
python -m pip uninstall -y "$package_name"
fi
done < requirements.txt
# Install the pip requirements
python -m pip install -r requirements.txt --upgrade
if [[ -e "../macos_run.sh" ]]; then
echo "Macos run found"
else
cp scripts/macos/macos_run.sh ../
fi
if [[ -e "../macos_update.sh" ]]; then
echo "Macos update found"
else
cp scripts/macos/macos_update.sh ../
fi
if [[ -e "../macos_conda_session.sh" ]]; then
echo "Macos conda session found"
else
cp scripts/macos/macos_conda_session.sh ../
fi
# cd scripts/python/lollms_installer
# python main.py
# cd ..
echo "Creating a bin dir (required for llamacpp binding)"
mkdir -p $INSTALL_ENV_DIR/bin
python zoos/bindings_zoo/bs_exllamav2/__init__.py
PrintBigMessage() {
echo
echo "*******************************************************************"
for message in "$@"; do
echo "* $message"
done
echo "*******************************************************************"
echo
}
PrintBigMessage "$@"
exit 0

View File

@ -1,192 +0,0 @@
#!/bin/bash
# This script will install Miniconda and git with all dependencies for this project.
# This enables a user to install this project without manually installing Conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo "V9.5"
echo "-----------------"
echo "By ParisNeo"
echo "-----------------"
cd "$(dirname "$0")"
if [[ "$PWD" == *" "* ]]; then
echo "This script relies on Miniconda, which cannot be silently installed under a path with spaces."
exit 1
fi
echo "WARNING: This script relies on Miniconda, which will fail to install if the path is too long."
if [[ "$PWD" =~ [^#\$\%\&\(\)\*\+\] ]]; then
echo "WARNING: Special characters were detected in the installation path!"
echo " This can cause the installation to fail!"
fi
read -rp "Press Enter to continue..."
clear
export PACKAGES_TO_INSTALL=python=3.11 git pip
echo "Installing gcc..."
brew install gcc
# Better isolation for virtual environment
unset CONDA_SHLVL
export PYTHONNOUSERSITE=1
unset PYTHONPATH
unset PYTHONHOME
export TEMP="$PWD/installer_files/temp"
export TMP="$PWD/installer_files/temp"
MINICONDA_DIR="$PWD/installer_files/miniconda3"
INSTALL_ENV_DIR="$PWD/installer_files/lollms_env"
ENV_NAME="lollms"
arch=$(uname -m)
if [ "$arch" == "arm64" ]; then
MINICONDA_DOWNLOAD_URL="https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-MacOSX-arm64.sh"
else
MINICONDA_DOWNLOAD_URL="https://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh"
fi
REPO_URL="https://github.com/ParisNeo/lollms-webui.git"
if [ ! -f "$MINICONDA_DIR/Scripts/conda" ]; then
# Download Miniconda
echo "Downloading Miniconda installer from $MINICONDA_DOWNLOAD_URL"
curl -LO "$MINICONDA_DOWNLOAD_URL"
# Install Miniconda
echo
echo "Installing Miniconda to $MINICONDA_DIR"
echo "Please wait..."
echo
if [ "$arch" == "arm64" ]; then
bash "Miniforge3-MacOSX-arm64.sh" -b -p "$MINICONDA_DIR" || ( echo && echo "Miniconda installer not found." && exit 1 )
rm -f "Miniforge3-MacOSX-arm64.sh"
if [ ! -f "$MINICONDA_DIR/bin/activate" ]; then
echo && echo "Miniconda install failed." && exit 1
fi
else
bash "Miniconda3-latest-MacOSX-x86_64.sh" -b -p "$MINICONDA_DIR" || ( echo && echo "Miniconda installer not found." && exit 1 )
rm -f "Miniconda3-latest-MacOSX-x86_64.sh"
if [ ! -f "$MINICONDA_DIR/bin/activate" ]; then
echo && echo "Miniconda install failed." && exit 1
fi
fi
fi
# Activate Miniconda
source "$MINICONDA_DIR/bin/activate" || ( echo "Miniconda hook not found." && exit 1 )
# Create the installer environment
if [ ! -d "$INSTALL_ENV_DIR" ]; then
echo "Packages to install: $PACKAGES_TO_INSTALL"
conda create -y -k -n "$ENV_NAME" $CHANNEL $PACKAGES_TO_INSTALL || ( echo && echo "Conda environment creation failed." && exit 1 )
echo "Conda created and using packages: $PACKAGES_TO_INSTALL"
fi
# Activate installer environment
source activate "$ENV_NAME" || ( echo && echo "Conda environment activation failed." && exit 1 )
# install conda
conda install conda -y
echo "$ENV_NAME Activated"
# Set default CUDA toolkit to the one in the environment
export CUDA_PATH="$INSTALL_ENV_DIR"
# Clone the repository
if [ -d "lollms-webui" ]; then
cd lollms-webui || exit 1
git pull
git submodule update --init --recursive
cd lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
else
git clone --depth 1 --recurse-submodules "$REPO_URL"
git submodule update --init --recursive
cd lollms-webui/lollms_core
pip install -e .
cd ..
cd utilities/safe_store
pip install -e .
cd ../..
cd lollms-webui || exit 1
fi
# Loop through each "git+" requirement and uninstall it (workaround for inconsistent git package updating)
while IFS= read -r requirement; do
if echo "$requirement" | grep -q "git+"; then
package_name=$(echo "$requirement" | awk -F'/' '{ print $4 }' | awk -F'@' '{ print $1 }')
python -m pip uninstall -y "$package_name"
fi
done < requirements.txt
# Install the pip requirements
python -m pip install -r requirements.txt --upgrade
if [[ -e "../macos_run.sh" ]]; then
echo "Macos run found"
else
cp scripts/macos/macos_run.sh ../
fi
if [[ -e "../macos_update.sh" ]]; then
echo "Macos update found"
else
cp scripts/macos/macos_update.sh ../
fi
if [[ -e "../macos_conda_session.sh" ]]; then
echo "Macos conda session found"
else
cp scripts/macos/macos_conda_session.sh ../
fi
# cd scripts/python/lollms_installer
# python main.py
# cd ..
echo "Creating a bin dir (required for llamacpp binding)"
mkdir -p $INSTALL_ENV_DIR/bin
python zoos/bindings_zoo/ollama/__init__.py
PrintBigMessage() {
echo
echo "*******************************************************************"
for message in "$@"; do
echo "* $message"
done
echo "*******************************************************************"
echo
}
PrintBigMessage "$@"
exit 0

View File

@ -1,44 +0,0 @@
#!/bin/bash
echo "Starting LOLLMS Web UI..."
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo " By ParisNeo"
cd "$(dirname "$0")"
# Better isolation for virtual environment
CONDA_SHLVL=""
PYTHONNOUSERSITE=1
PYTHONPATH=""
PYTHONHOME=""
TEMP="./installer_files/temp"
TMP="./installer_files/temp"
ENV_NAME="lollms"
INSTALL_ENV_DIR="./installer_files/miniconda3/envs/lollms"
MINICONDA_DIR="./installer_files/miniconda3"
if [ ! -f "$MINICONDA_DIR/bin/activate" ]; then
echo "Miniconda not found."
exit 1
fi
source "$MINICONDA_DIR/bin/activate" "$ENV_NAME"
cd lollms-webui
echo "Pulling latest changes"
git pull
echo "Reinstalling requirements"
pip install --upgrade -r requirements.txt
# Pause at the end to keep the terminal window open
read -rp "Press Enter to exit..."

View File

@ -1,148 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Creating a bin dir (required for llamacpp binding)
md ../installer_files/lollms_env/bin
echo Installation complete.
:endend
pause

View File

@ -127,11 +127,54 @@ if exist ..\win_conda_session.bat (
)
setlocal enabledelayedexpansion
echo Select the default binding to be installed:
echo 1) None (install the binding later)
echo 2) Local binding - ollama
echo 3) Local binding - python_llama_cpp
echo 4) Local binding - bs_exllamav2
echo 5) Remote binding - open_router
echo 6) Remote binding - open_ai
echo 7) Remote binding - mistral_ai
echo.
set /p choice="Type the number of your choice and press Enter: "
endlocal
if "%choice%"=="1" goto :none
if "%choice%"=="2" goto :ollama
if "%choice%"=="3" goto :python_llama_cpp
if "%choice%"=="4" goto :bs_exllamav2
if "%choice%"=="5" goto :open_router
if "%choice%"=="6" goto :open_ai
if "%choice%"=="7" goto :mistral_ai
goto :end
:none
echo You selected None. No binding will be installed now.
goto :end
:ollama
call python zoos/bindings_zoo/ollama/__init__.py
goto :end
:python_llama_cpp
call python zoos/bindings_zoo/python_llama_cpp/__init__.py
goto :end
:bs_exllamav2
call python zoos/bindings_zoo/bs_exllamav2/__init__.py
goto :end
:open_router
call python zoos/bindings_zoo/open_router/__init__.py
goto :end
:open_ai
call python zoos/bindings_zoo/open_ai/__init__.py
goto :end
:mistral_ai
call python zoos/bindings_zoo/mistral_ai/__init__.py
goto :end
goto end
:PrintBigMessage
echo. && echo.

View File

@ -1,150 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem install conda library
call conda install conda -y
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
call python zoos/bindings_zoo/bs_exllamav2/__init__.py
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Installation complete.
:endend
pause

View File

@ -1,150 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem install conda library
call conda install conda -y
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
call python zoos/bindings_zoo/remote_lollms/__init__.py
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Installation complete.
:endend
pause

View File

@ -1,150 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem install conda library
call conda install conda -y
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
call python zoos/bindings_zoo/mistral_ai/__init__.py
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Installation complete.
:endend
pause

View File

@ -1,225 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo By ParisNeo
:retry
echo Please specify if you want to use a GPU or CPU.
echo *Note* that only NVidea GPUs (cuda) or AMD GPUs (rocm) are supported.
echo A) Enable cuda GPU
echo B) Enable ROCm compatible GPU (AMD and other GPUs) (NOT SUPPORTED UNDER WINDOWS)
echo C) Run CPU mode
set /p "gpuchoice=Input> "
set gpuchoice=%gpuchoice:~0,1%
if /I "%gpuchoice%" == "A" (
set "PACKAGES_TO_INSTALL=python=3.10 cuda-toolkit ninja git cuda-compiler"
set "CHANNEL=-c nvidia/label/cuda-12.1.1 -c nvidia -c conda-forge"
) else if /I "%gpuchoice%" == "B" (
set "PACKAGES_TO_INSTALL=python=3.10 rocm-comgr rocm-smi ninja git"
set "CHANNEL=-c conda-forge"
) else if /I "%gpuchoice%" == "C" (
set "PACKAGES_TO_INSTALL=python=3.10 m2w64-toolchain ninja git"
set "CHANNEL=-c conda-forge"
) else (
echo Invalid choice. Retry
goto retry
)
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
if /I "%gpuchoice%" == "B" (
echo Installing ROCM AMD tools...
rem Set variables for the installer URL and output file
set "installerUrl=https://www.amd.com/en/developer/rocm-hub/eula/licenses.html?filename=AMD-Software-PRO-Edition-23.Q3-Win10-Win11-For-HIP.exe"
set "outputFile=AMD-Software-PRO-Edition-23.Q3-Win10-Win11-For-HIP.exe"
rem Download the installer using curl (make sure you have curl installed)
curl -o "%outputFile%" "%installerUrl%"
rem Install RocM tools
"%outputFile%"
rem Clean up the downloaded installer
del "%outputFile%"
echo Installation complete.
)
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem set default cuda toolkit to the one in the environment
set "CUDA_PATH=%INSTALL_ENV_DIR%"
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
) else (
git clone https://github.com/ParisNeo/lollms-webui.git
cd lollms-webui
)
git submodule update --init
cd zoos/bindings_zoo
git checkout main
cd ../personalities_zoo
git checkout main
cd ../extensions_zoo
git checkout main
cd ../models_zoo
git checkout main
cd ../..
cd lollms_core
git checkout main
cd ../utilities/safe_store
git checkout main
cd ../..
@rem Loop through each "git+" requirement and uninstall it workaround for inconsistent git package updating
for /F "delims=" %%a in (requirements.txt) do echo "%%a"| findstr /C:"git+" >nul&& for /F "tokens=4 delims=/" %%b in ("%%a") do for /F "delims=@" %%c in ("%%b") do python -m pip uninstall -y %%c
@rem install the pip requirements
call python -m pip install -r requirements.txt --upgrade
@rem install the pip requirements
call python -m pip install -e lollms_core --upgrade
@rem install the pip requirements
call python -m pip install -e utilities/safe_store --upgrade
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_update.bat (
echo Win update found
) else (
copy scripts\windows\win_update.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
if exist ..\win_update_models.bat (
echo Win update models found
) else (
copy scripts\windows\win_update_models.bat ..\
)
setlocal enabledelayedexpansion
if /I "%gpuchoice%"=="C" (
echo This is a .no_gpu file. > .no_gpu
) else (
echo GPU is enabled, no .no_gpu file will be created.
)
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
cd ..
echo Creating bin folder (needed for ctransformers)
IF EXIST "installer_files\lollms_env\bin" (
echo Folder already existing
) ELSE (
MKDIR "installer_files\lollms_env\bin"
echo Folder created successfully!
)
echo Installation complete.
:endend
pause

View File

@ -1,150 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem install conda library
call conda install conda -y
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
call python zoos/bindings_zoo/ollama/__init__.py
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Installation complete.
:endend
pause

View File

@ -1,150 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem install conda library
call conda install conda -y
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
call python zoos/bindings_zoo/open_ai/__init__.py
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Installation complete.
:endend
pause

View File

@ -1,150 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem install conda library
call conda install conda -y
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
call python zoos/bindings_zoo/open_router/__init__.py
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Installation complete.
:endend
pause

View File

@ -1,150 +0,0 @@
@echo off
@rem This script will install miniconda and git with all dependencies for this project
@rem This enables a user to install this project without manually installing conda and git.
echo " ___ ___ ___ ___ ___ ___ "
echo " /\__\ /\ \ /\__\ /\__\ /\__\ /\ \ "
echo " /:/ / /::\ \ /:/ / /:/ / /::| | /::\ \ "
echo " /:/ / /:/\:\ \ /:/ / /:/ / /:|:| | /:/\ \ \ "
echo " /:/ / /:/ \:\ \ /:/ / /:/ / /:/|:|__|__ _\:\~\ \ \ "
echo " /:/__/ /:/__/ \:\__\ /:/__/ /:/__/ /:/ |::::\__\ /\ \:\ \ \__\ "
echo " \:\ \ \:\ \ /:/ / \:\ \ \:\ \ \/__/~~/:/ / \:\ \:\ \/__/ "
echo " \:\ \ \:\ /:/ / \:\ \ \:\ \ /:/ / \:\ \:\__\ "
echo " \:\ \ \:\/:/ / \:\ \ \:\ \ /:/ / \:\/:/ / "
echo " \:\__\ \::/ / \:\__\ \:\__\ /:/ / \::/ / "
echo " \/__/ \/__/ \/__/ \/__/ \/__/ \/__/ "
echo V9.5
echo -----------------
echo By ParisNeo
echo -----------------
@rem workaround for broken Windows installs
set PATH=%PATH%;%SystemRoot%\system32
cd /D "%~dp0"
echo "%cd%"| findstr /C:" " >nul && call :PrintBigMessage "This script relies on Miniconda which can not be silently installed under a path with spaces. Please put it in a path without spaces and try again" && goto failed
call :PrintBigMessage "WARNING: This script relies on Miniconda which will fail to install if the path is too long."
set "SPCHARMESSAGE="WARNING: Special characters were detected in the installation path!" " This can cause the installation to fail!""
echo "%CD%"| findstr /R /C:"[!#\$%&()\*+,;<=>?@\[\]\^`{|}~]" >nul && (
call :PrintBigMessage %SPCHARMESSAGE%
)
set SPCHARMESSAGE=
pause
cls
md
@rem better isolation for virtual environment
SET "CONDA_SHLVL="
SET PYTHONNOUSERSITE=1
SET "PYTHONPATH="
SET "PYTHONHOME="
SET "TEMP=%cd%\installer_files\temp"
SET "TMP=%cd%\installer_files\temp"
set MINICONDA_DIR=%cd%\installer_files\miniconda3
set INSTALL_ENV_DIR=%cd%\installer_files\lollms_env
set MINICONDA_DOWNLOAD_URL=https://repo.anaconda.com/miniconda/Miniconda3-latest-Windows-x86_64.exe
set REPO_URL=https://github.com/ParisNeo/lollms-webui.git
set "PACKAGES_TO_INSTALL=python=3.11 git pip"
if not exist "%MINICONDA_DIR%\Scripts\conda.exe" (
@rem download miniconda
echo Downloading Miniconda installer from %MINICONDA_DOWNLOAD_URL%
call curl -LO "%MINICONDA_DOWNLOAD_URL%"
@rem install miniconda
echo. && echo Installing Miniconda To "%MINICONDA_DIR%" && echo Please Wait... && echo.
start "" /W /D "%cd%" "Miniconda3-latest-Windows-x86_64.exe" /InstallationType=JustMe /NoShortcuts=1 /AddToPath=0 /RegisterPython=0 /NoRegistry=1 /S /D=%MINICONDA_DIR% || ( echo. && echo Miniconda installer not found. && goto failed )
del /q "Miniconda3-latest-Windows-x86_64.exe"
if not exist "%MINICONDA_DIR%\Scripts\activate.bat" ( echo. && echo Miniconda install failed. && goto end )
)
@rem activate miniconda
call "%MINICONDA_DIR%\Scripts\activate.bat" || ( echo Miniconda hook not found. && goto end )
@rem create the installer env
if not exist "%INSTALL_ENV_DIR%" (
echo Packages to install: %PACKAGES_TO_INSTALL%
call conda create --no-shortcuts -y -k -p "%INSTALL_ENV_DIR%" %CHANNEL% %PACKAGES_TO_INSTALL% || ( echo. && echo Conda environment creation failed. && goto end )
)
@rem check if conda environment was actually created
if not exist "%INSTALL_ENV_DIR%\python.exe" ( echo. && echo Conda environment is empty. && goto end )
@rem activate installer env
call conda activate "%INSTALL_ENV_DIR%" || ( echo. && echo Conda environment activation failed. && goto end )
@rem install conda library
call conda install conda -y
@rem clone the repository
if exist lollms-webui\ (
cd lollms-webui
git pull
git submodule update --init --recursive
cd
cd lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
) else (
git clone --depth 1 --recurse-submodules https://github.com/ParisNeo/lollms-webui.git
git submodule update --init --recursive
cd lollms-webui\lollms_core
pip install -e .
cd ..
cd utilities\safe_store
pip install -e .
cd ..\..
)
pip install -r requirements.txt
@rem create launcher
if exist ..\win_run.bat (
echo Win run found
) else (
copy scripts\windows\win_run.bat ..\
)
if exist ..\win_conda_session.bat (
echo win conda session script found
) else (
copy scripts\windows\win_conda_session.bat ..\
)
call python zoos/bindings_zoo/python_llama_cpp/__init__.py
setlocal enabledelayedexpansion
endlocal
goto end
:PrintBigMessage
echo. && echo.
echo *******************************************************************
for %%M in (%*) do echo * %%~M
echo *******************************************************************
echo. && echo.
exit /b
goto end
:failed
echo Install failed
goto endend
:end
echo Installation complete.
:endend
pause

8
web/dist/assets/index-154c3e38.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -2,7 +2,7 @@
<defs>
</defs>
<g style="stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;" transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)" >
<g style="stroke: white; stroke-width: 2px; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;" transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)" >
<path d="M 89.999 3.075 C 90 3.02 90 2.967 89.999 2.912 c -0.004 -0.134 -0.017 -0.266 -0.038 -0.398 c -0.007 -0.041 -0.009 -0.081 -0.018 -0.122 c -0.034 -0.165 -0.082 -0.327 -0.144 -0.484 c -0.018 -0.046 -0.041 -0.089 -0.061 -0.134 c -0.053 -0.119 -0.113 -0.234 -0.182 -0.346 C 89.528 1.382 89.5 1.336 89.469 1.29 c -0.102 -0.147 -0.212 -0.288 -0.341 -0.417 c -0.13 -0.13 -0.273 -0.241 -0.421 -0.344 c -0.042 -0.029 -0.085 -0.056 -0.129 -0.082 c -0.118 -0.073 -0.239 -0.136 -0.364 -0.191 c -0.039 -0.017 -0.076 -0.037 -0.116 -0.053 c -0.161 -0.063 -0.327 -0.113 -0.497 -0.147 c -0.031 -0.006 -0.063 -0.008 -0.094 -0.014 c -0.142 -0.024 -0.285 -0.038 -0.429 -0.041 C 87.03 0 86.983 0 86.936 0.001 c -0.141 0.003 -0.282 0.017 -0.423 0.041 c -0.035 0.006 -0.069 0.008 -0.104 0.015 c -0.154 0.031 -0.306 0.073 -0.456 0.129 L 1.946 31.709 c -1.124 0.422 -1.888 1.473 -1.943 2.673 c -0.054 1.199 0.612 2.316 1.693 2.838 l 34.455 16.628 l 16.627 34.455 C 53.281 89.344 54.334 90 55.481 90 c 0.046 0 0.091 -0.001 0.137 -0.003 c 1.199 -0.055 2.251 -0.819 2.673 -1.943 L 89.815 4.048 c 0.056 -0.149 0.097 -0.3 0.128 -0.453 c 0.008 -0.041 0.011 -0.081 0.017 -0.122 C 89.982 3.341 89.995 3.208 89.999 3.075 z M 75.086 10.672 L 37.785 47.973 L 10.619 34.864 L 75.086 10.672 z M 55.136 79.381 L 42.027 52.216 l 37.302 -37.302 L 55.136 79.381 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
<circle cx="75" cy="75" r="15" fill="#008000"/>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

4
web/dist/index.html vendored
View File

@ -6,8 +6,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>LoLLMS WebUI - Welcome</title>
<script type="module" crossorigin src="/assets/index-fcb10c0e.js"></script>
<link rel="stylesheet" href="/assets/index-4c43917d.css">
<script type="module" crossorigin src="/assets/index-8aa96d00.js"></script>
<link rel="stylesheet" href="/assets/index-154c3e38.css">
</head>
<body>
<div id="app"></div>

View File

@ -2,7 +2,7 @@
<defs>
</defs>
<g style="stroke: none; stroke-width: 0; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;" transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)" >
<g style="stroke: white; stroke-width: 2px; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: none; fill-rule: nonzero; opacity: 1;" transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)" >
<path d="M 89.999 3.075 C 90 3.02 90 2.967 89.999 2.912 c -0.004 -0.134 -0.017 -0.266 -0.038 -0.398 c -0.007 -0.041 -0.009 -0.081 -0.018 -0.122 c -0.034 -0.165 -0.082 -0.327 -0.144 -0.484 c -0.018 -0.046 -0.041 -0.089 -0.061 -0.134 c -0.053 -0.119 -0.113 -0.234 -0.182 -0.346 C 89.528 1.382 89.5 1.336 89.469 1.29 c -0.102 -0.147 -0.212 -0.288 -0.341 -0.417 c -0.13 -0.13 -0.273 -0.241 -0.421 -0.344 c -0.042 -0.029 -0.085 -0.056 -0.129 -0.082 c -0.118 -0.073 -0.239 -0.136 -0.364 -0.191 c -0.039 -0.017 -0.076 -0.037 -0.116 -0.053 c -0.161 -0.063 -0.327 -0.113 -0.497 -0.147 c -0.031 -0.006 -0.063 -0.008 -0.094 -0.014 c -0.142 -0.024 -0.285 -0.038 -0.429 -0.041 C 87.03 0 86.983 0 86.936 0.001 c -0.141 0.003 -0.282 0.017 -0.423 0.041 c -0.035 0.006 -0.069 0.008 -0.104 0.015 c -0.154 0.031 -0.306 0.073 -0.456 0.129 L 1.946 31.709 c -1.124 0.422 -1.888 1.473 -1.943 2.673 c -0.054 1.199 0.612 2.316 1.693 2.838 l 34.455 16.628 l 16.627 34.455 C 53.281 89.344 54.334 90 55.481 90 c 0.046 0 0.091 -0.001 0.137 -0.003 c 1.199 -0.055 2.251 -0.819 2.673 -1.943 L 89.815 4.048 c 0.056 -0.149 0.097 -0.3 0.128 -0.453 c 0.008 -0.041 0.011 -0.081 0.017 -0.122 C 89.982 3.341 89.995 3.208 89.999 3.075 z M 75.086 10.672 L 37.785 47.973 L 10.619 34.864 L 75.086 10.672 z M 55.136 79.381 L 42.027 52.216 l 37.302 -37.302 L 55.136 79.381 z" style="stroke: none; stroke-width: 1; stroke-dasharray: none; stroke-linecap: butt; stroke-linejoin: miter; stroke-miterlimit: 10; fill: rgb(0,0,0); fill-rule: nonzero; opacity: 1;" transform=" matrix(1 0 0 1 0 0) " stroke-linecap="round" />
<circle cx="75" cy="75" r="15" fill="#008000"/>

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -84,6 +84,8 @@ ol {
--color-primary-light: #3dabff;
--color-secondary: #0fd974;
--color-accent: #f0700e;
--color-light-text-panel: #ffffff;
--color-dark-text-panel: #ffffff;
--color-bg-light-panel: #7cb5ec;
--color-bg-light: #e2edff;
--color-bg-light-tone: #b9d2f7;

View File

@ -1,8 +1,8 @@
<template>
<form>
<div class="absolute bottom-0 left-0 w-fit min-w-96 w-full justify-center text-center p-4">
<div v-if="filesList.length > 0 || showPersonalities" class="items-center gap-2 rounded-lg border bg-bg-light-tone dark:bg-bg-dark-tone p-1.5 shadow-sm hover:shadow-none dark:border-gray-800 w-fit">
<div class="absolute bottom-0 left-0 w-fit min-w-96 w-full justify-center text-center">
<div v-if="filesList.length > 0 || showPersonalities" class="items-center gap-2 bg-bg-light-panel dark:bg-bg-dark-tone shadow-sm hover:shadow-none dark:border-gray-800 w-fit">
<!-- EXPAND / COLLAPSE BUTTON -->
<div class="flex">
<button
@ -119,8 +119,8 @@
<span class="sr-only">Selecting model...</span>
</div>
</div>
<div class="flex w-fit pb-3 relative grow w-full">
<div class="relative grow flex h-12.5 cursor-pointer select-none items-center gap-2 rounded-lg border bg-bg-light-tone dark:bg-bg-dark-tone p-1 shadow-sm hover:shadow-none dark:border-gray-800" tabindex="0">
<div class="flex w-fit relative grow w-full">
<div class="relative text-light-text-panel dark:text-dark-text-panel grow flex h-12.5 cursor-pointer select-none items-center gap-2 bg-bg-light-panel dark:bg-bg-dark-tone p-1 shadow-sm hover:shadow-none dark:border-gray-800" tabindex="0">
<div v-if="loading" title="Waiting for reply">
<img :src="loader_v0">
<!-- SPINNER -->
@ -135,9 +135,9 @@
v-for="(item, index) in installedBindings" :key="index + '-' + item.name"
ref="installedBindings">
<div v-if="item.name!=binding_name" class="group items-center flex flex-row">
<button @click.prevent="setBinding(item)" class="w-8 h-8">
<button @click.prevent="setBinding(item)" class="w-10 h-10">
<img :src="item.icon?item.icon:modelImgPlaceholder"
class="w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary "
class="w-10 h-10 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary "
:title="item.name">
</button>
</div>
@ -159,9 +159,9 @@
v-for="(item, index) in installedModels" :key="index + '-' + item.name"
ref="installedModels">
<div v-if="item.name!=model_name" class="group items-center flex flex-row">
<button @click.prevent="setModel(item)" class="w-8 h-8">
<button @click.prevent="setModel(item)" class="w-10 h-10">
<img :src="item.icon?item.icon:modelImgPlaceholder"
class="w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary "
class="w-10 h-10 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary "
:title="item.name">
</button>
</div>
@ -178,14 +178,14 @@
</div>
<div class="w-fit group relative" >
<!-- :onShowPersList="onShowPersListFun" -->
<div class= "group w-full inline-flex absolute opacity-0 group-hover:opacity-100 transform group-hover:-translate-y-10 group-hover:translate-x-15 transition-all duration-300">
<div class= "group w-full inline-flex absolute opacity-0 group-hover:opacity-100 transform group-hover:-translate-y-12 group-hover:translate-x-15 transition-all duration-300">
<div class="w-full"
v-for="(item, index) in mountedPersonalities" :key="index + '-' + item.name"
ref="mountedPersonalities">
<div v-if="index!=personality_name" class="group items-center flex flex-row">
<button @click.prevent="onPersonalitySelected(item)" class="w-8 h-8">
<button @click.prevent="onPersonalitySelected(item)" class="w-10 h-10">
<img :src="bUrl + item.avatar" @error="personalityImgPlacehodler"
class="w-8 h-8 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary "
class="w-10 h-10 rounded-full object-fill text-red-700 border-2 active:scale-90 hover:border-secondary "
:class="this.$store.state.active_personality_id == this.$store.state.personalities.indexOf(item.full_path) ? 'border-secondary' : 'border-transparent z-0'"
:title="item.name">
</button>
@ -233,7 +233,7 @@
<div class="group relative w-max">
<button v-if="!loading" type="button" @click="submit" title="Send"
class="w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90">
class="w-6 text-panel hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90">
<i data-feather="send"></i>
</button>
<div class="pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"><p class="max-w-sm text-sm text-gray-800 dark:text-gray-200">Sends your message to the AI.</p></div>
@ -241,7 +241,7 @@
<div class="group relative w-max">
<button v-if="!loading" type="button" @click="submitWithInternetSearch" title="Send With internet"
class="w-6 hover:text-secondary duration-75 active:scale-90 cursor-pointer transform transition-transform hover:translate-y-[-5px] active:scale-90">
<img :src="sendGlobe" width="50" height="50">
<img :src="sendGlobe" width="50" height="50" style="stroke: currentColor; fill: currentColor;">
</button>
<div class="pointer-events-none absolute -top-20 left-1/2 w-max -translate-x-1/2 rounded-md bg-gray-100 p-2 opacity-0 transition-opacity group-hover:opacity-100 dark:bg-gray-800"><p class="max-w-sm text-sm text-gray-800 dark:text-gray-200">Sends your message to the AI with internet search.</p></div>
</div>
@ -283,7 +283,7 @@
<div class="group relative w-max">
<button v-if="!loading" type="button" @click.stop="makeAnEmptyUserMessage"
class=" w-6 text-blue-400 hover:text-secondary duration-75 active:scale-90">
class=" w-6 text-gray-800 hover:text-secondary duration-75 active:scale-90 hover:translate-y-[-5px]">
<i data-feather="message-square"></i>
</button>
@ -292,7 +292,7 @@
<div class="group relative w-max">
<button v-if="!loading" type="button" @click.stop="makeAnEmptyAIMessage"
class=" w-6 text-red-400 hover:text-secondary duration-75 active:scale-90">
class=" w-6 text-red-400 hover:text-secondary duration-75 active:scale-90 hover:translate-y-[-5px]">
<i data-feather="message-square"></i>
</button>

View File

@ -1,36 +1,35 @@
<!-- ChoiceDialog.vue -->
<template>
<transition name="fade">
<div v-if="show" class="fixed inset-0 flex items-center justify-center bg-black bg-opacity-50">
<div class="bg-white dark:bg-gray-800 rounded-lg p-6 w-96">
<h2 class="text-xl font-semibold mb-4">{{ title }}</h2>
<div class="h-48 overflow-y-auto">
<div v-if="show" class="fixed inset-0 flex items-center justify-center bg-black bg-opacity-50 z-20">
<div class="bg-bg-light dark:bg-bg-dark rounded-lg p-6 w-96">
<h2 class="text-xl font-bold text-5xl drop-shadow-md align-middle">{{ title }}</h2>
<div class="h-48 text-light-text-panel dark:text-dark-text-panel bg-bg-light-tone-panel dark:bg-dark-tone-panel overflow-y-auto rounded drop-shadow-md overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary">
<ul>
<li
v-for="(choice, index) in choices"
:key="index"
@click="selectChoice(choice)"
:class="{'selected-choice': choice === selectedChoice}"
class="py-2 px-4 cursor-pointer hover:bg-gray-200 dark:hover:bg-gray-700"
class="py-2 px-4 cursor-pointer hover:bg-accent dark:hover:bg-secondary"
>
<span class="font-bold">{{ displayName(choice) }}</span><br>
<span class="font-bold text-dark-text-panel dark:text-light-text-panel">{{ displayName(choice) }}</span><br>
<span class="text-xs text-gray-500" v-if="choice.size">{{ formatSize(choice.size) }}</span>
<button v-if="can_remove" @click="removeChoice(choice, index)" class="ml-2 text-red-500 hover:text-red-600">
<button v-if="can_remove" @click.stop="removeChoice(choice, index)" class="ml-2 text-red-500 hover:text-red-600">
X
</button>
</li>
</ul>
</div>
<div class="mt-4" v-if="showInput">
<div class="flex flex-row mt-4 bg-light-tone-panel dark:bg-dark-tone-panel" v-if="showInput">
<input v-model="newFilename" placeholder="Enter a filename" class="border border-gray-300 p-2 rounded-lg w-full">
<button @click="addNewFilename" class="mt-2 py-2 px-4 bg-green-500 hover:bg-green-600 text-white rounded-lg transition duration-300">
<button @click="addNewFilename" class="ml-2 grow pl-2 pr-2 bg-primary hover:bg-primary-light text-white rounded-lg transition duration-300">
Add
</button>
</div>
<div class="flex justify-end mt-4">
<button
@click="closeDialog"
class="py-2 px-4 mr-2 bg-red-500 hover:bg-red-600 text-white rounded-lg transition duration-300"
class="py-2 px-4 mr-2 bg-secondary hover:bg-accent text-white rounded-lg transition duration-300"
>
Cancel
</button>
@ -38,7 +37,7 @@
@click="validateChoice"
:class="{
'bg-gray-400 cursor-not-allowed': !selectedChoice,
'bg-blue-500 hover:bg-blue-600': selectedChoice,
'bg-primary hover:bg-primary-light': selectedChoice,
'text-white': selectedChoice,
'text-gray-500': !selectedChoice,
}"
@ -49,7 +48,7 @@
</button>
<button
@click="toggleInput"
class="py-2 px-4 ml-2 bg-blue-500 hover:bg-blue-600 text-white rounded-lg transition duration-300"
class="py-2 px-4 ml-2 bg-accent hover:bg-secondary text-white rounded-lg transition duration-300"
>
Add New
</button>

View File

@ -1,22 +1,22 @@
<template>
<div v-if="$store.state.ready" class="container flex flex-col sm:flex-row items-center">
<div class="w-full">
<div class="flex flex-row font-medium nav-ul">
<div v-if="$store.state.ready" class="container z-60 flex flex-col sm:flex-row items-center">
<div class="w-full text-center">
<div class="w-full items-center justify-center flex flex-row font-medium nav-ul text-center">
<RouterLink
:to="{ name: 'discussions' }"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone mr-2"
:class="{
'text-green-200 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('discussions'),
'bounce-in': isRouteActive('discussions')
'text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-secondary': isRouteActive('discussions'),
'bounce-in': isRouteActive('discussions'),
}">
Discussions
</RouterLink>
<RouterLink
:to="{ name: 'playground' }"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone mr-2"
:class="{
'text-green-200 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('playground'),
'bounce-in': isRouteActive('playground')
'text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('playground'),
'bounce-in': isRouteActive('playground'),
}"
>
Playground
@ -24,10 +24,10 @@
<RouterLink
v-if="$store.state.config.enable_comfyui_service"
:to="{ name: 'ComfyUI' }"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone mr-2"
:class="{
'text-green-200 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('ComfyUI'),
'bounce-in': isRouteActive('ComfyUI')
'text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('ComfyUI'),
'bounce-in': isRouteActive('ComfyUI'),
}"
>
ComfyUI
@ -35,10 +35,10 @@
<RouterLink
v-if="$store.state.config.enable_voice_service"
:to="{ name: 'interactive' }"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone mr-2"
:class="{
'text-green-200 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('interactive'),
'bounce-in': isRouteActive('interactive')
'text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('interactive'),
'bounce-in': isRouteActive('interactive'),
}"
>
interactive
@ -60,20 +60,20 @@
-->
<RouterLink
:to="{ name: 'settings' }"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone mr-2"
:class="{
'text-green-200 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('settings'),
'bounce-in': isRouteActive('settings')
'text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('settings'),
'bounce-in': isRouteActive('settings'),
}"
>
Settings
</RouterLink>
<RouterLink
:to="{ name: 'help' }"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone"
class="link-item dark:link-item-dark bg-bg-light-tone dark:bg-bg-dark-tone hover:dark:bg-bg-light-tone mr-2"
:class="{
'text-green-200 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('help'),
'bounce-in': isRouteActive('help')
'text-green-600 hover:text-green-500 dark:text-green-100 font-bold bg-bg-light-panel': isRouteActive('help'),
'bounce-in': isRouteActive('help'),
}"
>
Help
@ -158,7 +158,6 @@
}
/* Ensure each li extends to the bottom of its container */
.nav-ul {
@ -194,6 +193,11 @@
.bounce-in {
animation: bounceInAnimation 0.5s;
}
.bounce-out {
animation: bounceOutAnimation 0.5s;
}
@keyframes bounceInAnimation {
0% {

View File

@ -1,21 +1,22 @@
<template>
<div v-if="showPopup" class="popup-overlay">
<div class="popup">
<div class="popup-content">
<div v-if="showPopup" class="fixed inset-0 bg-black bg-opacity-50 flex justify-center items-center">
<div class="bg-white p-5 rounded-lg">
<div class="flex flex-col">
<button
v-for="(option, index) in options"
:key="index"
@click="selectOption(index)"
class="mb-2 last:mb-0 py-2 px-4 bg-blue-500 text-white rounded hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-opacity-50"
>
{{ option }}
</button>
</div>
</div>
</div>
</template>
</template>
<script>
export default {
<script>
export default {
data() {
return {
showPopup: false,
@ -32,35 +33,7 @@
this.showPopup = false;
},
},
};
</script>
<style scoped>
.popup-overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
justify-content: center;
align-items: center;
}
.popup {
background-color: white;
padding: 20px;
border-radius: 5px;
}
.popup-content {
display: flex;
flex-direction: column;
}
button {
margin-bottom: 10px;
}
</style>
};
</script>
<!-- No need for <style scoped> as we're using Tailwind CSS utility classes -->

View File

@ -9,38 +9,50 @@
type="radio"
:value="option.value"
v-model="selectedValue"
@change="handleRadioChange(index)"
@change="handleRadioChange"
class="text-blue-500 focus:ring-2 focus:ring-blue-200"
:aria-checked="selectedValue === option.value.toString()"
role="radio"
/>
<span class="text-gray-700">{{ option.label }}</span>
</label>
</div>
</template>
</template>
<script>
export default {
<script>
export default {
props: {
radioOptions: {
type: Array,
required: true,
},
defaultValue: {
type: String, // Change the type to match your default value type
default: 0, // Set the default value here
type: String, // Ensure this matches the expected type of your options' values
default: '0', // Ensure the default is a string to match the value type
},
},
data() {
return {
selectedValue: this.defaultValue, // Set the default value to the defaultValue prop
selectedValue: this.defaultValue,
};
},
computed: {
selectedLabel() {
const selectedOption = this.radioOptions.find(option => option.value === this.selectedValue);
return selectedOption ? selectedOption.label : '';
},
},
watch: {
selectedValue(newValue, oldValue) {
// Perform any side effect here if needed
this.$emit('radio-selected', newValue);
},
},
methods: {
handleRadioChange(index) {
if (this.selectedValue !== null) {
this.$emit('radio-selected', this.selectedValue, index);
}
handleRadioChange() {
// Now, this method might be redundant unless you have specific logic here
// Otherwise, consider removing it and handle changes through the watcher or directly via v-model binding
},
},
};
</script>
};
</script>

View File

@ -7,7 +7,7 @@
<div class="flex items-center gap-3 flex-1">
<img class="w-12 hover:scale-95 duration-150 " title="LoLLMS WebUI" src="@/assets/logo.png" alt="Logo">
<div class="flex flex-col">
<p class="text-2xl ">LoLLMS</p>
<p class="text-2xl font-bold text-2xl drop-shadow-md align-middle">LoLLMS</p>
<p class="text-gray-400 ">One tool to rule them all</p>
</div>

View File

@ -10,14 +10,14 @@
<img class="w-24 animate-bounce" title="LoLLMS WebUI" src="@/assets/logo.png" alt="Logo">
<div class="flex flex-col items-start">
<p class="text-2xl ">LoLLMS {{ version_info }} </p>
<p class="text-2xl font-bold text-5xl drop-shadow-md align-middle">LoLLMS {{ version_info }} </p>
<p class="text-gray-400 text-base">One tool to rule them all</p>
<p class="text-gray-400 text-base">by ParisNeo</p>
</div>
</div>
<hr class=" mt-1 w-96 h-1 mx-auto my-2 md:my-2 dark:bg-bg-dark-tone-panel bg-bg-light-tone-panel border-0 rounded ">
<p class="text-2xl mb-10">Welcome</p>
<p class="text-2xl mb-10 font-bold drop-shadow-md ">Welcome</p>
<div role="status" class="text-center w-full display: flex; flex-row align-items: center;">
<ProgressBar ref="loading_progress" :progress="loading_progress"></ProgressBar>
<p class="text-2xl animate-pulse mt-2"> {{ loading_infos }} ...</p>
@ -41,10 +41,7 @@
<!-- LEFT SIDE PANEL -->
<div id="leftPanel" class="flex flex-col flex-grow overflow-y-scroll no-scrollbar "
@dragover.stop.prevent="setDropZoneDiscussion()">
<div class="text-white bg-bg-light-panel sticky z-10 top-0 dark:bg-bg-dark-tone shadow-md ">
<div class="text-light-text-panel dark:text-dark-text-panel bg-bg-light-panel sticky z-10 top-0 dark:bg-bg-dark-tone shadow-md ">
<!-- CONTROL PANEL -->
<div class="flex-row p-4 flex items-center gap-3 flex-0">
@ -229,8 +226,8 @@
</div>
</div>
</div>
<div class="absolute bottom-0 left-0 w-full bg-bg-light-panel dark:bg-bg-dark-tone text-white py-2 cursor-pointer hover:text-accent" @click="showDatabaseSelector">
<p class="text-center text-shadow: 2px 2px 4px #000000;">{{ formatted_database_name.replace("_"," ") }}</p>
<div class="absolute h-15 bottom-0 left-0 w-full bg-bg-light-panel dark:bg-bg-dark-tone light-text-panel py-4 cursor-pointer text-light-text-panel dark:text-dark-text-panel hover:text-secondary" @click="showDatabaseSelector">
<p class="text-center font-large font-bold text-l drop-shadow-md align-middle">{{ formatted_database_name.replace("_"," ") }}</p>
</div>
</div>
</transition>
@ -263,7 +260,8 @@
<div
class="absolute w-full bottom-0 bg-transparent p-10 pt-16 bg-gradient-to-t from-bg-light dark:from-bg-dark from-5% via-bg-light dark:via-bg-dark via-10% to-transparent to-100%">
</div>
<div class="bottom-0 flex flex-row items-center justify-center " v-if="currentDiscussion.id">
</div>
<div class="flex flex-row items-center justify-center h-10" v-if="currentDiscussion.id">
<ChatBox ref="chatBox"
:loading="isGenerating"
:discussionList="discussionArr"
@ -281,9 +279,6 @@
>
</ChatBox>
</div>
<!-- CAN ADD FOOTER PANEL HERE -->
</div>
</div>
<ChoiceDialog reference="database_selector" class="z-20"
:show="database_selectorDialogVisible"
@ -294,7 +289,7 @@
/>
<div v-show="progress_visibility" role="status" class="fixed m-0 p-2 left-2 bottom-2 min-w-[24rem] max-w-[24rem] h-20 flex flex-col justify-center items-center pb-4 bg-blue-500 rounded-lg shadow-lg z-50 background-a">
<ProgressBar ref="progress" :progress="progress_value" class="w-full h-4"></ProgressBar>
<p class="text-2xl animate-pulse mt-2 text-white">{{ loading_infos }} ...</p>
<p class="text-2xl animate-pulse mt-2 text-light-text-panel dark:text-dark-text-panel">{{ loading_infos }} ...</p>
</div>
<InputBox prompt-text="Enter the url to the page to use as discussion support" @ok="addWebpage" ref="web_url_input_box"></InputBox>
<SkillsLibraryViewer ref="skills_lib" ></SkillsLibraryViewer>

View File

@ -1,6 +1,6 @@
<template>
<div class="container bg-bg-light dark:bg-bg-dark shadow-lg overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary">
<div class="container flex flex-row m-2">
<div class="container w-full bg-bg-light dark:bg-bg-dark shadow-lg overflow-y-auto scrollbar-thin scrollbar-track-bg-light-tone scrollbar-thumb-bg-light-tone-panel hover:scrollbar-thumb-primary dark:scrollbar-track-bg-dark-tone dark:scrollbar-thumb-bg-dark-tone-panel dark:hover:scrollbar-thumb-primary active:scrollbar-thumb-secondary">
<div class="container flex flex-row m-2 w-full ">
<div class="flex-grow max-w-[900px] m-2">
<div class="flex gap-3 flex-1 items-center flex-grow flex-row m-2 p-2 border border-blue-300 rounded-md border-2 border-blue-300 m-2 p-4">
<button v-show="!generating" id="generate-button" title="Generate from current cursor position" @click="generate" class="w-6 ml-2 hover:text-secondary duration-75 active:scale-90 cursor-pointer"><i data-feather="pen-tool"></i></button>

View File

@ -14,6 +14,7 @@ module.exports = {
'primary-light': 'var(--color-primary-light)',
'secondary': 'var(--color-secondary)',
'accent': 'var(--color-accent)',
'light-text-panel': 'var(--color-light-text-panel)',
'bg-light': 'var(--color-bg-light)',
'bg-light-tone': 'var(--color-bg-light-tone)',
'bg-light-panel': 'var(--color-bg-light-panel)',
@ -21,6 +22,7 @@ module.exports = {
'bg-light-tone-panel': 'var(--color-bg-light-tone-panel)',
'bg-light-discussion': 'var(--color-bg-light-discussion)',
'bg-light-discussion-odd': 'var(--color-bg-light-discussion-odd)',
'dark-text-panel': 'var(--color-dark-text-panel)',
'bg-dark': 'var(--color-bg-dark)',
'bg-dark-tone': 'var(--color-bg-dark-tone)',
'bg-dark-tone-panel': 'var(--color-bg-dark-tone-panel)',