github / 2025-03-09 /test.sh
megatrump's picture
Upload 2025-03-09/test.sh with huggingface_hub
1a8eb0c verified
echo "Hello Chenghao!"
# 设置 Hugging Face 环境
setup_huggingface() {
pip install -U "huggingface_hub[cli]" > /dev/null 2>&1
pip install -U "huggingface_hub[hf_transfer]" > /dev/null 2>&1
export HF_HUB_ENABLE_HF_TRANSFER=1
# 确保 HF_TOKEN 已经设置为环境变量
if [ -z "$HF_TOKEN" ]; then
echo "错误:HF_TOKEN 环境变量未设置。请在运行此脚本之前设置它。"
return 1
fi
huggingface-cli login --token "$HF_TOKEN" --add-to-git-credential > /dev/null 2>&1
# 验证是否包含 megatrump
WHOAMI_OUTPUT=$(huggingface-cli whoami)
if [[ "$WHOAMI_OUTPUT" == *"megatrump"* ]]; then
echo "成功验证用户 megatrump。"
else
echo "错误:whoami 输出不包含用户 megatrump。请检查您的 HF_TOKEN。"
echo "whoami 输出: $WHOAMI_OUTPUT" # 调试信息
return 1 # 指示失败
fi
return 0 # 指示成功
}
# 上传文件到 Hugging Face Hub
hf_upload() {
local local_path="$1" # 要上传的本地目录或文件
local repo_id="megatrump/github"
local date_dir=$(date +%Y-%m-%d)
if [ -z "$local_path" ]; then
echo "错误:未提供要上传的本地路径。"
return 1
fi
# 确保本地路径存在
if [ ! -e "$local_path" ]; then
echo "错误:本地路径 '$local_path' 不存在。"
return 1
fi
# 提取文件名或目录名
local filename=$(basename "$local_path")
local path_in_repo="$date_dir/$filename" # 仓库中的上传路径是:日期/文件名
echo "正在上传 '$local_path' 到 '$repo_id/$path_in_repo'..."
huggingface-cli upload "$repo_id" "$local_path" "$path_in_repo"
if [ $? -eq 0 ]; then
echo "成功上传到 https://huggingface.co/$repo_id/tree/main/$path_in_repo"
return 0 # 指示成功
else
echo "错误:上传失败。请检查上面的错误信息。"
return 1 # 指示失败
fi
}
# 执行初始化
setup_huggingface