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