封面图

Librechat快速部署指南

引言

Github的开源免费程序里,Librechat作为AI对话使用,现阶段可谓是最佳选择,配合聚合API >>进行使用,能够保证成本最低,自由度最高,私密性最强,功能丰富且界面美观,如此以来就可以较大程度的发挥AI潜能,为我们的日常办公和学习提供帮助。关于Librechat的功能详细介绍,请阅读文章《官方平替!一个支持GPT文档对话和多端同步的免费开源程序LibreChat》。

鉴于很多朋友喜欢折腾部署程序,迫切希望将Librechat“据为己有”,又碍于程序作者提供的英文说明文档晦涩难懂,在自行部署的过程中也遇到各种问题走不下去。所以本文期望能够以一个过来人的身份,将我认为的最佳部署方式抽炼成一条线性部署路线讲给各位,以达到快速成功部署的目的。

适用场景

一般人是无需自行部署的,用本站已部署好的Librechat >>即可。如果你有以下需求中的一个或者多个,建议自行部署使用:

  • 对数据保密性有较高要求,如用于企业、军工、科研等
  • 对程序稳定性和性能有较高要求
  • 喜欢自己折腾,期望使用自己的域名
  • 为自己的用户群体提供Librechat服务

准备条件

请注意,本文使用docker-compose方式部署,并不适合对计算机应用知识为零的用户,如果你以前自己折腾部署过其它类似开源程序则会相对简单,除此之外,你还需要:

  • 云服务器:非大陆地区的云服务器ECS或轻量应用服务器VPS均可,配置至少2核2G,带宽不宜过低,≥3MB为宜,建议买阿里云香港区服务器,不推荐购买腾讯云香港区服务器,因为两者的区别就在于阿里云对回大陆做了专线优化,速度在国内使用非常快,腾讯香港云服务器只有让你哭的份,亲身经历希望大家少走弯路。
    阿里云香港服务器购买入口>>
    购买阿里云如图,注册后,找到轻量云应用服务器,香港专区,下单购买2-2的服务器即可(34元/月,可能需要抢购,每晚过12点以后可100%抢到,后续续费可以一直用)
    购买2-2
    下单配置按图下单即可,购买完成后系统会给你一个带命令终端的服务器后台。完成后请安装宝塔服务器面板,具体安装方法请参考文章《拥有私人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菜单栏按提示完成安装:

docker安装

2、从git上拉取程序文件到本服务器。

终端执行命令:

				
					git clone https://github.com/danny-avila/LibreChat.git
				
			

拉取后,可在左侧菜单文件 > root文件夹内看到Librechat程序文件夹。

gitl拉取librechat程序

进入Librechat文件夹并找到.env example文件,右键复制粘贴一份并重命名为.env

.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

访问IP

4、绑定域名。

我们将阿里云购买的域名下某个子域名( www.aaa.com)解析至本服务器IP,等待解析生效。解析生效后,请在宝塔面板 → 网站 → PHP项目中,新增该网址,设定如下:

新增网址2

为网站添加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发射源。

如果需要开启密码找回功能,则需要在.env里改一下服务器地址,另外再加一个变量:

				
					DOMAIN_CLIENT=http://localhost:3080
DOMAIN_SERVER=http://localhost:3080
# 改为
DOMAIN_CLIENT=你的访问url地址,如https://www.aaa.com
DOMAIN_SERVER=你的访问url地址,如https://www.aaa.com

# 另外新增一个变量如下:
ALLOW_PASSWORD_RESET=true
				
			

设置完后,终端重启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 >> ,配置后如下图:RAG配置1设置完成后保存并同上执行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=
				
			

配置好后如图所示:stt配置设置完成后保存并同上执行Librechat程序重启命令即可。

五、Mongo数据库可视化后台

该管理后台可以帮助你日常监控程序的用户使用情况,比如检测用户数量、用户对话内容等。

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几乎所有的功能,其中有一些细节的调整没有讲解,请对照官方文档自行测试,文档地址>>,希望本文能给你带来帮助。更多原创AI应用文章请关注公众号【产品试金石】。

公众号二维码