如何在SentenceTransformers中设置代理?



我正在尝试发送代理地址到句子转换器,但无法找出正确的方法。

from sentence_transformers import SentenceTransformer
embedder = SentenceTransformer('paraphrase-distilroberta-base-v1')

通常,这部分将下载模型,但对于具有代理的系统,它不起作用。基于Huggingface Transformer配置,我发现我必须使用代理使用proxies (Dict[str, str], optional)-一个由协议或端点使用的代理服务器字典,例如{'http': 'foo.bar:3128', 'http://hostname': 'foo.bar:4012'}

假设我的代理是"http://myproxy.mydomain.com:1123"我如何使用代理?

最后,我找到了如何通过代理下载的方法。

  1. 使用Wget从链接下载您喜欢的模型。使用os.environ['http_proxy']https设置代理为python
  2. 将文件解压缩到以下位置:.cachetorchsentence_transformerssbert.net_models_
  3. 现在你的模型可以很好地与embedder = SentenceTransformer('paraphrase-distilroberta-base-v1')一起使用。

您可以尝试添加以下代码片段来通过代理:

os.environ['HTTP_PROXY'] = 'http://host_1:port_1'
os.environ['HTTPS_PROXY'] = 'https://host_2:port_2'
model = SentenceTransformer('nq-distilbert-base-v1')

最新更新