benym的知识笔记 benym的知识笔记
🦮首页
  • Java

    • Java-基础
    • Java-集合
    • Java-多线程与并发
    • Java-JVM
    • Java-IO
  • Python

    • Python-基础
    • Python-机器学习
  • Kafka
  • Redis
  • MySQL
  • 分布式事务
  • Spring

    • SpringIOC
    • SpringAOP
🦌设计模式
  • 剑指Offer
  • LeetCode
  • 排序算法
🐧实践
  • Rpamis

    • Utils
    • Exception
    • Security
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
GitHub (opens new window)

benym

惟其艰难,才更显勇毅🍂惟其笃行,才弥足珍贵
🦮首页
  • Java

    • Java-基础
    • Java-集合
    • Java-多线程与并发
    • Java-JVM
    • Java-IO
  • Python

    • Python-基础
    • Python-机器学习
  • Kafka
  • Redis
  • MySQL
  • 分布式事务
  • Spring

    • SpringIOC
    • SpringAOP
🦌设计模式
  • 剑指Offer
  • LeetCode
  • 排序算法
🐧实践
  • Rpamis

    • Utils
    • Exception
    • Security
  • 归档
  • 标签
  • 目录
🦉里程碑
🐷关于
GitHub (opens new window)
  • 站点优化

    • 将hexo自定义域名升级https
    • hexo到Typecho的迁移日志
  • 思考与方案

    • 海量数据TopK问题
    • 关于DO,VO,DTO,QueryParam的思考
    • 异步消息通知—异步改造
    • 二叉搜索树及AVL树详解
    • 简单高效的代码优化-事务后异步处理
    • 接口管理平台Yapi-最佳实践
    • Yapi私有化部署方案
    • Sentinel-Dashboard持久化生产环境解决方案
    • 单测覆盖率工具在多模块项目中的集成
    • DSTransactional与Transactional事务混用死锁场景分析
  • AI人工智能

    • 基于Docker如何快速部署自己的ChatGPT
      • 背景
      • ChatGPT-Web
      • Nginx反向代理
      • PWA支持
      • 博客嵌入
  • 实用代码

    • 编程式事务工具类
    • EasyExcel工具类
    • 本地锁工具类
    • Jackson基本配置类
    • Mybatis-plus基本配置类
    • RestTemplate基本配置类
    • 线程池基本配置类
    • RedisTemplate基本配置类
    • SpringData-Mongo基本配置类
    • SpringCache基本配置类
  • 实践
  • AI人工智能
benym
2023-03-26
目录

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

# 背景

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

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

# ChatGPT-Web

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

仅以Docker部署为例

前置条件

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

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

Step1. 找到你帐号的token

点击https://chat.openai.com/api/auth/session (opens new window),获取你帐号的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
1
1

Step3. 访问localhost:3002查看效果

提示

在上述步骤中我们无需进行任何代理,就可以直接与GPT交流,使用API方式同理。当然了,根据项目作者的介绍,使用API时需要进行代理自建。

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

# Nginx反向代理

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

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

前置条件

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

Step1. SSL证书

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

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

Step2. 配置域名SSL

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

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

Step3. 配置证书

点击添加好的网站,然后点击SSL,填入刚刚下载的文件中的key和pem

配置完成后点击保存

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
1
1

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

提示

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

本文使用PWA时采用了自定义镜像,效果在手机上如下,我定制为了可爱的花花🐼🌸

# 博客嵌入

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

欢迎访问https://cloud.benym.cn/gpt/ (opens new window)

编辑 (opens new window)
#AI#LLM#ChatGPT#部署#Docker
上次更新: 2023/03/26, 19:05:47
DSTransactional与Transactional事务混用死锁场景分析
编程式事务工具类

← DSTransactional与Transactional事务混用死锁场景分析 编程式事务工具类→

最近更新
01
SpringCache基本配置类
05-16
02
DSTransactional与Transactional事务混用死锁场景分析
03-04
03
Rpamis-security-原理解析
12-13
更多文章>
Theme by Vdoing | Copyright © 2018-2024 benym | MIT License
 |   |   | 
渝ICP备18012574号 | 渝公网安备50010902502537号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式