使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API

news2024/11/26 4:48:32

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一起部署。

  1. 仅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服务。

  1. 与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的页面进行使用。

image-20240410140129378

进入设置,选择OpenAI的模型服务商,接口地址填写你刚创建的 ip+ 3040,ApiKey随便填写一个,模型可以写-all,+gpt-3.5-turbo

image-20240410140238658

新建对话进行测试

image-20240410140354195

使用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中使用配置如下图:

bob

不过最好还是建议使用官方的服务毕竟更加稳定,升级到GPT4.0服务,可以按照Plus升级教程升级。若还没有GPT账号,请移步获取GPT账号Pronton版或获取GPT账号Gmail版。

原文链接:使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录Day31:贪心算法Part1

贪心算法的理论基础 主要的思路就是通过想局部最优解然后看能不能推导出全局最优,但是贪心算法没有统一的套路,每一个问题的贪心思路都可以非常不一样 Leetcode 455. 分发饼干 讲解前: 这时第一道贪心算法的题目,所以很简单&am…

Open CASCADE学习|放样建模

在CAD软件中,Loft(放样)功能则是用于创建三维实体或曲面的重要工具。通过选取两个或多个横截面,并沿这些横截面进行放样,可以生成复杂的三维模型。在CAD放样功能的操作中,用户可以选择不同的选项来定制放样…

【新手指南】创建简单搜索引擎优化报告

搜索引擎优化(SEO)是一项长期投资,需要持续监控,以确保产生您所期望的结果。这就是生成搜索引擎优化报告的重要性所在–这份报告会告诉你哪些有效,哪些无效,哪些需要改进。 如果你从未创建过搜索引擎优化报…

C语言 文件函数

目录 1. 文件的打开和关闭 2. 文件的顺序读写 2.1 顺序读写函数介绍 2.2读文件(读文件只能读一次) 2.3写文件 3. 文件的随机读写 3.1 fseek 3.2 ftell 3.3 rewind 4.文件读取结束的判定 4.1 被错误使误的 feof 我对读写的理解:(从…

SpringBoot 集成H2数据库,启动执行sql, 中文乱码

目录 H2数据库介绍 SpringBoot版本:SpringBoot 2.1.12.RELEASE 快速集成H2,maven依赖 快速集成H2,数据源及关键参数配置 spring.datasource.schema参数(建表SQL脚本) spring.datasource.data参数(更新、…

【鹤城杯 2021】 CRYPTO刷题

easy_crypto 附件easy_crypto.txt,内容是社会核心主义观 公正公正公正诚信文明公正民主公正法治法治诚信民主自由敬业公正友善公正平等平等法治民主平等平等和谐敬业自由诚信平等和谐平等公正法治法治平等平等爱国和谐公正平等敬业公正敬业自由敬业平等自由法治和…

联想电脑VMware虚拟机VT开启虚拟化

以联想电脑为例。 关机重启, 有的电脑是按F2, 有的是按fnF2 进入BIOS,左右键,选择Configuration, 再上下键选择 Intel Virtual Technology 按回车键,再按上下键选择 Enable ,回车确认。 按fn…

【VScode】同时编辑多处

【VScode】同时编辑多处 1. 多光标自定义批量编辑2. 选择多个,同时操作(批量选中局部匹配项)3. 取消选择4. 在不移动光标的情况下滚动屏幕5. 批量选中全局匹配项6.重点6.1 通过上下键选择多行6.2 同时选中所有行的末尾6.3 选中多列另一种方式6.4 通过正则的方式配置…

dockerhub右键快速搜索脚本

Chrome 浏览器扩展的后台脚本,用于创建右键菜单项,并根据用户的操作在新的标签页中打开 Docker Hub 网站或者进行搜索。 // 创建右键菜单项,用于打开 Docker Hub 网站 chrome.contextMenus.create({id: search-home, // 菜单项的唯一标识符t…

移除元素Java实现

题意 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 额外空间 并 原地 修改数组。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元…

Netty实现udp服务器

1、TCP与UDP通信协议 网络传输层协议有两种,一种是TCP,另外一种是UDP。 TCP是一种面向连接的协议,提供可靠的数据传输。TCP通过三次握手建立连接,并通过确认和重传机制,保证数据的完整性和可靠性。TCP适用于对数据准…

红豆Cat 1开源|项目二: 从0-1设计一款MQTT版本DTU(支持GNSS)产品的软硬件全过程

MQTT版DTU(GNSS)项目概述 DTU 通常指的是数据传输单元,它是一种用于将现场设备的数据通过无线或有线方式传输到远程控制中心的设备。DTU 可以实现设备与控制中心之间的数据通信,以便实时监测和控制设备的运行状态。 产品定义描述…

SpringBoot内容协商快速入门Demo

1.什么内容协商 简单说就是服务提供方根据客户端所支持的格式来返回对应的报文,在 Spring 中,REST API 基本上都是以 json 格式进行返回,而如果需要一个接口即支持 json,又支持其他格式,开发和维护多套代码显然是不合理…

面对DDOS攻击,有哪些解决办法

随着互联网带宽的持续增长以及DDOS黑客技术的发展,DDOS拒绝服务攻击的实施变得愈发容易。商业竞争、打击报复、网络敲诈等多种因素,各行各业的用户都曾受到DDOS攻击的威胁。 一旦遭受到DDOS攻击,随之而来的就是业务宕机,用户无法…

C++ GDAL提取多时相遥感影像中像素随时间变化的数值数组

本文介绍基于C语言GDAL库,批量读取大量栅格遥感影像文件,并生成各像元数值的时间序列数组的方法。 首先,我们来明确一下本文所需实现的需求。现在有一个文件夹,其中包含了很多不同格式的文件,如下图所示。 其中&#x…

机器学习-08-关联规则和协同过滤

总结 本系列是机器学习课程的系列课程,主要介绍机器学习中关联规则和协同过滤。 参考 机器学习(三):Apriori算法(算法精讲) Apriori 算法 理论 重点 MovieLens:一个常用的电影推荐系统领域的数据集 2…

2024阿里云2核4G服务器优惠价格表_2核4G性能测评

阿里云2核4G服务器多少钱一年?2核4G服务器1个月费用多少?2核4G服务器30元3个月、85元一年,轻量应用服务器2核4G4M带宽165元一年,企业用户2核4G5M带宽199元一年。本文阿里云服务器网整理的2核4G参加活动的主机是ECS经济型e实例和u1…

6种xinput1_3.dll丢失的解决办法,并探讨xinput1_3.dll丢失的原因及其属性。

xinput1_3.dll扮演着Visual C运行时库中不可或缺的角色,众多电脑软件都需依赖它以确保正常运行。 当您启动软件时,若遇到xinput1_3.dll无法执行代码的提示,可能会导致软件无法如常启动或运行。本文将向您介绍6种解决方案,并探讨xi…

潍微科技-水务信息管理平台 ChangePwd SQL注入漏洞复现

0x01 产品简介 水务信息管理平台主要帮助水务企业实现水质状态监测、管网运行监控、水厂安全保障、用水实时监控以及排放有效监管,确保居民安全稳定用水、环境有效保护,全面提升水务管理效率。由山东潍微科技股份有限公司研发,近年来,公司全力拓展提升水务、水利信息化业务…