OpenDevin里面的embedding模型需要从huggingface下载,但是连不上,怎么办呢?
以前碰到连不上,就放弃了,所以很长时间没有用过huggingface。这回OpenDevin这个软件太牛了,激励着我把这个这个问题解决。
从网上搜索到的解决方案是,在代码里加上这两句:
import os
os.environ ['HF_ENDPOINT'] = 'https://hf-mirror.com'
试了一下,没有成功。其实后来是发现代码里面这个变量又被重新赋值了,应该在赋值之后写入。而且用的变量名也不对。
尝试了修改源码的方式:
通过报错信息,找到huggingface下载模型的的文件,比如
py311/lib/python3.11/site-packages/transformers/utils/hub.py,然后修改网址:
S3_BUCKET_PREFIX = "https://s3.amazonaws.com/models.huggingface.co/bert"
# CLOUDFRONT_DISTRIB_PREFIX = "https://cdn.huggingface.co"
CLOUDFRONT_DISTRIB_PREFIX = "https://hf-mirror.com"_staging_mode = os.environ.get("HUGGINGFACE_CO_STAGING", "NO").upper() in ENV_VARS_TRUE_VALUES
# _default_endpoint = "https://hub-ci.huggingface.co" if _staging_mode else "https://huggingface.co"
_default_endpoint = "https://hub-ci.huggingface.co" if _staging_mode else "https://hf-mirror.com"
感觉离胜利很近了,但是还没有成功,还是使用的原来的下载网址。不明白为什么加速网址的设置没有生效。
最后是使用了设置环境变量的方法,使用export环境变量,乌拉,成功拉!
export HF_ENDPOINT=https://hf-mirror.com
理论上只要设置这个环境变量,不需要再进去改源代码了。