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

文章目录

  • [01 准备工作](#01 准备工作)
    • [1.1 需求](#1.1 需求)
    • [1.2 准备工作](#1.2 准备工作)
  • [02 操作步骤](#02 操作步骤)
    • [2.1 Linux端](#2.1 Linux端)
    • [2.2 阿里云控制台](#2.2 阿里云控制台)
  • [03 参考链接](#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服务器上进行:

bash 复制代码
# 安装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 参考链接

相关推荐
AKAMAI4 小时前
利用DataStream和TrafficPeak实现大数据可观察性
人工智能·云原生·云计算
Johny_Zhao5 小时前
CentOS Stream 9上部署FTP应用服务的两种方法(传统安装和docker-compose)
linux·网络安全·信息安全·kubernetes·云计算·containerd·ftp·yum源·系统运维
MetaverseMan6 小时前
GitHub Actions打包容器,推送 AWS ECR 并使 EKS 自动拉取以完成发版部署
云计算·aws
运维成长记12 小时前
关于linux运维 出现高频的模块认知
运维·职场和发展·云计算
奋进的孤狼18 小时前
【Spring AI】阿里云DashScope灵积模型
人工智能·spring·阿里云·ai·云计算
Hermann20 小时前
云原生系统健壮性浅谈
架构·云计算
数据与人工智能律师1 天前
数字迷雾中的安全锚点:解码匿名化与假名化的法律边界与商业价值
大数据·网络·人工智能·云计算·区块链
吳所畏惧1 天前
NVM踩坑实录:配置了npm的阿里云cdn之后,下载nodejs老版本(如:12.18.4)时,报404异常,下载失败的问题解决
前端·windows·阿里云·npm·node.js·batch命令
Johny_Zhao2 天前
Centos8搭建hadoop高可用集群
linux·hadoop·python·网络安全·信息安全·云计算·shell·yum源·系统运维·itsm
_可乐无糖2 天前
AWS WebRTC:我们的业务模式
云计算·音视频·webrtc·aws