前言 {#%E5%89%8D%E8%A8%80}
最新发现了一个功能强大的 ChatGPT Web 应用 - LobeChat
功能特性:
- 免代理
- 支持语音输入输出
- 支持图像识别
- 支持PWA应用
- 多角色助手
- 丰富的插件生态系统
- 支持Vercel、Zeabur、Docker部署
- ...
相关准备&链接 {#%E7%9B%B8%E5%85%B3%E5%87%86%E5%A4%87%26%E9%93%BE%E6%8E%A5}
- 服务器 / VPS、Vercel、Zeabur账号
- 服务器需要安装docker、docker-compose环境
- 反代服务(宝塔、Caddy、Nginx、Nginx Proxy Manager 等反代工具)
- 官方 Demo:https://chat-preview.lobehub.com
- LobeChat GitHub地址:https://github.com/lobehub/lobe-chat
搭建方式 {#%E6%90%AD%E5%BB%BA%E6%96%B9%E5%BC%8F}
推荐两种部署方式:
- 有服务器:Docker部署
- 无服务器:Vercel、Zeabur部署
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}
- 如果想要使用图片识别功能,需要使用
gpt-4-vision-preview
模型 - 语音输入默认会自动结束,可以在 设置 -> 语音助手 -> 语音识别设置 中修改
自动结束语音识别
开关
更新 {#%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}
- YouTube:https://youtu.be/CDtR-ef1UBo
- Bilibili:https://bilibili.com/video/BV1ee411k7hC