]> git.djapps.eu Git - pkg/ggml/sources/llama.cpp/commitdiff
scripts : parse wtype in server-llm.sh (#5167)
authorGeorgi Gerganov <redacted>
Fri, 2 Feb 2024 12:23:40 +0000 (14:23 +0200)
committerGitHub <redacted>
Fri, 2 Feb 2024 12:23:40 +0000 (14:23 +0200)
* scripts : parse wtype in server-llm.sh

* scripts : fix check for wfile

scripts/server-llm.sh

index 7bf0929bb8ca1170309e5f1a5a56627dc2589627..0b83cdbbca821287318440712cbe6961fd9ac1de 100644 (file)
@@ -141,6 +141,28 @@ for wt in "${wtypes[@]}"; do
     wfiles+=("")
 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
 repos=(
     "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"
 done
 
+wfile="${wfiles[$wtype]}"
+
 # ask for weights type until provided and available
-while [[ -z "$wtype" ]]; do
+while [[ -z "$wfile" ]]; do
     printf "\n"
     read -p "[+] Select weight type: " wtype
     wfile="${wfiles[$wtype]}"