- 将 Ollama 实现为本地推理引擎,以运行语言模型而无需依赖云。
- 使用 YAML 文件和 Docker 配置 LibreChat,创建高级且私密的用户界面。
- 对包括 Open WebUI、AnythingLLM 和 LobeChat 在内的兼容生态系统进行比较,以优化工作流程。
- 利用 RAG 技术通过嵌入和向量数据库与本地文档进行交互。
人工智能市场充斥着各种模型和平台,但其中许多都在外部服务器上处理对话。这固然方便,但在与人工智能系统交互时也引发了一些问题。 私人文件、内部代码或机密信息.
另一种方法是将 Ollama 和 LibreChat 结合使用。Ollama 负责在计算机或服务器上运行模型,而 LibreChat 则提供了一个高级的 Web 界面,用于进行对话、附加文件、管理用户以及在不同的模型之间切换。
通过这种组合,您可以使用自己的硬件构建类似 ChatGPT 的体验。此外,一旦下载了必要的容器和模型,系统即可投入使用。 无需将对话发送给第三方人工智能提供商.
然而,仅仅安装这两个应用程序是不够的。LibreChat 必须能够访问 Ollama API,而正确的地址会根据 Ollama 的运行环境而有所不同,例如是在主机系统上、Docker 容器内,还是在网络中的其他机器上运行。
Ollama和LibreChat是什么?

Ollam 是一款简化语言模型下载、管理和执行的工具。它提供命令行界面和本地 API,后者通常监听 1 端口。 11434.
它还兼容部分 OpenAI API。因此,旨在与兼容端点通信的应用程序可以向诸如以下地址发送请求: http://localhost:11434/v1/ 并使用 Ollama 中安装的模型。
性能主要取决于模型、其量化方式以及可用硬件。Ollama 可以利用不同类型的加速技术,包括某些 Nvidia 和 AMD GPU,以及兼容的 Apple 芯片。然而, 具体兼容性因操作系统和设备而异。.
另一方面,LibreChat 是一个自托管的聊天界面。它的外观与 ChatGPT 类似,但它的设计理念是将不同的服务提供商和终端连接到同一个服务器上。它可以与商业服务、OpenAI 兼容的服务器以及运行在 Ollama 上的本地模型配合使用。
除了聊天功能外,LibreChat 还集成了代理、工具、文件上传、预设、对话搜索、MCP 兼容性以及各种管理选项等功能。因此,将其描述为一个……更为恰当。 多厂商人工智能平台 这就像 Ollama 的一个简单界面。
安装 Ollama 并下载本地模型
第一步是使用适用于 Windows、macOS 或 Linux 的相应方法安装 Ollama。您也可以将其运行在 Docker 容器中,如果您希望将整个基础架构隔离并使用 Compose 进行管理,这将特别有用。
启动 Ollama 后,您可以通过在浏览器中打开以下地址来验证其 API 是否响应:
http://localhost:11434/api/tags
如果服务正常运行,它将以 JSON 格式返回已安装模型的信息。您也可以通过终端使用以下命令查看列表:
ollama list
连接 LibreChat 之前,您需要下载至少一个模型。由于可用版本会随时间变化,请在 Ollama 库中查找确切的模型名称。通用命令如下:
ollama pull nombre-del-modelo
首次测试时,最好选择一个内存足以流畅运行的小模型。连接确认无误后,您可以下载更大版本或不同量化级别的版本。
如果 Ollama 在名为 ollama您可以直接下载模板,无需手动输入:
docker exec -it ollama ollama pull nombre-del-modelo
模型必须存储在持久卷中。否则,当容器被删除并重新创建时,模型可能会丢失。
根据安装情况选择 Ollama 的地址
最常见的错误之一是使用 localhost 无论连接是从哪里建立的。在 LibreChat 容器内, localhost 它指的是 LibreChat 容器本身,而不是主机或 Ollama 容器。
正确的方向取决于架构:
| 奥拉玛位置 | LibreChat 的常用地址 |
|---|---|
| 在同一系统上运行 Ollama 和 LibreChat,无需 Docker | http://localhost:11434/v1/ |
| LibreChat on Docker 和 Ollama on Windows 或 macOS | http://host.docker.internal:11434/v1/ |
| 两者均位于同一 Docker 网络上 | http://ollama:11434/v1/ |
| 网络上另一台计算机上的 Ollama | http://IP_DEL_SERVIDOR:11434/v1/ |
名称 ollama 第三个示例中的名称必须与 Docker Compose 文件中定义的服务名称匹配。
在 Docker Desktop 中, host.docker.internal 它通常会自动启用。在 Linux 上的 Docker 安装中,可能需要将此条目添加到 LibreChat 服务中:
extra_hosts:
- "host.docker.internal:host-gateway"
这样,容器就能解析该名称并连接到主机系统。
允许 LibreChat 访问 Ollama 服务器

Ollama 通常监听本地接口。当客户端应用程序运行在同一系统上时,这足够了,但这可能会阻止 LibreChat 从容器或其他计算机访问它。
在 Linux 系统中,如果 Ollama 是以 systemd 服务的形式管理的,您可以使用以下命令创建额外的配置:
sudo systemctl edit ollama
在编辑器中,添加:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
然后应用更改并重启服务:
sudo systemctl daemon-reload
sudo systemctl restart ollama
地址 0.0.0.0 这会导致 Ollama 监听所有网络接口。这可以解决通信问题,但同时也会导致其他问题。 扩大服务器的暴露面.
Ollama 的本地 API 对此类访问不需要身份验证。因此,您不应发布端口。 11434 直接通过互联网访问。请使用防火墙、私有 Docker 网络、VPN 或经过身份验证的代理来限制访问。
如果 Ollama 和 LibreChat 在同一个 Compose 中运行,通常更安全的做法是只允许 Ollama 在内部 Docker 网络上访问,避免向外部发布端口。
在 librechat.yaml 文件中配置 Ollama

