summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Bevenius <daniel.bevenius@gmail.com>2024-04-11 15:22:47 +0200
committerGitHub <noreply@github.com>2024-04-11 16:22:47 +0300
commitf4183afe6a22f356ee222a710686ae7f83dbd949 (patch)
tree3d9834a98f6a16558ab6790aff15f7fb6c491277
parentb804b1ef77351d2a11be945462c6c251710476cb (diff)
scripts : add --outdir option to hf.sh (#6600)
* scripts : add --outdir option to hf.sh This commit adds an option to the hf.sh script that allows the user to specify an output directory for the downloaded file. The motivation for this changes is that examples that use the hf.sh script to download models from huggingface can now specify the output directory, perhaps to the `models` directory to keep them in one place and not clutter the root directory. Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com> * squash! scripts : add --outdir option to hf.sh Fix format of the --outdir option in the usage message. Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com> --------- Signed-off-by: Daniel Bevenius <daniel.bevenius@gmail.com>
-rwxr-xr-xscripts/hf.sh21
1 files changed, 13 insertions, 8 deletions
diff --git a/scripts/hf.sh b/scripts/hf.sh
index 1e9e5a6e..58f83d6f 100755
--- a/scripts/hf.sh
+++ b/scripts/hf.sh
@@ -3,9 +3,9 @@
# Shortcut for downloading HF models
#
# Usage:
-# ./main -m $(./examples/hf.sh https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/resolve/main/mixtral-8x7b-v0.1.Q4_K_M.gguf)
-# ./main -m $(./examples/hf.sh --url https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q4_K_M.gguf)
-# ./main -m $(./examples/hf.sh --repo TheBloke/Mixtral-8x7B-v0.1-GGUF --file mixtral-8x7b-v0.1.Q4_K_M.gguf)
+# ./main -m $(./scripts/hf.sh https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/resolve/main/mixtral-8x7b-v0.1.Q4_K_M.gguf)
+# ./main -m $(./scripts/hf.sh --url https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF/blob/main/mixtral-8x7b-v0.1.Q4_K_M.gguf)
+# ./main -m $(./scripts/hf.sh --repo TheBloke/Mixtral-8x7B-v0.1-GGUF --file mixtral-8x7b-v0.1.Q4_K_M.gguf)
#
# all logs go to stderr
@@ -14,7 +14,7 @@ function log {
}
function usage {
- log "Usage: $0 [[--url] <url>] [--repo <repo>] [--file <file>] [-h|--help]"
+ log "Usage: $0 [[--url] <url>] [--repo <repo>] [--file <file>] [--outdir <dir> [-h|--help]"
exit 1
}
@@ -26,9 +26,9 @@ function has_cmd {
}
if has_cmd wget; then
- cmd="wget -q --show-progress -c -O %s %s"
+ cmd="wget -q --show-progress -c -O %s/%s %s"
elif has_cmd curl; then
- cmd="curl -C - -f -o %s -L %s"
+ cmd="curl -C - -f --output-dir %s -o %s -L %s"
else
log "[E] curl or wget not found"
exit 1
@@ -37,6 +37,7 @@ fi
url=""
repo=""
file=""
+outdir="."
# parse args
while [[ $# -gt 0 ]]; do
@@ -53,6 +54,10 @@ while [[ $# -gt 0 ]]; do
file="$2"
shift 2
;;
+ --outdir)
+ outdir="$2"
+ shift 2
+ ;;
-h|--help)
usage
;;
@@ -94,10 +99,10 @@ basename=$(basename $url)
log "[+] attempting to download $basename"
if [ -n "$cmd" ]; then
- cmd=$(printf "$cmd" "$basename" "$url")
+ cmd=$(printf "$cmd" "$outdir" "$basename" "$url")
log "[+] $cmd"
if $cmd; then
- echo $basename
+ echo $outdir/$basename
exit 0
fi
fi