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



    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38

    到此,就部署完成了,本地的openai-proxy也可以删除,因为代码都在阿里云上作为函数执行了。

    2.2 阿里云控制台

    在阿里云控制台中查看:

    在这里插入图片描述
    点进去后,找到函数管理
    在这里插入图片描述
    在触发器管理那里,找到域名,如下图:
    其中的域名①是自动生成的,可以用浏览器访问。
    在这里插入图片描述
    访问域名①效果如图:
    在这里插入图片描述
    域名②是阿里云官方的,不能通过浏览器直接访问,可以作为API接口域名使用。

    假设域名②为https://xxx.run

    调用OpenAI的端口为:https://api.openai.com/v1
    替换为https://xxx.run/v1就可以了。

    03 参考链接

  • 相关阅读:
    编辑距离算法
    第四十八章 Security
    C++智能指针与类型转换
    动态改变列数做分页
    PE结构学习(3)_RVA转换成FOA
    记一次生产中使用CompletableFuture遇到的坑
    python到底是强类型语言还是弱类型语言
    【React】 第十三部分 Hooks
    Linux内核基础 - list_splice_tail_init函数详解
    基于自适应扰动的疯狂蝴蝶算法-附代码
  • 原文地址:https://blog.csdn.net/xuzhongyi103/article/details/134272331