LibreChat 允许您添加 Ollama 作为与 OpenAI API 兼容的自定义端点。为此,您必须创建或编辑该文件。 librechat.yaml 位于项目根目录。
在主机系统上安装 Docker 和 Ollama 后,LibreChat 的基本配置如下:
version: 1.3.13
cache: true
endpoints:
custom:
- name: "Ollama"
apiKey: "ollama"
baseURL: "http://host.docker.internal:11434/v1/"
models:
default:
- "nombre-del-modelo"
fetch: true
titleConvo: true
titleModel: "current_model"
summarize: false
summaryModel: "current_model"
modelDisplayLabel: "Ollama"
指示的数字 version 这里指的是配置方案版本,而不是LibreChat的已安装版本。建议使用您部署版本附带的官方示例中显示的值。
虽然 Ollama 在本地请求中忽略 API 密钥,但 LibreChat 需要该字段。 apiKey 该值存在。因此可以直接使用该值。 ollama 作为标记。
En models.default 您必须输入运行后显示的准确名称。 ollama list。 和 fetch: trueLibreChat 还可以查询服务器上可用的模板。为了使此检测功能正常工作,端点名称必须以……开头。 奥拉玛.
值 current_model 它允许您使用对话模型生成标题,避免为此任务加载第二个本地模型。
挂载配置并重启 LibreChat

当 LibreChat 在 Docker 中运行时,仅仅保存是不够的。 librechat.yaml 在计算机上。该文件必须挂载到 API 容器内。
您可以复制项目中包含的示例文件:
cp docker-compose.override.yml.example docker-compose.override.yml
然后检查一下 docker-compose.override.yml 本卷包含:
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
如果您在 Linux 上使用 Docker,并且主机上安装了 Ollama,您也可以将以下解决方案纳入考虑: host.docker.internal:
services:
api:
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yaml
要应用此配置,最好重新创建服务:
docker compose down
docker compose up -d
打开 LibreChat 时,Ollama 应该会出现在端点或模型选择器中。如果没有出现,请检查 API 日志。
docker compose logs api
最常见的错误是 YAML 中的缩进不正确、模型名称不匹配、容器无法访问的 URL 或未正确挂载的文件。
使用 Ollama 替代 LibreChat
LibreChat 对于那些希望在类似 ChatGPT 的界面中整合本地模型和第三方服务提供商的用户来说尤其有趣。然而,它并非唯一与 Ollama 兼容的工具。
Open WebUI 它可与 Ollama 无缝集成,并增加了用户、知识库、红黄绿灯系统 (RAG)、工具、代理和管理选项。如果 Ollama 将成为安装的核心,那么它是一个功能尤为全面的替代方案。
AnythingLLM 它专为处理文档和知识空间而设计。它允许您导入文件、创建独立区域,并使用不同的模型和嵌入提供程序。响应质量取决于文档的处理方式和配置的模型,因此不建议假设它总是能引用完全相同的段落。
页面助手 它以浏览器扩展程序的形式运行,允许您在浏览网页的同时与本地模型进行通信。对于个人用户而言,它是一个更轻量级的选择,但它并不具备服务器端平台的所有管理功能。
LobeChat 它还可以与 Ollama 连接,并以其界面和工具生态系统而著称。当直接通过浏览器进行通信时,可能需要使用以下命令正确配置允许的来源。 OLLAMA_ORIGINS这种设置与 OLLAMA_HOST第一个控制授权的 Web 源,第二个决定服务器监听哪些接口。
本地设施的隐私和安全
将 LibreChat 与 Ollama 连接后,您可以在自己的计算机上进行推理,但这本身并不能保证整个平台能够私密运行。
如果您添加了商业 API、网络搜索、远程嵌入模型、外部工具或识别服务, 部分信息可能会离开您的基础设施。为了维持网络内部的处理能力,您必须检查所有使用的组件,而不仅仅是主模型。
此外,还需要保护 LibreChat 帐户、更新容器、限制暴露的端口以及备份卷。对于可通过互联网访问的安装,建议使用 HTTPS、强身份验证和配置正确的反向代理。
基础设施搭建完成后,LibreChat 和 Ollama 的组合便能提供一个高度灵活的环境。Ollama 提供本地推理层,而 LibreChat 则负责用户体验、管理以及从单一位置处理多个模型的功能。
最终成果是一个用户可控的人工智能平台,无需每月订阅即可运行,并且在下载所有必要的资源后,无需永久依赖互联网连接。
指数
我是一名技术爱好者,已将自己的“极客”兴趣变成了职业。出于纯粹的好奇心,我花了 10 多年的时间使用尖端技术并修改各种程序。现在我专攻计算机技术和视频游戏。这是因为 5 年多来,我一直在为各种技术和视频游戏网站撰写文章,旨在以每个人都能理解的语言为您提供所需的信息。
如果您有任何疑问,我的知识范围涵盖与 Windows 操作系统以及手机 Android 相关的所有内容。我对您的承诺是,我总是愿意花几分钟帮助您解决在这个互联网世界中可能遇到的任何问题。