前言
之前找几家第三方提供openai的api和key的中转网址,发现针对dall-e-2或dall-e-3这两个图像模型部分函数不支持无法满足业务需求、其次由于一些众所周知的原因国内是无法直接访问,所以想部署一台国外服务器通过代理来访问openai的方式实现,结果找到跟简洁的方式可以通过云函数的方法来实现代理。
最终相关业务通用以下流程:
搭建步骤:
1、采购资源:
新用户会赠送3个月的试用,我很早就浪费掉了,所以采取下面的方式采购资源。
(1)购买腾讯云的云函数服务(阿里云函数同理),官方提供的资源有两种,一种是包月模式购买相关套餐:

(2)购买腾讯云的资源包(我购买是这种,使用量不大,毕竟个人一年40块费用对比包月会更加划算)

(3)还有一种是先用后付直接扣余额,下面链接是腾讯云官方的计费方式 云函数 计费概述-购买指南-文档中心-腾讯云 (tencent.com)

2、搭建函数
进入云函数控制台,点击【函数服务】,再点击【新建】函数。

进入之后依次点击【从头开始】、函数类型【web函数】、地域最好选择美国,我这里选择曼谷,运行环境选择【node16.13】

往下滑,打开【高级配置】的环境配置模块,将内存修改为最小【64MB】(主要是内存越大越浪费资源),将执行超时时间修改为最大值【7200】秒,这是应为openai在国外他有时候响应比较慢.

配置并发,openai提供接口默认2并发,看自己需求,我这边没有开启
最后一步上传函数代码,我这里放一个github上一个大佬的包openai-proxy.zip下载下来,上传到【函数代码】模块即可。
上传后,同意协议,点击【完成】函数即创建完成。

3、启动函数
点击完成后等待一段时间,默认进入函数管理界面选择【函数代码】,往下滑找到访问路径。


这个时候的url就是代理后的访问地址(注意:需要把"/release/"这个后缀取代,才是真正的代理地址)
验证测试
例如将api.openai.com/v1/images/e... 这个接口替换为:https://代理地址/v1/images/edits

然后发起请求,发现报错402,查看腾讯云函数官方文档,发现服务处于【冻结】状态未启动

返回云函数列表点击【恢复】启动该函数,再次调用则接口调通了


参考资料:
openai-api-proxy/README.CN.md at master · easychen/openai-api-proxy · GitHub
[GitHub - Ice-Hazymoon/openai-scf-proxy: 使用腾讯云函数一分钟搭建 OpenAI 免翻墙代理] (github.com/Ice-Hazymoo...)