freegpt35
1.0.0
无限制免费 GPT-3.5 Turbo API 服务。
关于作者 »
特性 · 示例 · 参考 · 许可证
mkdir freegpt35 && cd freegpt35
curl -O https://raw.githubusercontent.com/hominsu/freegpt35/main/deploy/docker-compose.yml
然后根据需要添加环境,有关更多详细信息,请查看以下自定义部分。
docker compose up -d
部署后,使用以下命令确认一切正常。
curl -X POST " http://localhost:3000/v1/chat/completions "
-H " Authorization: Bearer anything_or_your_key "
-H " Content-Type: application/json "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello"}],
} '
{ "id" : " chatcmpl-********* " , "created" : 9999999999 , "model" : " gpt-3.5-turbo " , "object" : " chat.completion " , "choices" :[{ "finish_reason" : " stop " , "index" : 0 , "message" :{ "content" : " Hi there! How can I assist you today? " , "role" : " assistant " }}], "usage" :{ "prompt_tokens" : 1 , "completion_tokens" : 10 , "total_tokens" : 11 }}
这里有一个 Nginx conf 模板,你可以参考。有关 NGINX Docker 设置的更多信息可以查看这篇文章:优雅地在 Docker 中使用 NGINX
upstream freegpt35 {
server 127.0.0.1:3000
}
server {
listen 80 ;
listen [::]:80;
server_name your.domain.name;
return 301 https:// $server_name$request_uri ;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name your.domain.name;
ssl_certificate /etc/nginx/ssl/your.domain.name/full.pem;
ssl_certificate_key /etc/nginx/ssl/your.domain.name/key.pem;
ssl_session_timeout 5m ;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers TLS13_AES_128_GCM_SHA256:TLS13_AES_256_GCM_SHA384:TLS13_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305;
ssl_prefer_server_ciphers on ;
location /v1/chat/completions {
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 X-Forwarded-Proto "https" ;
proxy_pass http://freegpt35;
proxy_buffering off ;
proxy_cache off ;
send_timeout 600 ;
proxy_connect_timeout 600 ;
proxy_send_timeout 600 ;
proxy_read_timeout 600 ;
chunked_transfer_encoding on ;
}
error_page 500 502 503 504 /50x.html;
}
如果您订阅了 Vercel,则可以尝试此部署方法,否则不要浪费时间,因为使用Hobby
计划,您的无服务器 API 路由只能处理 5 秒,并且该路由会响应FUNCTION_INVOCATION_TIMEOUT
错误。
部署完成后,可以再次使用curl进行测试
curl -X POST " https://freegpt35.vercel.app/v1/chat/completions "
-H " Authorization: Bearer anything_or_your_key "
-H " Content-Type: application/json "
-d ' {
"model": "gpt-3.5-turbo",
"messages": [{"role": "user", "content": "Hello"}]
} '
{ "id" : " chatcmpl-********** " , "created" : 9999999999 , "model" : " gpt-3.5-turbo " , "object" : " chat.completion " , "choices" :[{ "finish_reason" : " stop " , "index" : 0 , "message" :{ "content" : " Hey there! How's it going? " , "role" : " assistant " }}], "usage" :{ "prompt_tokens" : 1 , "completion_tokens" : 8 , "total_tokens" : 9 }}
您还可以针对某些特定情况定义环境变量。
环境变量 | 描述 |
---|---|
NEXT_BASE_URL | ChatGPT 的基本 URL,如果您使用镜像站点,请修改它 |
NEXT_API_URL | 不要修改它,除非你真的知道你在做什么 |
NEXT_API_KEY | API密钥用于访问API的身份验证。 |
NEXT_MAX_RETRIES | API 请求失败时的最大重试次数。 |
NEXT_USER_AGENT | 从服务器发送的请求标头中使用的用户代理字符串。 |
NEXT_PROXY | 启用 http(s) 代理,例如http://127.0.0.1:7890 。如果需要多个代理,请用 分隔每个代理, 例如https://user:password@proxy-1:10000,https://user:password@proxy-2:10001 |
根据 AGPL 3.0 许可证分发。请参阅LICENSE
了解更多信息。