杂记 | 使用阿里云函数计算服务代理OpenAI的API接口

文章目录

  • 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 准备工作

注册阿里云账号,开通函数计算服务。
获取AccessKeyIdAccessKeySecret,在控制台右上角获取,或者通过下方链接获取:
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 阿里云控制台

在阿里云控制台中查看:

杂记 | 使用阿里云函数计算服务代理OpenAI的API接口_第1张图片
点进去后,找到函数管理
杂记 | 使用阿里云函数计算服务代理OpenAI的API接口_第2张图片
在触发器管理那里,找到域名,如下图:
其中的域名①是自动生成的,可以用浏览器访问。
杂记 | 使用阿里云函数计算服务代理OpenAI的API接口_第3张图片
访问域名①效果如图:
杂记 | 使用阿里云函数计算服务代理OpenAI的API接口_第4张图片
域名②是阿里云官方的,不能通过浏览器直接访问,可以作为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

  • 帮助文档

  • 代理服务的仓库

  • 项目仓库

你可能感兴趣的:(杂记,阿里云,云计算)