引言
Github的开源免费程序里,Librechat作为AI对话使用,现阶段可谓是最佳选择,配合聚合API >>进行使用,能够保证成本最低,自由度最高,私密性最强,功能丰富且界面美观,如此以来就可以较大程度的发挥AI潜能,为我们的日常办公和学习提供帮助。关于Librechat的功能详细介绍,请阅读文章《官方平替!一个支持GPT文档对话和多端同步的免费开源程序LibreChat》。
鉴于很多朋友喜欢折腾部署程序,迫切希望将Librechat“据为己有”,又碍于程序作者提供的英文说明文档晦涩难懂,在自行部署的过程中也遇到各种问题走不下去。所以本文期望能够以一个过来人的身份,将我认为的最佳部署方式抽炼成一条线性部署路线讲给各位,以达到快速成功部署的目的。
适用场景
一般人是无需自行部署的,用本站已部署好的Librechat >>即可。如果你有以下需求中的一个或者多个,建议自行部署使用:
- 对数据保密性有较高要求,如用于企业、军工、科研等
- 对程序稳定性和性能有较高要求
- 喜欢自己折腾,期望使用自己的域名
- 为自己的用户群体提供Librechat服务
准备条件
请注意,本文使用docker-compose方式部署,并不适合对计算机应用知识为零的用户,如果你以前自己折腾部署过其它类似开源程序则会相对简单,除此之外,你还需要:
- 云服务器:非大陆地区的云服务器ECS或轻量应用服务器VPS均可,配置至少2核2G,带宽不宜过低,≥3MB为宜,建议买阿里云香港区服务器,不推荐购买腾讯云香港区服务器,因为两者的区别就在于阿里云对回大陆做了专线优化,速度在国内使用非常快,腾讯香港云服务器只有让你哭的份,亲身经历希望大家少走弯路。
阿里云香港服务器购买入口>> 如图,注册后,找到轻量云应用服务器,香港专区,下单购买2-2的服务器即可(34元/月,可能需要抢购,每晚过12点以后可100%抢到,后续续费可以一直用) 按图下单即可,购买完成后系统会给你一个带命令终端的服务器后台。完成后请安装宝塔服务器面板,具体安装方法请参考文章《拥有私人GPT:chatgpt-web-midjourney-proxy完整部署指南》宝塔安装部分,本文不再赘述。 - 域名:域名也可在阿里云直接完成购买。
- API:推荐购买聚合API >>几乎涵盖全球所有主流大语言模型,稳定不卡顿,性价比很高。如果你有其它API产品也可使用。
- 魔法工具:自行解决,此处略。
操作步骤
1、登录宝塔,从左侧菜单打开终端,检查并安装git和docker。
检查git是否安装:
git --version
如果未安装请执行以下命令安装git:
sudo dnf install git
检查docker是否安装:
docker --version
docker-compose --version
如未安装请进入左侧Docker菜单栏按提示完成安装:
2、从git上拉取程序文件到本服务器。
终端执行命令:
git clone https://github.com/danny-avila/LibreChat.git
拉取后,可在左侧菜单文件 > root文件夹内看到Librechat程序文件夹。
进入Librechat文件夹并找到.env example文件,右键复制粘贴一份并重命名为.env
打开.env文件,并按照以下内容进行编辑替换保存:
Line56: # ENDPOINTS=openAI,assistants,azureOpenAI,bingAI,google,gptPlugins,anthropic
改为:
ENDPOINTS=openAI
Line147: # OPENAI_MODELS=gpt-4o,gpt-3.5-turbo-0125,gpt-3.5-turbo-0301,gpt-3.5-turbo,gpt-4,gpt-4-0613,gpt-4-vision-preview,gpt-3.5-turbo-0613,gpt-3.5-turbo-16k-0613,gpt-4-0125-preview,gpt-4-turbo-preview,gpt-4-1106-preview,gpt-3.5-turbo-1106,gpt-3.5-turbo-instruct,gpt-3.5-turbo-instruct-0914,gpt-3.5-turbo-16k
改为:
OPENAI_MODELS=gpt-4o,gpt-4-turbo,gpt-3.5-turbo,claude-3-opus-20240229,claude-3-5-sonnet-20240620,deepseek-chat,gpt-4-all
Line159:# OPENAI_REVERSE_PROXY=
改为:
OPENAI_REVERSE_PROXY=https://api.juheai.top/v1
3、执行命令启动程序:
cd /root/LibreChat
docker compose up -d
等待其部署完成(首次启动需要安装各种依赖和子项目,所需时间略长,大概十几分钟)
一切准备就绪,就可以外网访问服务器ip地址+3080端口,如http://123.456.000.000:3080
4、绑定域名。
我们将阿里云购买的域名下某个子域名( www.aaa.com)解析至本服务器IP,等待解析生效。解析生效后,请在宝塔面板 → 网站 → PHP项目中,新增该网址,设定如下:
为网站添加ssl证书并反向代理程序IP+端口访问地址:
使用https://www.aaa.com(替换为你的真实url)打开能正常访问Librechat说明已成功,此时即可正常使用AI对话功能了。
功能扩展
Librechat除了基本的AI程序对话外,还包含了一些功能扩展,如果你有以下功能的需求,请继续往下阅读:
- 邮箱验证
- 文档对话
- 绘图插件
- tts和stt语音输入输出
- Mongo数据库可视化后台
一、邮箱验证SMPT配置:
设置邮箱后,用户可以在登录页通过邮箱找回密码。找到.env文件并填写其中的内容字段:
EMAIL_SERVICE=
EMAIL_HOST=
EMAIL_PORT=
EMAIL_ENCRYPTION=
EMAIL_ENCRYPTION_HOSTNAME=
EMAIL_ALLOW_SELFSIGNED=
EMAIL_USERNAME=
EMAIL_PASSWORD=
EMAIL_FROM_NAME=
EMAIL_FROM=
以QQ邮箱为例,具体设置内容如下图:
SMTP的设置大同小异,具体可百度查找SMTP设置教程,推荐用个人不常用的163或者QQ邮箱作为SMPT发射源。
设置完后,终端重启Librechat即可。逐行执行以下命令完成重启:
cd LibreChat
docker compose down
docker compose up -d
二、文档对话
此功能比较关键,设置后Librechat可以上传文档并支持任意模型的文档阅读分析,并基于文档内容回答你的问题。
打开.env文件并在文件末尾新增以下内容:
#==================================================#
# RAG #
#==================================================#
RAG_OPENAI_BASEURL=https://api.juheai.top/v1
RAG_OPENAI_API_KEY=sk-xxx
EMBEDDINGS_MODEL=text-embedding-ada-002
sk-xxx请替换为你实际购买的API-Key,购买地址XD-Store >> ,配置后如下图:
设置完成后保存并同上执行Librechat程序重启命令即可。
三、绘图插件
我们在Librechat可以启用Dalle-3绘图插件,调用api完成绘图。设置如下:
1、打开.env文件,并进行如下修改并保存:
ENDPOINTS=openAI
修改为
ENDPOINTS=openAI,gptPlugins
# DALLE_REVERSE_PROXY=
修改为
DALLE_REVERSE_PROXY=https://api.juheai.top/v1
2、新增librechat.yaml文件。
新建librechat.yaml文件,打开新增以下内容并保存:
version: 1.0.9
includedTools: ["dalle"]
cache: true
3、新增docker-compose.override.yml文件。
新建docker-compose.override.yml文件,打开新增以下内容并保存:
version: '3.4'
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
设置完成后保存并同上执行Librechat程序重启命令即可。
如果你对其它插件感兴趣,这里不妨多启用几个,比如计算器插件、网页搜索插件、代码运行器、联网插件等,对librechat.yaml文件进行以下修改并重启程序即可:
version: 1.0.9
includedTools: ["calculator","web-browser","dalle","CodeBrew","web_search"]
cache: true
四、stt和tts语音输入输出
语音功能配置好以后,就可以通过说话把文字转化出来,然后等Librechat返回结果并转化成语音播放,对于一些碍于打字繁琐的场景有用。
打开librechat.yaml并新增以下内容:
tts:
openai:
apiKey: '${TTS_API_KEY}'
model: 'tts-1'
voices: ['alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer']
url: "https://api.juheai.top/v1/audio/speech"
stt:
openai:
url: 'https://api.juheai.top/v1/audio/transcriptions'
apiKey: '${STT_API_KEY}'
model: 'whisper-1'
再打开.env文件将以下内容补全:
STT_API_KEY=
TTS_API_KEY=
配置好后如图所示:
设置完成后保存并同上执行Librechat程序重启命令即可。
五、Mongo数据库可视化后台
该管理后台可以帮助你日常监控程序的用户使用情况,比如检测用户数量、用户对话内容等。
打开docker-compose.override.yml文件,删除原内容并添加以下内容:
version: '3.4'
services:
mongo-express:
image: mongo-express
container_name: mongo-express
environment:
ME_CONFIG_MONGODB_SERVER: mongodb
ME_CONFIG_BASICAUTH_USERNAME: admin
ME_CONFIG_BASICAUTH_PASSWORD: 输入你的密码
ports:
- '8081:8081'
depends_on:
- mongodb
restart: always
api:
volumes:
- ./librechat.yaml:/app/librechat.yaml
注意其中的用户名和密码可以根据自己的实际情况修改,要放行8081端口。重启程序后,访问地址为你的IP+8081,比如http://00.00.00.00:8081
总结
至此,你已经获得了Librechat几乎所有的功能,其中有一些细节的调整没有讲解,请对照官方文档自行测试,文档地址>>,希望本文能给你带来帮助。