tools.sh 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/bin/bash
  2. set -e
  3. # Read the first argument into a variable
  4. arg1="$1"
  5. # Shift the arguments to remove the first one
  6. shift
  7. if [[ "$arg1" == '--convert' || "$arg1" == '-c' ]]; then
  8. exec python3 ./convert_hf_to_gguf.py "$@"
  9. elif [[ "$arg1" == '--quantize' || "$arg1" == '-q' ]]; then
  10. exec ./llama-quantize "$@"
  11. elif [[ "$arg1" == '--run' || "$arg1" == '-r' ]]; then
  12. exec ./llama-cli "$@"
  13. elif [[ "$arg1" == '--all-in-one' || "$arg1" == '-a' ]]; then
  14. echo "Converting PTH to GGML..."
  15. for i in `ls $1/$2/ggml-model-f16.bin*`; do
  16. if [ -f "${i/f16/q4_0}" ]; then
  17. echo "Skip model quantization, it already exists: ${i/f16/q4_0}"
  18. else
  19. echo "Converting PTH to GGML: $i into ${i/f16/q4_0}..."
  20. exec ./llama-quantize "$i" "${i/f16/q4_0}" q4_0
  21. fi
  22. done
  23. elif [[ "$arg1" == '--server' || "$arg1" == '-s' ]]; then
  24. exec ./llama-server "$@"
  25. else
  26. echo "Unknown command: $arg1"
  27. echo "Available commands: "
  28. echo " --run (-r): Run a model previously converted into ggml"
  29. echo " ex: -m /models/7B/ggml-model-q4_0.bin -p \"Building a website can be done in 10 simple steps:\" -n 512"
  30. echo " --convert (-c): Convert a llama model into ggml"
  31. echo " ex: --outtype f16 \"/models/7B/\" "
  32. echo " --quantize (-q): Optimize with quantization process ggml"
  33. echo " ex: \"/models/7B/ggml-model-f16.bin\" \"/models/7B/ggml-model-q4_0.bin\" 2"
  34. echo " --all-in-one (-a): Execute --convert & --quantize"
  35. echo " ex: \"/models/\" 7B"
  36. echo " --server (-s): Run a model on the server"
  37. echo " ex: -m /models/7B/ggml-model-q4_0.bin -c 2048 -ngl 43 -mg 1 --port 8080"
  38. fi