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 | |