文章目录
- 01 准备工作
- 1.1 需求
- 1.2 准备工作
- 02 操作步骤
- 2.1 Linux端
- 2.2 阿里云控制台
- 03 参考链接
01 准备工作
1.1 需求
OpenAI的官方接口的URL是https://api.openai.com
,然而国内无法直接访问,可以通过反向代理该链接的方式来实现,可如果单独购买一台海外服务器,除了成本较高外,网络质量也难以保证。
阿里云的函数计算服务正好能满足这一需求。
官网链接:https://www.aliyun.com/product/fc
1.2 准备工作
注册阿里云账号,开通函数计算服务。
获取AccessKeyId
和AccessKeySecret
,在控制台右上角获取,或者通过下方链接获取:
https://usercenter.console.aliyun.com/#/manage/ak
此外,需要一台linux服务器,也可以是本地的linux系统,用于部署Serverless Devs。
02 操作步骤
2.1 Linux端
以下操作在自己的Linux服务器上进行:
# 安装Serverless Devs
curl -o- -L http://cli.so/install.sh | bash
# 安装完成后会有一行提示,让设置环境变量,注意:以实际的提示为准
export PATH=$HOME/.s/node-v14.19.3-linux-x64/bin:$PATH # 不要复制这行 以实际提示的为准
# 查看是否安装成功
sudo s -v
# @serverless-devs/s: 2.0.83, linux-x64, node-v14.17.4
# 添加密钥信息
s config add
# 1. 云厂商选择 Alibaba Cloud (alibaba)
# 2. 填写刚才获取的AccessKeyId、AccessKeySecret
# 3. 为这一配置取别名,也可以直接回车,使用默认名称,例如取名为openai
# 安装openai-proxy代理包 类似docker镜像是第三方的
s init openai-proxy-ohyee
# 1. 该第三方包的仓库链接 https://registry.serverless-devs.com/details.html?name=openai-proxy-ohyee
# 2. 项目名称自命名 例如取名为openai-proxy
# 3. 地域选择us-west-1(美西海岸硅谷)
# 4. 认证配置文件选择上一步取别名的那个
# 5. 完成后,在/root目录下,会有openai-proxy文件夹,即这一步取的别名的目录
# 进入到该目录
cd /root/openai-proxy
# 再进入到该目录下的code目录
cd ./code
# 执行npm安装命令
npm i
# 返回上一层 即/root/openai-proxy目录
cd ..
# 执行部署命令 - 该命令会在阿里云控制台那边生成对应的服务
s deploy # 执行过程中可以选择本地配置或远程配置 我选择的远程 use remote
到此,就部署完成了,本地的openai-proxy也可以删除,因为代码都在阿里云上作为函数执行了。
2.2 阿里云控制台
在阿里云控制台中查看:
点进去后,找到函数管理
:
在触发器管理那里,找到域名,如下图:
其中的域名①是自动生成的,可以用浏览器访问。
访问域名①效果如图:
域名②是阿里云官方的,不能通过浏览器直接访问,可以作为API接口域名使用。
假设域名②为https://xxx.run
调用OpenAI的端口为:https://api.openai.com/v1
替换为https://xxx.run/v1
就可以了。
03 参考链接
-
通过阿里云函数计算解决ChatGPT API的调用问题
(该博文中的s init openai-proxy
已失效,替换为本文的s init openai-proxy-ohyee
) -
帮助文档
-
代理服务的仓库
-
项目仓库