convert-model.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #!/usr/bin/env bash
  2. set -e
  3. # Parse command line arguments
  4. MMPROJ=""
  5. while [[ $# -gt 0 ]]; do
  6. case $1 in
  7. --mmproj)
  8. MMPROJ="--mmproj"
  9. shift
  10. ;;
  11. *)
  12. shift
  13. ;;
  14. esac
  15. done
  16. MODEL_NAME="${MODEL_NAME:-$(basename "$MODEL_PATH")}"
  17. OUTPUT_DIR="${OUTPUT_DIR:-../../models}"
  18. TYPE="${OUTTYPE:-f16}"
  19. METADATA_OVERRIDE="${METADATA_OVERRIDE:-}"
  20. CONVERTED_MODEL="${OUTPUT_DIR}/${MODEL_NAME}.gguf"
  21. echo "Model path: ${MODEL_PATH}"
  22. echo "Model name: ${MODEL_NAME}"
  23. echo "Data type: ${TYPE}"
  24. echo "Converted model path:: ${CONVERTED_MODEL}"
  25. echo "Metadata override: ${METADATA_OVERRIDE}"
  26. CMD_ARGS=("python" "../../convert_hf_to_gguf.py" "--verbose")
  27. CMD_ARGS+=("${MODEL_PATH}")
  28. CMD_ARGS+=("--outfile" "${CONVERTED_MODEL}")
  29. CMD_ARGS+=("--outtype" "${TYPE}")
  30. [[ -n "$METADATA_OVERRIDE" ]] && CMD_ARGS+=("--metadata" "${METADATA_OVERRIDE}")
  31. [[ -n "$MMPROJ" ]] && CMD_ARGS+=("${MMPROJ}")
  32. "${CMD_ARGS[@]}"
  33. echo ""
  34. echo "The environment variable CONVERTED_MODEL can be set to this path using:"
  35. echo "export CONVERTED_MODEL=$(realpath ${CONVERTED_MODEL})"
  36. if [[ -n "$MMPROJ" ]]; then
  37. mmproj_file="${OUTPUT_DIR}/mmproj-$(basename "${CONVERTED_MODEL}")"
  38. echo "The mmproj model was created in $(realpath "$mmproj_file")"
  39. fi