本文是程序员转行学习AI大模型的踩坑记录分享。 当前阶段:还在学习知识点,由点及面,从 0 到 1 搭建 AI 大模型知识体系中。 系列更新,关注我,后续会持续记录分享转行经历~
设置镜像站
在项目代码中,打开终端,按照如下步骤,设置 HuggingFace 镜像站:
- 查看当前环境
echo $HF_ENDPOINT
如果,输出为空,则说明还没有设置镜像站。
- 设置 HuggingFace 镜像站
export HF_ENDPOINT=https://hf-mirror.com
使用 HF-Mirror 镜像站。
- 验证设置是否成功
echo $HF_ENDPOINT
如果输出:hf-mirror.com,则设置镜像站成功。
- 永久设置镜像站(可选)
如果希望每次打开终端,都自动使用镜像站,可以添加到 shell 配置文件中。
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc
source ~/.bashrc
同样,执行以下命令,验证是否成功。
echo $HF_ENDPOINT
- 测试镜像站是否生效
输入以下脚本命令,验证镜像站是否正常工作:
python -c "from huggingface_hub import hf_hub_download; print(hf_hub_download('Qwen/Qwen1.5-0.5B', 'config.json'))"
如果下载成功,则镜像站设置正确。
- 恢复官方源(如有需要)
如果想恢复到官方源,可以取消设置:
unset HF_ENDPOINT
或者删除配置文件中的设置:
# 对于 Bash
sed -i '/HF_ENDPOINT/d' ~/.bashrc
# 对于 Zsh
sed -i '/HF_ENDPOINT/d' ~/.zshrc
常用 huggingface 镜像站
| 镜像站 | 地址 |
|---|---|
| HF-Mirror | hf-mirror.com |
| ModelScope | modelscope.cn |
踩坑:镜像站设置成功,但代码仍去官网链接下载
我在项目中,按照上述步骤成功设置了HF-Mirror 镜像站,但是执行代码时,一直还是去官网下载,报错如下:
'[Errno 101] Network is unreachable' thrown while requesting HEAD https://huggingface.co/Qwen/Qwen1.5-0.5B/resolve/main/tokenizer_config.json
程序还是试图访问huggingface.io(官方源)。
后面发现,是因为我的项目还是缓存了旧的环境变量,因此没有生效。
解决方案:
- 清楚 HuggingFace 缓存
删除缓存目录:
rm -rf ~/.cache/huggingface/
然后,执行代码,就可以正常读取新环境变量。
- 在代码中显示设置 endpoint
在代码中,添加以下部分:
import os
# 设置Hugging Face镜像站(必须在导入库之前设置)
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
按照上述操场,可以正常去镜像站下载模型和数据了。