本文的主要思路是使用阿里云
的函数计算服务
来代理 OpenAI 的 API 地址,配合自己的域名即可在境内实现访问。
至于是不是永久免费,我不知道。但是每个人都有点免费额度,个人做技术探究应该是够用了。
前期准备
创建代理服务
1. 登录并开通函数计算服务
登录地址:https://fcnext.console.aliyun.com/overview
2. 通过模板创建Nginx应用
这是整个过程中最重要的一步!
首先在函数计算管理的应用面板,找到创建应用。
选择 通过模板创建应用
, 在搜索框输入 Nginx
,找到对应模板 立即创建
填写一些服务关键信息。 这里要注意一下几个点
- 选择
直接部署
- 区域选择可以访问OpenAI的区域,例如:日本、美国、新加坡等
- 函数名、角色等信息不要修改
3 Nginx配置修改
在
函数及服务
面板中,找到刚创建的服务,点击进入Nginx
选择函数代码,并进行编辑,仅修改
nginx.conf
即可, 代码全文如下:# nginx -c /code/nginx.conf -g 'daemon off;' events { worker_connections 1024; } http { server { error_log /dev/stderr; access_log /dev/stdout; gzip on; gzip_min_length 1k; gzip_comp_level 2; gzip_types text/html text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png image/svg+xml; gzip_vary on; gzip_disable "MSIE [1-6]\."; include /etc/nginx/mime.types; add_header Access-Control-Allow-Origin *; proxy_set_header Host api.openai.com; proxy_http_version 1.1; proxy_set_header Host $host; listen 9000; location ~* ^\/v1\/((engines\/.+\/)?(?:chat\/completions|completions|edits|moderations|answers|embeddings))$ { proxy_pass https://api.openai.com; proxy_set_header Connection ''; proxy_read_timeout 8m; proxy_ignore_headers Cache-Control; client_body_buffer_size 4m; proxy_ssl_server_name on; proxy_ssl_session_reuse off; } location /v1 { proxy_pass https://api.openai.com; proxy_ssl_server_name on; proxy_ssl_session_reuse off; } } }
- 别忘了
部署代码
4 域名绑定
由于阿里云提供的默认公网访问地址是不能进行函数服务的,我们需要配置自己的域名。
通过函数计算面板,找到域名管理页面,并进入添加自定义域名
注意以下标出的几个重要信息
- 域名输入后,先去解析
CNAME
,如果没有解析,最终是无法提交的。 这一步不会做,自己去搜索引擎学习 路由配置
- 路径如图使用
/*
- 服务名称: 即为刚才创建的服务
- 函数名: nginx
- 版本: LATEST
- 路径如图使用
强烈建议配置HTTPS
- 如果你已经有了,可以上传。
- 如果没有,直接使用免费的HTTPS申请教程: 点击学习
详细的配置文档:https://help.aliyun.com/zh/fc/user-guide/configure-a-custom-domain-name
其他操作
Nginx服务资源调整(非必须)
由于模板考虑到的是通用性,所以Nginx的资源申请的比较大。对于反向代理Open AI服务来说,就是大材小用、资源浪费了,我们还是能省则省。
- 从函数计算面板,找到
服务及函数
,找到Nginx服务,点击函数名进入 - 将Nginx调整为:
0.1核, 128MB
即可, 其他参数不要去修改 - 不要忘记保存
写在最后
之前我也是使用Cloudflare Worker 反代 Open AI的API,今天突然用不成了。此文仅抛砖引玉,用于个人技术研究。