目 录CONTENT

文章目录

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

俊阳IT知识库
2023-12-14 / 0 评论 / 0 点赞 / 2,272 阅读 / 1,213 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-12-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告

前言

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

功能特性:

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

ai-chatgpt-lobechat-1

ai-chatgpt-lobechat-2

ai-chatgpt-lobechat-3

相关准备&链接

搭建方式

推荐两种部署方式:

Vercel、Zeabur部署

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

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

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

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

Docker部署

docker命令方式

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

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

docker-compose方式

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

环境变量

环境变量 类型 描述 示例
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反选代理

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://;
  }
}

使用

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

注意事项

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

更新

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

# 拉取新镜像
docker-compose pull

# 更新项目容器
docker-compose up -d

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

卸载

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

docker-compose down

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

视频链接

0

评论区