docker部署chat-web,实现自己的ChatGPT

article/2025/4/22 14:37:45

本篇文章的前提是请确认已获得openai 的API-KEYS,即以sk-开头的keys;是否在服务器上安装了docker以及docker-compose

docker以及docker-compose安装请参考我的博文:CENTOS8.0安装DOCKER&DOCKER-COMPOSE_wd520521的博客-CSDN博客

一、(方式一)docker部署chat-web,实现自己的ChatGPT

1、创建docker-compose.yml文件

(1)在服务器上创建一个目录:chatgpt_web

mkdir chatgpt_web && cd chatgpt_web

(2)创建docker-compose.yml文件

vim docker-compose.yml

(3)以下内容填写到yml配置文件中并保存

version: '3'
services:app:image: chenzhaoyu94/chatgpt-web:latestports:- 3002:3002environment:# api秘钥OPENAI_API_KEY: sk-xxx(修改为自己申请的秘钥)# 超时,单位毫秒,可选TIMEOUT_MS: 60000
保存: 按下Esc,然后输入  :wq  回车

注意:大家在编写yml文件时。要把注释删掉,否则有可能会报错。

2、部署并启动运行

docker-compose up -d

3、登录chatgpt_web页面

运行成功后直接访问(需要开放3002端口)

http://服务器ip:3002

 4、其他问题解决

(1)如果遇到 fetch failed,可以点上面的圈刷新

 如果刷新没有用的话,大家重启一下docker,然后重新启动服务

#重启docker
systemctl restart docker
#docker 启动服务docker start 容器id#查看容器IDdocker ps -a

5、配置反向代理 --可以不配置

nginx配置文件如下:

