安装SagerNet代理
部署代理
- 从代码仓库部署:
- 下载SagerNet源代码仓库:
git clone --recursive https://github.com/sager-groups/sagernet.git cd sagernet
- 在
sagernet/目录下编译和安装:mkdir build cd build cmake -DUSE_SAGER_ENV=production -DUSE_SAGER_LOG_LEVEL=CRITICAL make
- 将编译好的文件部署到云服务:
./sagernet/deploy --container-file sagernet/deployment/containers/deepgenerate-.2./deepgenerate镜像/ --container-name sagernet
- 下载SagerNet源代码仓库:
使用SageMaker Lambda部署
如果使用SageMaker Lambda部署,可以使用SageMaker的sagernet算法:
- 在SageMaker中,选择“机器学习” > “部署” > “SageMaker Lambda”。
- 上传SagerNet代码仓库和配置文件。
- 点击部署,选择“启动训练”。
- 点击“开始训练”,等待部署完成后。
配置环境变量
SagerNet代理依赖于Kubernetes的配置文件,因此需要设置以下环境变量:
-
NJOY_API_KEY:Kubernetes的NJOY_API_KEY。 -
NJOY_CLIENT_ID:Kubernetes的NJOY_CLIENT_ID。 -
Kubernetes的配置文件:需要将Kubernetes配置文件(如kubernetes.config或kubernetes.json)复制到代理目录,例如sagernet/。 -
SagerNet的配置文件:例如sagernet/deployment/containers/deepgenerate-.2./sagernet.py,需要包含以下内容:from sagernet import SagerNet class SagerNet(SageNet): def __init__(self): super(SagerNet, self).__init__() self.model = None self.config = { 'batch_size': 32, 'shuffle': True, 'num_epochs': 1, 'drop_out': 0.5, 'learning_rate': 0.1, 'hidden_dim': 256, 'n_classes': 1, 'output_path': 'sagernet-model', 'log_level': 'CRITICAL' }
启动代理
使用命令行命令
- 在Kubernetes容器环境中启动代理:
sagernet
- 如果需要调整代理的状态(暂停、恢复或停止),可以使用
sagernet/stop、sagernet/restore或sagernet/stop --cancel命令。
使用API调用
如果使用SageMaker Lambda,可以使用代理的API来调用模型:
- 在SageMaker中,访问代理:
https://localhost:8
- 调用代理:
POST /sagernet
- 输入特征向量:
[1., 0., 0., ...]。 - 返回预测结果。
- 输入特征向量:
管理代理状态
- 停止代理:
sagernet/stop
- 恢复代理:
sagernet/restore
- 暂停代理:
sagernet/stop --cancel
**配置Kubernetes环境
确保Kubernetes的配置文件(kubernetes.config或kubernetes.json)包含以下内容:
NJOY_API_KEY:代理使用的Kubernetes API密钥。NJOY_CLIENT_ID:Kubernetes的客户端ID。Kubernetes服务:配置服务名称、主题、资源池等。









