51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Docker、Vercel部署ChatGPT Web应用 - LobeChat,支持语音输入 + 图片识别 + 插件体系

前言 {#%E5%89%8D%E8%A8%80}

最新发现了一个功能强大的 ChatGPT Web 应用 - LobeChat

功能特性:

  • 免代理
  • 支持语音输入输出
  • 支持图像识别
  • 支持PWA应用
  • 多角色助手
  • 丰富的插件生态系统
  • 支持Vercel、Zeabur、Docker部署
  • ...

ai-chatgpt-lobechat-1

ai-chatgpt-lobechat-2

ai-chatgpt-lobechat-3

相关准备&链接 {#%E7%9B%B8%E5%85%B3%E5%87%86%E5%A4%87%26%E9%93%BE%E6%8E%A5}

搭建方式 {#%E6%90%AD%E5%BB%BA%E6%96%B9%E5%BC%8F}

推荐两种部署方式:

Vercel、Zeabur部署 {#vercel%E3%80%81zeabur%E9%83%A8%E7%BD%B2}

如果想在 Vercel 或 Zeabur 上部署该服务,可以按照以下步骤进行操作:

  • 准备好你的 OpenAI API Key
  • 点击下方按钮开始部署: 直接使用 GitHub 账号登录即可,记得在环境变量页填入 OPENAI_API_KEY (必填)和 ACCESS_CODE(推荐);
  • 部署完毕后,即可开始使用;
  • 绑定自定义域名(可选):Vercel 分配的域名 DNS 在某些区域被污染了,绑定自定义域名即可直连。目前 Zeabur 提供的域名还未被污染,大多数地区都可以直连。

| 使用 Vercel 部署 | 使用 Zeabur 部署 | |-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------| | 戳我部署 | 戳我部署 |

保持更新
如果你根据 README 中的一键部署步骤部署了自己的项目,你可能会发现总是被提示 "有可用更新"。这是因为 Vercel 默认为你创建新项目而非 fork 本项目,这将导致无法准确检测更新。

建议按照 📘 LobeChat 自部署保持更新 步骤重新部署。

Docker部署 {#docker%E9%83%A8%E7%BD%B2}

docker命令方式 {#docker%E5%91%BD%E4%BB%A4%E6%96%B9%E5%BC%8F}

可以直接执行下面命令把 Docker 容器启动起来:

$ docker run -d -p 3210:3210 \
  -e OPENAI_API_KEY=sk-xxxx \
  -e ACCESS_CODE=lobe66 \
  lobehub/lobe-chat

docker-compose方式 {#docker-compose%E6%96%B9%E5%BC%8F}

docker-compose.yml 配置文件如下:

version: '3.8'
`services:
lobe-chat:
image: lobehub/lobe-chat
container_name: lobe-chat
ports:
- '3210:3210'
environment:
OPENAI_API_KEY: sk-xxxx
ACCESS_CODE: xxxxxx
`

然后在 docker-compose.yml 文件的目录下执行下面命令即可启动容器:

docker-compose up -d

环境变量 {#%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F}

| 环境变量 | 类型 | 描述 | 示例 | |---------------------------|----|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------| | OPENAI_API_KEY | 必选 | 这是你在 OpenAI 账户页面申请的 API 密钥 | sk-xxxxxx...xxxxxx | | OPENAI_PROXY_URL | 可选 | 如果你手动配置了 OpenAI 接口代理,可以使用此配置项来覆盖默认的 OpenAI API 请求基础 URL | https://api.chatanywhere.cn/v1 默认值: https://api.openai.com/v1 | | OPENAI_FUNCTION_REGIONS | 可选 | 当你使用 Vercel 部署 Lobe-Chat,而且有需求指定响应调用 OpenAI 接口的请求的 Edge Function 的 Region 时,可以使用该配置进行配置,该值的类型为逗号分隔的字符串数组 | iad1,sfo1 | | ACCESS_CODE | 可选 | 添加访问此服务的密码,你可以设置一个长密码以防被爆破 | awCTe)re_r74 or rtrt_ewee3@09! |

如果需要配置 OPENAI_PROXY_URL,可以参考:免费 API 代理服务
完整环境变量可见 📘环境变量

配置Nginx反选代理 {#%E9%85%8D%E7%BD%AEnginx%E5%8F%8D%E9%80%89%E4%BB%A3%E7%90%86}

Docker 容器运行成功后,可以配置反向代理,用域名进行访问,Nginx 配置示例如下:

server {
  server_name lobe-chat.example.com;
  listen 443 ssl http2;
  ssl_certificate <SSL证书路径>.cer;
  ssl_certificate_key <SSL证书路径>.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  listen 80;
  if ($scheme = http) {
    return 301 https://$host:443$request_uri;
  }
  location / {
    proxy_pass http://127.0.0.1:3210;
    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-Host $http_host;
    proxy_set_header X-Forwarded-Port $server_port;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_redirect http:// https://;
  }
}

使用 {#%E4%BD%BF%E7%94%A8}

配置成功后,用配置的域名打开你的网站即可使用。

注意事项 {#%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9}

  1. 如果想要使用图片识别功能,需要使用 gpt-4-vision-preview 模型
  2. 语音输入默认会自动结束,可以在 设置 -> 语音助手 -> 语音识别设置 中修改 自动结束语音识别 开关

更新 {#%E6%9B%B4%E6%96%B0}

# 进入 LobeChat 项目的 `docker-compose.yml` 文件的目录下,执行下面命令

拉取新镜像
=====



docker-compose pull


更新项目容器
======



docker-compose up -d


删除未被使用的镜像(prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像)
==============================================================


`docker image prune
`

卸载 {#%E5%8D%B8%E8%BD%BD}

# 进入 LobeChat 项目的 `docker-compose.yml` 文件的目录下,执行下面命令

docker-compose down


然后删除 LobeChat 对应的文件/文件夹即可
=========================

视频链接 {#%E8%A7%86%E9%A2%91%E9%93%BE%E6%8E%A5}

赞(2)
未经允许不得转载:工具盒子 » Docker、Vercel部署ChatGPT Web应用 - LobeChat,支持语音输入 + 图片识别 + 插件体系