LibreChat:支持多用户访问的LLM网页界面 locaux
LibreChat 是一个开源的网页对话界面,采用 MIT 许可证,通过 Docker 安装:它可连接 Ollama 或任何兼容 OpenAI 的 API,管理整个团队的账户,并提供支持 MCP 协议的 AI 智能体,用于连接外部工具。获得第一个可正常使用的实例大约需要 30 分钟,本地模型本身的部署时间另计。
LibreChat 是一个采用 MIT 许可证的开源网页对话界面,可作为任意模型的前端:通过 Ollama 提供服务的本地模型、兼容 OpenAI 的 API,或在同一窗口中同时接入多个模型或 API。您可以用 Docker 在自己的设备上安装它,并创建账户,让团队获得一个辅助对话工具,而无需将任何对话发送到网络之外。该项目还提供智能体和 MCP 协议支持,用于连接外部工具。下面介绍运行它所需的条件,以及为此需要投入什么。
#什么是LibreChat
它负责本地部署中的「界面」部分。模型在其他后端运行——Ollama、vLLM、llama.cpp——而 LibreChat 提供围绕对话的各项功能:历史记录、账户和身份验证、预设、附件、智能体,以及过往对话搜索。该项目采用 MIT 许可证,对允许如何使用它几乎没有含糊之处:可以使用、修改和再分发,包括用于商业用途,且无需将代码修改贡献回原项目。
该项目将自身定位为一个自托管的 AI 聊天平台,把所有主流 AI 供应商整合到一个注重隐私的统一界面中。除了常规聊天功能,它还提供智能体、MCP 协议支持、用于清晰展示代码和图表的产物(artifacts)、代码解释器、自定义操作,以及面向企业而非单台工作站设计的多用户身份验证功能。
它最显著的设计取向是支持多个模型提供商:在同一段对话中,可以从本地模型切换到远程模型。这很实用;但如果目标是不让任何数据离开本机,这也是需要密切关注的设置:技术上具备这种切换能力,可以在配置中将其禁用,而且每次更新后都值得核实,不能只设置一次就不再检查。
#该方案适用于哪些人?
只需 1 小时,即可在您的电脑上拥有专属的免费 ChatGPT — LM Studio、Ollama、Open WebUI、您的文档,无需云端。
- 在线空间,终身可用
- PDF + 文件
- 30 天内退款
| 情况 | 适用的情况 |
|---|---|
| 一个人,一台机器,无需系统管理 | 一体化桌面应用程序 |
| 一个团队、多个账号、共享服务器 | LibreChat |
| 单台工作站配轻量级网页界面 | Open WebUI — 参见专用教程 |
| 构建带有 API 和日志记录功能的应用 | 一个用于构建 LLM 应用的平台 |
分界线是用户数量。当需要多人进行身份验证并各自找回自己的对话时,桌面应用已不再足够,LibreChat 正是为此而设计:支持 OAuth2、LDAP 或简单邮箱账户的身份验证,内置内容审核功能,并支持按用户追踪 token 消耗情况。
另一个不那么明显的区别在于,团队是否需要网页管理面板,而不是手动编辑配置文件。小型技术团队使用 Open WebUI,再做一些设置,就完全可以满足需求;而包含非技术成员,或需要通过几次点击就能更改角色、撤销某人访问权限的团队,则更能受益于 LibreChat 自带的管理面板。
#使用 Docker 安装
- 01获取仓库和环境文件该项目提供 Docker Compose 配置和一个需要复制的示例文件。您要修改的是这个文件,而不是 Docker Compose 配置本身。
- 02生成密钥加密密钥和会话机密值绝不能保留为模板文件中提供的示例值。项目说明了如何正确生成这些值;花五分钟处理,就能避免部署从第一天起便毫无防护。
- 03启动堆栈Web 应用、数据库和管理面板通过项目提供的官方 Docker Compose 配置一起启动。随后即可通过本地端口访问界面,创建第一个管理员账户。
- 04创建第一个账户,然后关闭注册在可通过互联网访问的实例上保持开放注册,相当于让随便什么人都能使用您的 GPU,而电费由您承担。
更新遵循与任何带数据库的应用相同的原则:拉取新镜像之前,先阅读版本说明,做好备份,然后再更新。项目会定期推出新功能——智能体、MCP、管理面板——这正是应密切关注版本变化的理由,而不是跳过步骤的借口。
#连接到 Ollama
LibreChat在专用配置文件中声明其供应商,并将 Ollama 识别为兼容OpenAI的接入点。两个常见陷阱一旦识别,均可在几分钟内解决。
- localhost 指的是容器
- 从 Docker 容器内部访问时,需要使用容器所看到的宿主机地址,而且 Ollama 必须在网络接口上监听,不能只在本地环回接口上监听。
- 模型列表
- 根据配置,模型将自动从服务器获取,或手动声明。界面中显示为空列表几乎总是意味着基础地址错误,而非模型缺失。
多人同时对话时,关键就不再是界面,而是推理服务器:为单用户设计的服务器会逐一处理请求,第三个人就得等待。应尽早做出这一架构选择,赶在团队习惯高峰时段越来越慢的响应之前。
LibreChat 也支持在同一实例中结合多个服务提供商:本地模型用于日常工作,远程服务提供商用于偶尔出现、超出本地硬件承载能力的任务。可以按会话切换服务提供商,这很方便,也正因如此,必须提前决定哪些服务提供商仍被允许使用,而不是事后才从使用日志中发现。
#与自己的文档对话
LibreChat支持将文件附加到对话中,并基于文件内容进行回复。技术上,这是一项独立于界面的服务——即由项目单独发布的RAG API服务,该服务负责拆分文档、将其编码为向量并存储;该服务独立部署,需要一个嵌入模型,而该嵌入模型并非对话模型本身。
该类工具的两个普遍现象:一个仅是扫描件的PDF文件,在未经过光学字符识别(OCR)处理前不包含任何文本,因此索引为空;其次,相关性主要取决于所选的嵌入模型,这一点在法语文档中尤为关键,相较于英文文档更为显著。
#智能体与 MCP 协议
除了基本聊天功能,LibreChat 还提供支持模型上下文协议(MCP)的 AI 智能体。该协议让智能体能够连接外部工具服务器,而不只是根据已有知识作答。智能体还可以搜索文件、执行代码,并仅与指定用户或用户组共享,而不是与整个实例的所有用户共享。社区智能体目录让用户可以发现并部署他人已配置好的智能体,无需为每个新使用场景从零开始。
通过浏览器访问管理面板,您可以管理用户、群组、角色和权限,还能直接修改设置,无需重新部署整套服务。该面板包含在官方 Docker Compose 配置中,因此无需另外安装一个服务。您也可以在这里点击几下,就撤销某个人的访问权限,或关闭对某个提供商的访问,而不必编辑配置文件。
#多个用户:需进行相应配置
- 注册已关闭
- 由管理员创建账户,或将注册限制在指定的电子邮件域名内。
- 允许使用的供应商
- 如果承诺任何数据都不会外传,就应在配置中禁用远程服务提供商,而不是仅在使用规定中禁止使用。口头规定无法阻止任何人只需点击一下就将对话切换到远程服务提供商。
- 配额
- 共享的本地模型不会产生模型调用账单,但请求需要排队。对每位用户设置使用限制,并结合管理面板内置的用量追踪功能,可以保障所有人的使用体验,避免第一个连接的用户独占 GPU。
- 保留
- 默认情况下,对话会无限期保存在数据库中。请根据您所处的监管环境确定合适的保留期限,将其写入内部政策,并切实执行,而不是仅仅停留在纸面上。
- 智能体与 MCP 工具
- 决定谁可以创建代理、连接MCP服务器或在团队共享目录中发布代理。配置不当的代理将以创建者身份执行操作,而不仅限于创建者本人。
#局限性
LibreChat 是一款需要运维管理的应用程序:更新、备份、敏感凭据、数据库都需要维护。它不是双击即可运行的可执行文件,只有多人使用时,这些管理投入才值得——对于一个人而言,一体化桌面应用就能达到相同效果,而且所需的管理工作少得多。
部分高级功能需要额外服务——文档对话服务、代码执行、某些智能体——因此,在已经运行模型的机器上,会占用更多内存,也会增加需要监控的容器数量。在配置较低的服务器上,最好逐项启用这些功能,并在每一步检查内存使用情况,而不是一次性全部启动。
最后,界面不会改变回答的质量:一个拥有 80 亿参数的模型,给出的回答仍是一个 80 亿参数模型的水平,无论界面窗口多么精致,也无论它周围连接了多少智能体和工具。
#FAQ
LibreChat 免费吗?+
能否完全离线运行?+
为什么我的模型列表是空的?+
可以支持多少用户?+
LibreChat 是否需要 GPU?+
LibreChat 是否支持智能体和 MCP 协议?+
有反馈、发现了错误,或想补充说明?请告诉我们,让这份指南对每个人都更有帮助。