优秀的编程知识分享平台

网站首页 > 技术文章 正文

开发实践:Python设置HTTP和HTTPS代理,下载Hugging Face模型

nanyue 2024-10-03 23:39:15 技术文章 17 ℃

在 Python 中,os.environ 是一个与当前环境变量相关的字典对象。我们可以使用它来读取或设置系统环境变量。



一、设置环境变量

os.environ['HTTP_PROXY'] 和 os.environ['HTTPS_PROXY'] 是两个常用的环境变量,通常用于指定网络代理。


1. os.environ['HTTP_PROXY']

这个环境变量定义了用于HTTP流量的代理服务器的地址。

当软件或应用程序需要通过HTTP发送请求,而机器/网络环境需要通过代理来访问外部世界时,这个变量就会被用到。

例如,如果设置 HTTP_PROXY 为 http://10.10.1.10:3128,那么所有的HTTP请求(不是HTTPS)应该路由到 10.10.1.10 端口 3128 的代理服务器。


2. os.environ['HTTPS_PROXY']

这个环境变量定义了用于HTTPS流量的代理服务器的地址。

当软件或应用程序需要通过HTTPS发送请求,而机器/网络环境需要通过代理来访问外部世界时,这个变量就会被用到。

例如,如果设置 HTTPS_PROXY 为 https://10.10.1.11:1080,那么所有的HTTPS请求应该路由到 10.10.1.11 端口 1080 的代理服务器。


很多现代的库和工具,如 Python 的 requests 库,会自动检测并尊重这些环境变量。这意味着,如果在运行一个程序,而这个程序使用了这样的库,那么只要你设置了 HTTP_PROXY 和/或 HTTPS_PROXY,这个程序的网络请求就会自动通过指定的代理服务器。


当使用这些变量时,还有一个重要的环境变量是 NO_PROXY,它定义了一个不应通过代理访问的地址或域名列表。这在某些场景中很有用,比如当某些内部网站或服务不需要或不能通过外部代理访问时。



二、开发示例

这段代码的目的是设置HTTP和HTTPS代理,并使用这些代理从 Hugging Face 的模型库中加载预训练的BERT模型。

import os
os.environ['HTTP_PROXY'] = 'http://127.0.0.1:8001'
os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:8001'

from transformers import BertModel
checkpoint = "bert-base-chinese"
#BertModel: 用于加载模型
model = BertModel.from_pretrained(checkpoint)


使用 BertModel.from_pretrained 方法,可以从Hugging Face的模型库中加载预训练的BERT模型。由于你之前设置了HTTP和HTTPS代理,这个加载过程会通过你指定的代理服务器。


#AI人工智能##PyTorch##记录我的2023#

最近发表
标签列表