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

前言

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

功能特性:

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

相关准备&链接

搭建方式

推荐两种部署方式:

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 容器启动起来:

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

docker-compose方式

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

yaml 复制代码
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 配置示例如下:

ini 复制代码
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. 语音输入默认会自动结束,可以在 设置 -> 语音助手 -> 语音识别设置 中修改 自动结束语音识别 开关

更新

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

# 拉取新镜像
docker-compose pull

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

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

卸载

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

docker-compose down

# 然后删除 LobeChat 对应的文件/文件夹即可
相关推荐
fly-977 小时前
LLM大模型微调入门Lora(LlamaFactory)
chatgpt·nlp
程序员洲洲11 小时前
重构开发之道,Blackbox.AI为技术注入智能新动力
chatgpt·blackbox.ai·blackboxai·图片转应用
海边散步的蜗牛15 小时前
学术论文写作丨机器学习与深度学习
人工智能·深度学习·机器学习·chatgpt·数据分析·ai写作
爱技术的小伙子16 小时前
【ChatGPT】通过Prompt技巧优化ChatGPT的营销文案输出
人工智能·chatgpt·prompt
智匠MindCraft Al17 小时前
GPT o1 模型使用及API调用
人工智能·gpt·ai·语言模型·chatgpt
HelpLook HelpLook20 小时前
人工智能:重塑医疗、企业与生活的未来知识管理——以HelpLook为例
人工智能·chatgpt·生活·知识库·helplook·知识库搭建
tyler_download1 天前
手撸 chatgpt 大模型:简述 LLM 的架构,算法和训练流程
算法·chatgpt
大数据面试宝典1 天前
用AI来写SQL:让ChatGPT成为你的数据库助手
数据库·人工智能·chatgpt
IPdodo全球网络1 天前
解析“ChatGPT网络错误”:从网络专线到IP地址的根源与解决方案
网络·tcp/ip·chatgpt
思绪无限1 天前
详解Gemini API的使用:在国内实现大模型对话与目标检测教程
人工智能·目标检测·计算机视觉·chatgpt·大模型·使用教程·gemini api