server
{listen 80;listen 443 ssl http2;listen [::]:443 ssl http2;listen [::]:80;server_name 你的域名;location / {proxy_pass http://127.0.0.1:3002/;   # 注意端口号}ssl_certificate    /www/m/fn.pem;ssl_certificate_key    /www/m/py.pem;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
}

二、docker部署Chuanhu ChatGPT

1、docker 拉取镜像

docker pull tuchuanhuhuhu/chuanhuchatgpt:latest

2、启动镜像

docker run -d --name chatgpt \-e my_api_key="替换成API" \-e USERNAME="替换成用户名" \-e PASSWORD="替换成密码" \-v ~/chatGPThistory:/app/history \-p 7860:7860 \tuchuanhuhuhu/chuanhuchatgpt:latest

注意:(1)USERNAME 和 PASSWORD 两行可省略。若省略则不会启用认证。

(2)个人建议,省略掉USERNAME 和 PASSWORD 两行为好。

3、查看运行状态

docker logs chatgpt

 这样就可以使用IP访问了,访问链接如下

http://IP:7860

4、配置反向代理

注意配置反向代理不是必须的。如果需要使用域名,则需要配置 Nginx 反向代理。

nginx配置文件如下:

server
{listen 80;listen 443 ssl http2;listen [::]:443 ssl http2;listen [::]:80;server_name 你的域名;#location部分是统一的必须一致location / {proxy_pass http://127.0.0.1:7860;   # 注意端口号proxy_redirect off;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 Upgrade $http_upgrade;		# Websocket配置proxy_set_header Connection $connection_upgrade;		#Websocket配置proxy_max_temp_file_size 0;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}#SSL部分的配置,大家可以自行配置ssl_certificate    /www/m/fn.pem;ssl_certificate_key    /www/m/py.pem;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
}
server
{listen 80;server_name 你的域名;#rewrite ^(.*)$ https://$host$1 permanent;#return 301 https://$server_name$request_uri;location / {proxy_pass http://127.0.0.1:7860;   # 注意端口号proxy_redirect off;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;		# Websocket配置proxy_set_header Connection $connection_upgrade;		#Websocket配置proxy_max_temp_file_size 0;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}}
server{	listen       443 ssl;listen       [::]:443 ssl;server_name  你的域名;ssl_certificate    /www/m/fn.pem;ssl_certificate_key    /www/m/py.pem;ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置ssl_prefer_server_ciphers on;if ($scheme = http) {return 301 https://$server_name$request_uri;}location / {proxy_pass http://127.0.0.1:7860;   # 注意端口号proxy_redirect off;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;		# Websocket配置proxy_set_header Connection $connection_upgrade;		#Websocket配置proxy_max_temp_file_size 0;client_max_body_size 10m;client_body_buffer_size 128k;proxy_connect_timeout 90;proxy_send_timeout 90;proxy_read_timeout 90;proxy_buffer_size 4k;proxy_buffers 4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;}}

这样就配置好nginx了,大家就可以使用自己的域名访问了。

注意(1)目前配置认证后,Nginx 必须配置 SSL,否则会出现 Cookie 不匹配问题。

(2)配置好nginx后,启动nginx报错

nginx: [emerg] unknown "connection_upgrade" variable nginx: configuratio

解决方案:修改nginx.conf配置文件,向http部分添加如下配置: (这一步是为了配置websocket连接)

map $http_upgrade $connection_upgrade {default upgrade;''      close;
}


http://chatgpt.dhexx.cn/article/0pC53kp7.shtml

相关文章

chatgpt源码部署教程

chatgpt是一个基于GPT-3模型的聊天机器人项目,它能够与用户进行自然语言交互,并提供各种实用的功能。然而,对于许多开发者来说,将chatgpt源码部署到自己的服务器上并不是一件容易的事情。在本篇文章中,我们将为大家提供…

史上最简单的自建ChatGPT部署方案,只需要一个HTML文件

今天发现一个史上最简单的自建ChatGPT部署方案,只需要一个HTML文件,把它配置到Nginx就能跑起来。 效果如下: 他能做什么用? 平常我们使用chatgpt需要配魔法上网才能登上官方网站,对于很多人来说这是个很棘手的问题&a…

部署了一个ChatGPT

部署了一个ChatGPT ChatGPT火爆了一段时间了,但是基于一些不可描述的原因,不能注册使用。为了方便大家体验,我部署了一个服务,能简单地体验一下ChatGPT的强大。话不多说,直接展示几个例子截图。文章最后放上体验地址和…

一键部署自己的ChatGPT!

昨晚咱们群友推荐了一个叫做ChatGPT-Next-Web项目,可以一键免费部署你的私人 ChatGPT 网页应用。 今早起来尝试了下,整体过程非常丝滑,觉得有必要推荐给大家。 项目整体是基于Vercel平台开发的,只要提供api key,即可在…

Chatgpt私有化部署(全流程)

前言 当下使用chatgpt来帮助完成工作已然成为主流,但想访问必须先面对地区的封锁,所以使用openai官方提供的API来部署至本地服务器从而更加便利的使用chatgpt。本文章主要介绍如何部署私有聊天机器人。 条件准备: 公网服务器一台&#xff0…

基于Docker如何快速部署自己的ChatGPT

背景 随着OpenAI在2022年底发布的LLM模型-ChatGPT展现出的强大效果,ChatGPT无疑成为了当下炙手可热的明星模型。 现有的基于GPT的开源项目已经非常多,本文以现有的高热度github开源项目chatgpt-web为例,教大家简单快速地搭建属于自己的Chat…

ChatGLM 本地部署搭建及测试运行

这篇简要说下清华开源项目 ChatGLM 本地部署的详细教程。清华开源项目 ChatGLM-6B 已发布开源版本,这一项目可以直接部署在本地计算机上做测试,无需联网即可体验与 AI 聊天的乐趣。 项目地址:GitHub - THUDM/ChatGLM-6B: ChatGLM-6B&#xf…

快速指南:10分钟部署个性化ChatGPT网站实践

在本指南中,我们将带领您快速部署一个属于自己的ChatGPT网站。这个网站将允许用户与您的AI模型进行交互。我们将使用Python语言编写后端代码,并通过Flask轻量级Web框架搭建网站。现在,让我们开始吧! 准备工作 首先,确…

【ChatGPT本地部署-- ChatGLM】

这里写自定义目录标题 ChatGPT本地部署--- ChatGLM(转载)一、什么是ChatGLM?二、本地部署三、模型与ChatGPT和GPT4AII 效果对比 ChatGPT本地部署— ChatGLM(转载) 目录 一、什么是ChatGLM? 二、本地部署 2.1 模型下载 2.2 模型部署 2.3 模型运行 …

ChatGPT一键私有部署,全网可用,让访问、问答不再受限,且安全稳定!

前言 ChatGPT由于在访问上有一些限制,使用并不便利。目前国内可以直接访问的大部分是调用API返回结果,我们去使用时总会有次数限制,而且它们可能随便崩掉。 其实,目前我们访问过的大部分国内的网页包括UI,其实是套用了…

详细的从零部署ChatGPT

chatgpt产品机遇: 1. chatgpt 所带来的机遇: 下一代 AI 搜索引擎,解决目前搜索引擎结果多样复杂、需要人工判断准确定的问题;替代低端劳动岗位、释放部分脑力活动、即将变革多个行业 ; 2. chatgpt 我分析将带来多个新的工作岗位机…

ChatGPT分销版多开4.3.5-新增 语音识别和绘画多个引擎-已测试

ChatGPT分销版多开v4.3.5-源码升级 后台系统配置-界面配置: 新增 首页是否弹出公众号关注二维码 注册/登录后否弹出公众号关注二维码 优化 拦截某个有漏洞的回答 优化 回调下载图片的问题 版本号:4.3.1 - 默认 优化 分销商入驻流程 ChatGPT分销版多开v4.2.…

科普前沿知识

本文没有任何违规内容,全是科普AI的,麻烦官方通过下。 目录 1. ChatGPT是什么 2. ChatGPT的发展历程 3. ChatGPT对程序员的影响 4. ChatGPT对普通人的影响 5. ChatGPT的不足之处 本文带大家去了解AI的发展! 1. ChatGPT是什么 ChatGPT是…

国产版ChatGPT大盘点

我们看到,最近,国内大厂开始密集发布类ChatGPT产品。 一方面,是因为这是最近10年最大的趋势和机会。 另一方面,国内的AI,不能别国外卡了脖子。 那在类ChatGPT赛道上,哪些中国版的ChatGPT能快速顶上?都各有哪些困境需要突破呢?本文给诸位带来各个玩家的最新进展。 *…

ChatGPT API调用+服务器部署【附Git地址】

文章目录 一、关键代码二、使用步骤1.获取代码2.服务器部署 总结 运行对话效果图 一、关键代码 public class Main {public static final String URL "https://api.openai.com/v1/chat/completions";// 你的 API KEYpublic static final String APT_KEY "sk…

省去麻烦的环境配置,一分钟来试试 chatgpt API 代码⚡

项目地址:https://github.com/wjsvec/try_chatgpt_API_in_one_minute try chatgpt API in one minute⚡ 这个项目用来做什么😊 由于一些特殊的网络原因,在试用 chatgpt 的 API 的时候总是遇到奇奇怪怪的问题😫,有时…

ChatGPT API的使用(一)

OpenAI除了提供ChatGPT聊天功能外,还提供了功能强大的图片生成与编辑功能,以及代码注释、语音转换功能,而这些功能需要通过API进行访问。 首先需要生成您的帐户独有的 API 密钥。访问此页面并创建一个新的密钥。 在这里需要点击复制&#xf…

如何实现基于ChatGPT API的C#接入?

今年开年,最火的莫过于ChatGPT的相关讨论,这个提供了非常强大的AI处理,并且整个平台也提供了很多对应的API进行接入的处理,使得我们可以在各种程序上无缝接入AI的后端处理,从而实现智能AI的各种应用。ChatGPT的API可以…

Chatgpt api 多轮对话功能实现

不废话,上代码 import requests import jsonurl "https://api.openai.com/v1/completions"payload json.dumps({"model": "text-davinci-003","prompt": "日照香炉生紫烟,遥看瀑布挂前川,飞…

利用Cloudflare搭建ChatGPT API 代理服务器 傻瓜教程

✈ChatGPT的API接口为 https://api.openai.com 但是很多小伙伴不是国家区域不对,就试没有一个好的代理,经常chatgpt出现无法聊天的情况,那么自己搭建一个代理服务器那不是很香?还是免费的,直接整起来!图文教…