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

news/2024/11/6 11:21:07/

背景

随着OpenAI在2022年底发布的LLM模型-ChatGPT展现出的强大效果,ChatGPT无疑成为了当下炙手可热的明星模型。

现有的基于GPT的开源项目已经非常多,本文以现有的高热度github开源项目chatgpt-web为例,教大家简单快速地搭建属于自己的ChatGPT。

ChatGPT-Web

chatgpt-web项目中的部署教程已经非常完整,本文不再过多解释。

仅以Docker部署为例

前置条件

  • 本地或者服务器应该具有Docker环境
  • 具有ChatGPT帐号

以token模式为例,请求chatgpt web版本,免费但稍微具有延迟

Step1. 找到你帐号的token

点击https://chat.openai.com/api/auth/session,获取你帐号的token,并记录他

Step2. 运行docker

按需配置访问Web页面的密码,Token、超时等信息

docker run --name chatgpt-web -d -p 127.0.0.1:3888:3002 --env OPENAI_ACCESS_TOKEN=your_access_token --env AUTH_SECRET_KEY=you_secret_key chenzhaoyu94/chatgpt-web

Step3. 访问localhost:3002查看效果
在这里插入图片描述
在上述步骤中我们无需进行任何代理,就可以直接与GPT交流,使用API方式同理。当然了,根据项目作者的介绍,使用API时需要进行代理自建

如果你只是在本地部署给自己使用,那么以上3步就满足了需求,如果想要在公网访问,或者像App一样访问你的ChatGPT,那么请接着往下看。

Nginx反向代理

以宝塔面板为例,我们在服务器上拉起docker镜像后,可以通过ip:port进行访问

但通常来说我们的网站带有域名,以笔者所使用的腾讯云服务器为例

前置条件

  • 拥有一个域名
  • 拥有一台云服务器

Step1. SSL证书

首先在云产品中找到SSL证书,点击我的证书-免费证书-申请免费证书

在这里插入图片描述

填写申请的域名,申请成功之后,点击下载,下载nginx格式的即可

Step2. 配置域名SSL

在宝塔面板中选择-网站-添加站点

填写刚刚申请SSL证书的域名,选择纯静态,其余默认,点击确定即可

在这里插入图片描述

Step3. 配置证书

点击添加好的网站,然后点击SSL,填入刚刚下载的文件中的keypem
在这里插入图片描述

配置完成后点击保存

Step4. 配置DNS解析

在云产品中搜索-云解析-选择DNS解析DNSPod

点击我的域名-添加记录

在这里插入图片描述

填入刚刚申请的域名,如果带有前缀,则第一个红框填入你的域名前缀,比如www.baidu.com,则这里填www

第二个红框填写你的服务器ip,或者你的CDN域名

在这里插入图片描述

Step5. 配置反向代理

在宝塔面板中,点击刚刚添加的网站,点击反向代理,填入刚刚docker启动时的宿主机端口
在这里插入图片描述

如上文中的3888

以上配置完成之后,访问https://你的域名就可以了~

PWA支持

PWA技术可以让我们访问网站能够拥有访问App一般的体验,在chatgpt-web中已经内嵌,但默认是关闭的

我们可以通过设置启动时的参数-env VITE_GLOB_APP_PWA=true将他打开

docker run --name chatgpt-web -d -p 127.0.0.1:3888:3002 --env OPENAI_ACCESS_TOKEN=your_access_token --env AUTH_SECRET_KEY=you_secret_key --env VITE_GLOB_APP_PWA=true chenzhaoyu94/chatgpt-web

部署成功之后,我们再到手机上访问该网站时便可以保存他在桌面了。

默认的PWA图标和全局用户信息配置在项目中,即使在网页可以修改当前登陆者的用户信息,在清除Cookie之后便会还原,如果你想定制这两种信息,请拉下chatgpt-web项目进行镜像自定义

本文使用PWA时采用了自定义镜像,效果在手机上如下,我定制为了可爱的花花🐼🌸
在这里插入图片描述

博客嵌入

在博客中也已经加入了ChatGPT的嵌入体验

欢迎访问https://cloud.benym.cn/gpt/


http://www.ppmy.cn/news/950950.html

相关文章

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

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

chatgpt源码部署教程

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

【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 我分析将带来多个新的工作岗位机…

你真的会用async和await么?

背景 背景就是遇到了一个比较烦人的模块,里面的涉及到了大量的async 和 awiat。发现大多人对这个语法糖一知半解,然后大量的滥用,整理一下 async 前置知识: Promise.resolve(foo) new Promise(resolve > resolve(foo)…

mysql 第六章

目录 1.子查询 2.exists 3.as 别名 4.视图 5.null 6.连接查询 7.总结 1.子查询 2.exists 3.as 别名 4.视图 5.null 6.连接查询 7.总结 对 mysql 数据库的查询,除了基本的查询外,有时候需要对查询的结果集进行处理。

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

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