FIrst prototype of working .sh

This commit is contained in:
andzejsp 2023-04-19 11:35:46 +03:00
parent 34328a7cf3
commit 41d9d92dd0

115
webui.sh
View File

@ -36,7 +36,6 @@ echo "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
echo "HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
# Install git
echo -n "Checking for Git..."
if command -v git > /dev/null 2>&1; then
@ -56,23 +55,20 @@ fi
# Check if repository exists
if [[ -d .git ]] ;then
echo Pulling latest changes
##git pull origin main
git pull origin main
else
echo Cloning repository...
##git init
##git remote add origin https://github.com/nomic-ai/gpt4all-ui.git
##git fetch
##git reset origin/main
##git checkout -t origin/main
##git pull origin main
git init
git remote add origin https://github.com/nomic-ai/gpt4all-ui.git
git pull origin main
fi
# Download latest personalities
if ! test -d ./tmp/personalities; then
## git clone https://github.com/ParisNeo/GPT4All_Personalities.git ./tmp/personalities
git clone https://github.com/ParisNeo/GPT4All_Personalities.git ./tmp/personalities
fi
##cp ./tmp/personalities/* ./personalities/
cp ./tmp/personalities/* ./personalities/
# Install Python 3.10 and pip
echo -n "Checking for python3.10..."
@ -89,3 +85,102 @@ else
exit 1
fi
fi
# Install venv module
echo -n "Checking for venv module..."
if python3.10 -m venv env > /dev/null 2>&1; then
echo "is installed"
else
read -p "venv module is not available. Would you like to install it? [Y/N] " choice
if [ "$choice" = "Y" ] || [ "$choice" = "y" ]; then
echo "Installing venv module..."
sudo apt update
sudo apt install -y python3.10-venv
else
echo "Please install venv module and try again."
exit 1
fi
fi
# Create a new virtual environment
echo -n "Creating virtual environment..."
python3.10 -m venv env
if [ $? -ne 0 ]; then
echo "Failed to create virtual environment. Please check your Python installation and try again."
exit 1
else
echo "is created"
fi
# Activate the virtual environment
echo -n "Activating virtual environment..."
source env/bin/activate
echo "is active"
# Install the required packages
echo "Installing requirements..."
python3.10 -m pip install pip --upgrade
python3.10 -m pip install -r requirements.txt
if [ $? -ne 0 ]; then
echo "Failed to install required packages. Please check your internet connection and try again."
exit 1
fi
# Checking model
MODEL="./models/gpt4all-lora-quantized-ggml.bin"
MODEL_URL="https://huggingface.co/ParisNeo/GPT4All/resolve/main/gpt4all-lora-quantized-ggml.bin"
if [ -f "$MODEL" ]; then
echo "File $MODEL already exists. Skipping download."
else
echo "File $MODEL does not exist."
echo "What would you like to do?"
select option in "Download" "Download using browser" "Skip"; do
case $option in
Download)
if [ -x "$(command -v wget)" ]; then
wget $MODEL_URL -P ./models/
elif [ -x "$(command -v curl)" ]; then
curl -O $MODEL_URL -o $MODEL
else
echo "Error: neither wget nor curl is installed. Please install one of them and try again."
exit 1
fi
break
;;
"Download using browser")
if [ -x "$(command -v xdg-open)" ]; then
xdg-open $MODEL_URL
elif [ -x "$(command -v gnome-open)" ]; then
gnome-open $MODEL_URL
elif [ -x "$(command -v kde-open)" ]; then
kde-open $MODEL_URL
elif [ -x "$(command -v open)" ]; then
open $MODEL_URL
else
echo "Error: could not detect a default browser. Please open the link in your web browser manually and press any key to continue."
read -n 1 -s -r -p "Press any key to continue"
fi
break
;;
Skip)
echo "Skipping downloading $MODEL"
break
;;
esac
done
fi
# Cleanup
if [ -d "./tmp" ]; then
rm -rf "./tmp"
echo "Cleaning tmp folder"
fi
# Launch the Python application
python app.py