Upload 2025-03-09/test.sh with huggingface_hub
Browse files- 2025-03-09/test.sh +61 -0
2025-03-09/test.sh
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
echo "Hello Chenghao!"
|
| 2 |
+
|
| 3 |
+
# 设置 Hugging Face 环境
|
| 4 |
+
setup_huggingface() {
|
| 5 |
+
pip install -U "huggingface_hub[cli]"
|
| 6 |
+
# 确保 HF_TOKEN 已经设置为环境变量
|
| 7 |
+
if [ -z "$HF_TOKEN" ]; then
|
| 8 |
+
echo "错误:HF_TOKEN 环境变量未设置。请在运行此脚本之前设置它。"
|
| 9 |
+
return 1
|
| 10 |
+
fi
|
| 11 |
+
|
| 12 |
+
huggingface-cli login --token "$HF_TOKEN" --add-to-git-credential
|
| 13 |
+
|
| 14 |
+
# 验证是否包含 megatrump
|
| 15 |
+
WHOAMI_OUTPUT=$(huggingface-cli whoami)
|
| 16 |
+
if [[ "$WHOAMI_OUTPUT" == *"megatrump"* ]]; then
|
| 17 |
+
echo "成功验证用户 megatrump。"
|
| 18 |
+
else
|
| 19 |
+
echo "错误:whoami 输出不包含用户 megatrump。请检查您的 HF_TOKEN。"
|
| 20 |
+
echo "whoami 输出: $WHOAMI_OUTPUT" # 调试信息
|
| 21 |
+
return 1 # 指示失败
|
| 22 |
+
fi
|
| 23 |
+
|
| 24 |
+
return 0 # 指示成功
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
# 上传文件到 Hugging Face Hub
|
| 28 |
+
hf_upload() {
|
| 29 |
+
local local_path="$1" # 要上传的本地目录或文件
|
| 30 |
+
local repo_id="megatrump/github"
|
| 31 |
+
local date_dir=$(date +%Y-%m-%d)
|
| 32 |
+
|
| 33 |
+
if [ -z "$local_path" ]; then
|
| 34 |
+
echo "错误:未提供要上传的本地路径。"
|
| 35 |
+
return 1
|
| 36 |
+
fi
|
| 37 |
+
|
| 38 |
+
# 确保本地路径存在
|
| 39 |
+
if [ ! -e "$local_path" ]; then
|
| 40 |
+
echo "错误:本地路径 '$local_path' 不存在。"
|
| 41 |
+
return 1
|
| 42 |
+
fi
|
| 43 |
+
|
| 44 |
+
# 提取文件名或目录名
|
| 45 |
+
local filename=$(basename "$local_path")
|
| 46 |
+
local path_in_repo="$date_dir/$filename" # 仓库中的上传路径是:日期/文件名
|
| 47 |
+
|
| 48 |
+
echo "正在上传 '$local_path' 到 '$repo_id/$path_in_repo'..."
|
| 49 |
+
huggingface-cli upload "$repo_id" "$local_path" "$path_in_repo"
|
| 50 |
+
|
| 51 |
+
if [ $? -eq 0 ]; then
|
| 52 |
+
echo "成功上传到 https://huggingface.co/$repo_id/tree/main/$path_in_repo"
|
| 53 |
+
return 0 # 指示成功
|
| 54 |
+
else
|
| 55 |
+
echo "错误:上传失败。请检查上面的错误信息。"
|
| 56 |
+
return 1 # 指示失败
|
| 57 |
+
fi
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
# 执行初始化
|
| 61 |
+
setup_huggingface
|