Vercel部署FreeGPT35有严重限制,玩玩就好,真用还是得docker。
限制原因: Vercel的流式响应并不是一开始写流,客户端就能立刻收到响应流,而是先写到一个缓冲区,当流关闭才一股脑的流式响应回来(不是实时流)
因此导致: 超过10s之后才要关闭的流,通通接收不到。(因为Vercel免费版持续时间最大值10秒)
解决办法: 氪金!!! Vercel Pro 超时上限为300s,Pro用户部署完成后,到Vercel的
Setting
->Git
->Production Branch
填写为vercel-pro
然后Save
保存后部署该分支即可获得300s超时上限。
Docker来部署
可以使用以下任意镜像:
docker run -p 3040:3040 ghcr.io/missuo/freegpt35
docker run -p 3040:3040 missuo/freegpt35
启动之后可以在终端进行测试
curl http://127.0.0.1:3040/v1/chat/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer any_string_you_like" \
-d '{
"model": "gpt-3.5-turbo",
"messages": [
{
"role": "user",
"content": "Hello!"
}
],
"stream": true
}'
Docker Compose 部署
原作者提供了两种部署方式,一种仅提供GPT35服务,另外一个与ChatGPT-Next-Web一起部署。
-
仅GPT35服务
mkdir freegpt35 && cd freegpt35
wget -O compose.yaml https://raw.githubusercontent.com/missuo/FreeGPT35/main/compose.yaml
docker compose up -d
部署完成之后,访问http://[IP]:3040/v1/chat/completions
来使用API服务。
-
与ChatGPT-Next-Web一起部署
mkdir freegpt35 && cd freegpt35
wget -O compose.yaml https://raw.githubusercontent.com/missuo/FreeGPT35/main/compose_with_next_chat.yaml
docker compose up -d
部署完成之后,访问http://[IP]:3000
来访问ChatGPT-Next-Web的页面进行使用。
进入设置,选择OpenAI的模型服务商,接口地址填写你刚创建的 ip+ 3040,ApiKey随便填写一个,模型可以写-all,+gpt-3.5-turbo
。
新建对话进行测试
使用Nginx来负载均衡
在nginx中使用以下配置来进行负载均衡。
upstream freegpt35 {
server 1.1.1.1:3040;
server 2.2.2.2:3040;
}
location ^~ / {
proxy_pass http://freegpt35;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
add_header Cache-Control no-cache;
proxy_cache off;
proxy_buffering off;
chunked_transfer_encoding on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 300;
}
以上就是使用Docker部署FreeGPT35的方式,感兴趣的话可以尝试一下。在部署好 GPT35 服务之后,我们可以在任何应用程序中使用它,例如 OpenCat、Next-Chat、Lobe-Chat、Bob 等。可以随意使用任何字符串填写 API 密钥,例如 gptyyds
。
Bob中使用配置如下图:
不过最好还是建议使用官方的服务毕竟更加稳定,升级到GPT4.0服务,可以按照Plus升级教程升级。若还没有GPT账号,请移步获取GPT账号Pronton版或获取GPT账号Gmail版。
原文链接:使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API