ChatGLM-6B 本地API调用
问题
我们发现我们确实可以在本地运行并且调用了,但是!但是!!!我的本地是在服务器上,因此我们只能在服务器上调用,这该怎么办呢,发现阿里云有很多可以全局访问的形式:
为了满足更灵活的SSH使用需求,DSW提供了两种SSH连接方案:直连方式和ProxyClient方式。我们通过综合的对两种连接方式的资源依赖、使用方式和使用限制等因素的考虑,选择适合符合我们需求的连接方式。在这里我们使用DSW中的ProxyClient。通过在本地配置客户端代理工具ProxyClient,使用SSH协议远程连接DSW实例。
一.ProxyClient方式准备
如果我们希望通过本地工具远程连接DSW实例进行我们的模型开发与训练,因此使用DSW提供的ProxyClient客户端代理工具。该工具允许我们通过SSH远程连接DSW实例,实现本地与DSW实例的连接。
1.前提准备
在开始执行操作前,请确认已完成以下准备工作。
其中,<username>需要替换为实际的目录。
- 已创建DSW实例,具体操作,请参见创建DSW实例。
- 已获取阿里云账户的AccessKey ID和AccessKey Secret,具体操作,请参见创建AccessKey
- 如果您使用RAM用户或RAM角色通过SSH远程连接DSW实例,请为RAM用户或RAM角色授予访问DSW实例的操作权限,详情请参见云产品依赖与授权:DSW。
- 编辑
- 二.DSW ProxyClient下载和安装
- 1.下载DSW ProxyClient客户端工具,并保存到当前用户主目录下。
不同的操作系统,需要保存的目录如下:
- Windows操作系统:保存在用户个人文件夹目录,例如C:\Users\<username>目录或C:\用户\<username>目录。请根据您的实际路径进行选择。
- Linux操作系统:root用户保存在/root目录;普通用户保存在 /home/<username>目录。
2.在命令行中,将下载的客户端文件修改为可执行文件。
chmod 755 <proxyclient>
其中<proxyclient>表示下载的客户端文件名,根据实际情况进行修改。
3.生成配置文件。
根据提示设置配置文件路径。
请输入配置文件名,文件名可以带路径。
三.配置SSH认证方式
我们选择使用SSH密钥对或账号密码的认证方式连接DSW实例。认证方式配置完成后,单击DSW实例操作列下的保存镜像,将实例保存为镜像,添加的公钥或密码会持久化到实例镜像中,实例重新启动后仍有效。
1.配置实例免密登录
- 生成密钥对。
- 在本地命令行中,运行以下命令,生成免密登录所需的公钥和私钥文件,默认创建的密钥类型为RSA。
ssh-keygen
-
- 配置密钥对保存的文件。
(推荐)不指定文件名,直接按回车键(Enter)。默认生成的密钥对文件为~/.ssh/id_rsa
(私钥)和~/.ssh/id_rsa.pub
(公钥)
-
- 根据提示信息设置passphrase,并将其保存到本地。后续会使用该密码来远程连接DSW实例
- 进入DSW开发环境。
- 登录PAI控制台。
- 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
- 在页面左上方,选择使用服务的地域。
- 在左侧导航栏,选择模型开发与训练 > 交互式建模(DSW)。
- 可选:在交互式建模(DSW)页面的搜索框,输入实例名称或关键字,搜索实例。
- 单击需要打开的实例操作列下的打开。
- 在DSW的Terminal中,执行如下命令,setup_ssh.sh工具会自动帮您下载安装SSH Server。
wget https://dsw-resource.oss-cn-beijing.aliyuncs.com/tools/setup_ssh.sh
bash setup_ssh.sh
跟据提示配置SSH公钥,启动SSH Server。
四.添加DSW实例代理
- 进入DSW页面,具体操作,请参见创建DSW实例。(我们已经有了喔)
- 按照下图操作指引,查看并复制DSW实例ID。
编辑
- 在本地命令行中,运行以下命令,添加一个DSW实例作为SSH Target Host。
其中<实例ID>需要替换为步骤2中查询的实例ID。
# Mac,Linux:
./proxyclient add -i=<实例ID>
# Windows:
proxyclient.exe add -i=<实例ID>
- 查看.ssh/config文件内容,确认代理设置已生效。
# Mac、Linux。
cat .ssh/config
# Windows。在本地命令行中,进入用户主目录,使用以下命令查看config文件内容。您也可以直接双击打开config文件。
explorer .ssh\config
完成