Browse Source

scripts : parse wtype in server-llm.sh (#5167)

* scripts : parse wtype in server-llm.sh

* scripts : fix check for wfile
Georgi Gerganov 1 year ago
parent
commit
e437b37fd0
1 changed files with 25 additions and 1 deletions
  1. 25 1
      scripts/server-llm.sh

+ 25 - 1
scripts/server-llm.sh

@@ -141,6 +141,28 @@ for wt in "${wtypes[@]}"; do
     wfiles+=("")
     wfiles+=("")
 done
 done
 
 
+# map wtype input to index
+if [[ ! -z "$wtype" ]]; then
+    iw=-1
+    is=0
+    for wt in "${wtypes[@]}"; do
+        # uppercase
+        uwt=$(echo "$wt" | tr '[:lower:]' '[:upper:]')
+        if [[ "$uwt" == "$wtype" ]]; then
+            iw=$is
+            break
+        fi
+        is=$((is+1))
+    done
+
+    if [[ $iw -eq -1 ]]; then
+        printf "[-] Invalid weight type: %s\n" "$wtype"
+        exit 1
+    fi
+
+    wtype="$iw"
+fi
+
 # sample repos
 # sample repos
 repos=(
 repos=(
     "https://huggingface.co/TheBloke/Llama-2-7B-GGUF"
     "https://huggingface.co/TheBloke/Llama-2-7B-GGUF"
@@ -252,8 +274,10 @@ for file in $model_files; do
     printf "    %2d) %s %s\n" $iw "$have" "$file"
     printf "    %2d) %s %s\n" $iw "$have" "$file"
 done
 done
 
 
+wfile="${wfiles[$wtype]}"
+
 # ask for weights type until provided and available
 # ask for weights type until provided and available
-while [[ -z "$wtype" ]]; do
+while [[ -z "$wfile" ]]; do
     printf "\n"
     printf "\n"
     read -p "[+] Select weight type: " wtype
     read -p "[+] Select weight type: " wtype
     wfile="${wfiles[$wtype]}"
     wfile="${wfiles[$wtype]}"