适用于本地 Ollama 实例的聊天界面

2025年Ollama最突出的UI概览

目录

本地托管的 Ollama 允许你在自己的机器上运行大型语言模型,但通过命令行使用它并不友好。
以下是几个提供 ChatGPT风格界面 的开源项目,它们可以连接到本地的 Ollama。

这些用户界面支持 对话聊天,通常还具备 文档上传以实现检索增强生成(RAG) 等功能,并作为网页或桌面应用程序运行。下面是对关键选项的比较,随后是每个项目的详细说明。

与Ollama兼容的用户界面比较

用户界面工具 平台 文档支持 Ollama集成 优势 限制
Page Assist 浏览器扩展(Chrome、Firefox) 是 – 可以上传文件进行分析 通过扩展配置连接到本地 Ollama 浏览器内聊天;易于管理模型和网页上下文集成。 仅限浏览器;需要安装/配置扩展。
Open WebUI 网页应用(自托管;Docker/PWA) 是 – 内置 RAG(上传文档或添加到库) 直接支持 Ollama API 或捆绑服务器(配置基础 URL) 功能丰富(多模型、离线、图像生成);移动友好(PWA)。 设置较重(Docker/K8s);广泛的功能可能对简单使用来说过于复杂。
LobeChat 网页应用(自托管;PWA 支持) 是 – “知识库”支持文件上传(PDF、图像等) 支持 Ollama 作为多个 AI 后端之一(需启用 Ollama 的 API 访问) 精致的 ChatGPT 风格 UI;语音聊天、插件和多模型支持。 功能复杂;需要环境设置(例如 Ollama 的跨域)。
LibreChat 网页应用(自托管;多用户) 是 – “与文件聊天”使用 RAG(通过嵌入) 与 Ollama 及其他许多提供者兼容(每聊天可切换) 熟悉的 ChatGPT 风格界面;丰富的功能(代理、代码解释器等)。 安装/配置可能较为复杂;大型项目可能对基本使用来说过于复杂。
AnythingLLM 桌面应用(Windows、Mac、Linux)或网页(Docker) 是 – 内置 RAG:拖放文档(PDF、DOCX 等)并附带引用 Ollama 作为 LLM 提供商支持(在配置或 Docker 环境中设置) 一体化 UI(带您文档的私有 ChatGPT);无代码代理构建器、多用户支持。 资源使用较高(嵌入式数据库等);桌面应用缺少一些多用户功能。
Chat-with-Notes 网页应用(轻量 Flask 服务器) 是 – 上传文本/PDF 文件并与其内容聊天 使用本地运行的 Ollama 作为所有 AI 回答(需本地运行 Ollama) 非常简单的设置和界面,专注于文档问答;数据本地存储。 基本的 UI 和功能;单用户,一次只能处理一个文档(无高级功能)。

每个工具都 积极维护 并且是开源的。接下来,我们将深入探讨每个选项的详细信息,包括它们如何与 Ollama 配合使用、显著功能以及权衡。

Page Assist(浏览器扩展)

Page Assist 是一个开源的浏览器扩展,它将本地 LLM 聊天功能带入浏览器。它支持 基于 Chromium 的浏览器和 Firefox,提供一个类似 ChatGPT 的侧边栏或标签,您可以在其中与模型进行对话。Page Assist 可以通过其设置连接到 本地运行的 Ollama 作为 AI 提供商,或其它本地后端。值得注意的是,它允许您 添加文件(如 PDF 或文本) 供 AI 在聊天中分析,从而实现基本的 RAG 工作流程。您甚至可以让它协助当前网页的内容或执行网络搜索以获取信息。

设置很简单:从 Chrome 网上应用店或 Firefox 扩展中安装扩展,确保 Ollama 正在运行,并在 Page Assist 的设置中选择 Ollama 作为本地 AI 提供商。界面包括聊天历史、模型选择和一个可选的分享链接以分享聊天结果。如果需要全标签聊天体验,还可以通过键盘快捷键访问 网页界面

优势: Page Assist 轻量且便捷 – 由于它位于浏览器中,无需运行单独的服务器。它非常适合浏览上下文(您可以在任何网页上打开它),并支持 互联网搜索集成和文件附件 以丰富对话。它还提供一些实用功能,如用于新聊天和切换侧边栏的键盘快捷键。

限制: 作为一个扩展,它 被限制在浏览器环境中。UI 更简单,功能不如完整的独立聊天应用丰富。例如,多用户管理或高级代理插件不在范围内。此外,初始设置可能需要构建/加载扩展,如果您的浏览器没有预打包版本(该项目提供使用 Bun 或 npm 的构建说明)。总体而言,Page Assist 最适合在浏览网页时快速访问 Ollama 驱动的聊天,具有中等 RAG 能力的个人使用。

Open WebUI(自托管网页应用)

Open WebUI 界面

Open WebUI 的设置界面,显示已配置的 Ollama 连接(基础 URL 设置为本地 Ollama API)。UI 包括一个文档部分,支持 RAG 工作流程。

Open WebUI 是一个功能强大、通用的聊天前端,最初是为 Ollama 创建的,现在已扩展支持各种 LLM 后端。它作为自托管的网页应用运行,通常通过 Docker 或 Kubernetes 部署以简化设置。运行后,您可以通过浏览器访问它(支持在移动设备上安装为渐进式网页应用)。

Open WebUI 提供一个完整的 聊天界面,支持多用户、模型管理和广泛的功能。关键的是,它具有 内置的 RAG 能力 – 您可以上传或导入文档到 文档库,然后通过检索增强进行提问。界面允许直接在聊天会话中加载文档,或维护一个持久的知识库。它甚至支持执行 网络搜索 并将结果注入对话中以获取最新信息。

Ollama 集成: Open WebUI 通过其 API 连接到 Ollama。您可以将 Open WebUI 的 Docker 容器与 Ollama 服务器一起运行,并设置一个环境变量指向 Ollama 的 URL,或者使用一个特殊的 Docker 镜像,该镜像 捆绑了 Ollama 与网页界面。实际上,启动容器后,您将在浏览器中访问 Open WebUI,并看到 “服务器连接已验证” 的提示(如上图所示),这意味着 UI 已准备好使用本地 Ollama 模型进行聊天。Open WebUI 还支持 与 OpenAI API 兼容的端点,因此它可以与 LM Studio、OpenRouter 等接口,而不仅仅是 Ollama。

优势: 这是一个 功能最丰富的 UI 之一,并且非常灵活。它支持 多个同时运行的模型 和对话线程,自定义“角色”或系统提示,图像生成等。RAG 实现非常强大 – 您可以得到一个完整的 UI 来管理文档,甚至配置使用哪种向量存储或搜索服务进行检索。Open WebUI 也正在积极开发(其 GitHub 上的高星级数表明其拥有庞大的社区),并设计为可扩展和可扩展。如果您想要一个全面的 本地模型聊天 UI,尤其是在多用户或复杂使用场景中,Open WebUI 是一个很好的选择。

限制: 强大的功能也意味着更高的复杂性。Open WebUI 可能 对简单的个人使用来说过于复杂 – 部署 Docker 容器和管理配置可能对不熟悉的人来说令人望而生畏。它比轻量级应用消耗更多资源,因为它运行一个 Web 服务器、聊天历史的可选数据库等。此外,像基于角色的访问控制和用户管理这样的功能虽然有用,但表明它更适合服务器设置 – 一个家庭 PC 上的单个用户可能不需要所有这些。简而言之,设置更复杂,界面可能对只需要基本 ChatGPT 克隆的人来说显得复杂。但如果您确实需要其广泛的功能(或希望在一个 UI 中轻松切换 Ollama 和其他模型提供者),Open WebUI 是一个顶级选择。

LobeChat(带插件的ChatGPT风格框架)

LobeChat UI

LobeChat 界面横幅显示“Ollama 支持”和多个本地模型。LobeChat 允许您使用 Ollama 或其他提供商部署一个精美的 ChatGPT 风格网页应用,支持语音输入和插件。

LobeChat 是一个开源的聊天框架,强调用户界面的精致和灵活性。它本质上是一个 ChatGPT 风格的网页应用,您可以自托管,支持 多个 AI 提供商 – 从 OpenAI 和 Anthropic 到通过 Ollama 的开源模型。LobeChat 的设计注重隐私(您自己运行它),并具有现代界面,包括方便的功能,如对话记忆、语音对话模式,甚至通过插件进行文本到图像生成。

LobeChat 的一个关键功能是其 知识库 能力。您可以 上传文档(如 PDF、图像、音频、视频) 并创建一个知识库,可以在聊天中使用。这意味着您可以询问文件内容的问题 – LobeChat 支持的 RAG 工作流程。UI 提供了这些文件/知识库的管理,并允许在对话中切换它们的使用,从而提供比基础 LLM 更丰富的问答体验。

要使用 LobeChat 与 Ollama,您将部署 LobeChat 应用(例如,通过提供的 Docker 镜像或脚本)并配置 Ollama 作为后端。LobeChat 将 Ollama 视为首选提供商 – 它甚至通过 Pinokio AI 浏览器提供一键部署脚本,如果您使用该浏览器。实际上,您可能需要调整 Ollama 的设置(如根据 LobeChat 的文档启用 CORS)以便 LobeChat 的网页前端可以访问 Ollama 的 HTTP API。配置完成后,您可以在 LobeChat UI 中选择一个 Ollama 主机模型并与其对话,包括查询您上传的文档。

优势: LobeChat 的 UI 通常因其 干净和用户友好 而受到称赞,非常接近 ChatGPT 的外观和感觉(这有助于采用)。它通过 语音输入/输出 为语音对话增添价值,并提供一个 插件系统 来扩展功能(类似于 ChatGPT 的插件,可以实现网络浏览或图像生成)。多模型支持意味着您可以在同一界面中轻松切换,例如,从 Ollama 本地模型切换到 OpenAI API 模型。它还支持作为移动友好的 PWA 安装,因此您可以随时随地访问本地聊天。

限制: 设置 LobeChat 可能比一些替代方案更复杂。它是一个全栈应用(通常使用 Docker Compose 运行),因此有一些开销。特别是,Ollama 集成需要启用跨域请求,并在 Ollama 端确保端口对齐 – 这是一个一次性任务,但技术性较强。此外,虽然 LobeChat 非常强大,但并非所有功能对每个用户都必要;例如,如果您不需要多提供者支持或插件,界面可能会显得杂乱,与一个最小工具相比。最后,某些高级功能(如一键部署)假设特定环境(Pinokio 浏览器或 Vercel),您可能使用也可能不使用。总体而言,LobeChat 是理想的 本地运行的完整 ChatGPT 替代方案,如果您不介意进行一些初始配置以达到此目的。

LibreChat(支持多提供者的ChatGPT克隆)

LibreChat(以前称为 ChatGPT-Clone 或 UI)是一个开源项目,旨在复制并扩展 ChatGPT 的界面和功能。它可以本地部署(或在您自己的服务器上)并支持各种 AI 后端 – 包括 通过 Ollama 的开源模型。本质上,LibreChat 提供熟悉的聊天体验(带历史记录的对话界面、用户和助手消息),同时允许您在后端插入不同的模型提供者。

LibreChat 通过一个名为 RAG API 和嵌入服务的附加功能支持 文档交互和 RAG。在界面中,您可以使用 “与文件聊天” 功能,允许您上传文档并随后提问。在后台,这使用嵌入和向量存储来从您的文件中获取相关上下文。这意味着您可以实现类似于 ChatGPT + 自定义知识的效果,所有操作都在本地进行。该项目甚至提供了一个单独的仓库用于 RAG 服务,如果您想自托管该服务。

使用 LibreChat 与 Ollama 通常涉及运行 LibreChat 服务器(例如通过 Node/Docker)并确保它可以访问 Ollama 服务。LibreChat 有一个 “自定义端点” 设置,您可以在其中输入一个 OpenAI 兼容的 API URL。由于 Ollama 可以暴露一个本地 API,该 API 与 OpenAI 兼容,LibreChat 可以指向 http://localhost:11434(或 Ollama 正在监听的任何位置)。事实上,LibreChat 明确列出了 Ollama 作为其支持的 AI 提供商之一 – 与 OpenAI、Cohere 等其他提供商并列。配置完成后,您可以在下拉菜单中选择模型(Ollama 的模型)并进行聊天。LibreChat 还允许在对话中切换模型或提供者,并支持多个聊天预设/上下文。

优势: LibreChat 的主要优势是围绕聊天体验构建的 丰富的功能集。它包括诸如 对话分支、消息搜索、内置的 代码解释器 支持(安全的沙箱代码执行)和工具/代理集成等功能。它本质上是 ChatGPT++,能够集成本地模型。对于喜欢 ChatGPT 界面的人来说,LibreChat 会非常熟悉,学习曲线很低。该项目是活跃的,并且由社区驱动(如其频繁的更新和讨论所示),并且非常灵活:您可以连接到各种 LLM 端点,甚至可以在团队设置中运行多用户模式并使用身份验证。

限制: 由于其众多功能,LibreChat 可能 运行起来更重。安装可能涉及设置一个用于存储聊天的数据库和配置各种 API 的环境变量。如果您启用了所有组件(RAG、代理、图像生成等),它是一个相当复杂的堆栈。对于只需要一个本地模型基本聊天的单个用户来说,LibreChat 可能过于复杂。此外,虽然 UI 熟悉,但它并不专门针对文档问答 – 它可以完成任务,但缺少一个专门的“文档库”界面(上传通常在聊天内或通过 API 进行)。简而言之,LibreChat 在您想要一个 本地运行的、具有广泛功能的 ChatGPT 风格环境 时表现突出,但对于狭窄的使用场景,更简单的解决方案可能就足够了。

AnythingLLM(一体化桌面或服务器应用)

AnythingLLM 是一个 一体化的 AI 应用程序,强调 RAG 和易用性。它允许您通过一个统一的界面使用开源 LLM 或甚至 OpenAI 的模型“与文档聊天”。值得注意的是,AnythingLLM 既可以作为 跨平台桌面应用(适用于 Windows、Mac、Linux)也可以 作为自托管的网页服务器(通过 Docker)。这种灵活性意味着您可以在 PC 上像正常应用一样运行它,或在服务器上部署以供多用户使用。

文档处理是 AnythingLLM 的核心。您可以 拖放文档(PDF、TXT、DOCX 等)到应用中,它将自动将其索引到向量数据库中(默认使用 LanceDB)。在聊天界面中,当您提问时,它将从您的文档中检索相关片段并提供 带引用的答案,这样您就知道信息来自哪个文件和哪个部分。本质上,它为您构建了一个私人知识库,并让 LLM 使用它作为上下文。您可以将文档组织到 “工作区” 中(例如,每个项目或主题一个工作区),根据需要隔离上下文。

使用 Ollama 与 AnythingLLM 非常简单。在配置中,您选择 Ollama 作为 LLM 提供商。如果通过 Docker 运行,您设置环境变量如 LLM_PROVIDER=ollama 并提供 OLLAMA_BASE_PATH(指向您的 Ollama 实例的 URL)。AnythingLLM 服务器将随后将所有模型查询发送到 Ollama 的 API。Ollama 是官方支持的,文档中提到您可以利用它在本地运行各种开源模型(如 Llama 2、Mistral 等)。事实上,开发人员强调,将 AnythingLLM 与 Ollama 结合使用可以解锁强大的离线 RAG 能力:Ollama 处理模型推理,而 AnythingLLM 处理嵌入和 UI/代理逻辑。

优势: AnythingLLM 提供了 私有问答和聊天的全面解决方案。关键优势包括:RAG 的简单设置(嵌入和存储向量的繁重工作已自动化),多文档支持并有明确的来源引用,以及额外的功能如 AI 代理(它有一个无代码代理构建器,您可以创建自定义工作流程和工具使用)。它还开箱即用支持多用户(特别是在服务器模式下),如有需要,可以设置用户账户和权限。界面设计简单(聊天框 + 文档/工作区的侧边栏)但功能强大。对于个人使用,桌面应用是一个大优势 – 您可以得到一个原生感觉的应用,无需打开浏览器或运行命令,且默认本地存储数据。

限制: 由于它集成了许多组件(LLM API、嵌入模型、向量数据库等),AnythingLLM 可能资源消耗较大。当您摄入文档时,生成嵌入可能需要时间和内存(它甚至支持使用 Ollama 本身或本地模型进行嵌入,如 nomic-embed)。桌面应用简化了使用,但如果您有很多文档或非常大的文件,预计后台会有大量处理。另一个限制是,高级用户可能会发现它不如自己组装的堆栈那样可配置 – 例如,它目前使用 LanceDB 或 Chroma;如果您想要不同的向量存储,您需要深入配置或代码。此外,虽然支持多提供者,但界面实际上是为一次使用一个模型而设计的(如果您想使用不同的模型,您需要切换全局提供者设置)。总之,AnythingLLM 是一个 本地文档聊天的开箱即用解决方案,特别是与 Ollama 一起使用,但与最小 UI 相比,它是一个更大的应用程序。

Chat-with-Notes(极简文档聊天界面)

Chat-with-Notes 是一个专为使用 Ollama 管理的模型与本地文本文件进行聊天而设计的极简应用程序。它本质上是一个轻量级的 Flask Web 服务器,您可以在自己的电脑上运行它,提供一个简单的网页,您可以在其中上传文档并开始聊天。该项目的目标是简洁性:它没有太多花哨的功能,但确实完成了使用本地 LLM 进行文档问答的核心任务。

使用 Chat-with-Notes 首先需要确保您的 Ollama 实例正在运行一个模型(例如,您可能通过 ollama run llama2 或其他模型启动 Ollama)。然后您启动 Flask 应用(python app.py)并打开本地网站。界面将提示您上传文件(支持的格式包括纯文本、Markdown、代码文件、HTML、JSON 和 PDF)。上传后,文件的文本内容将被显示,您可以就该内容提问或与 AI 聊天。对话以典型的聊天气泡格式进行。如果在对话过程中上传了新文件,应用程序将询问您是否要开始新的聊天或保留当前聊天上下文并仅添加新文件的信息。这样,如果需要,您可以按顺序讨论多个文件。还有按钮可以清除聊天记录或将对话导出为文本文件。

在后台,Chat-with-Notes 会向 Ollama API 查询以生成响应。Ollama 处理模型推理,而 Chat-with-Notes 仅提供提示(包括上传文本的相关部分)。它不使用向量数据库,而是直接将整个文件内容(或其部分)与您的问题一起发送给模型。这种方法最适合大小适中的文档,这些文档可以适应模型的上下文窗口。

优势: 该应用程序部署和使用都非常简单。没有复杂的配置——如果您已经安装了 Python 和 Ollama,可以在一两分钟内运行它。界面干净简洁,专注于文本内容和问答。由于它如此专注,它确保所有数据都保留在本地,仅在内存中(除了对本地主机上的 Ollama 的外部调用外,没有其他外部调用)。如果您特别想与文件聊天,而不需要没有文档的通用对话,它是一个很好的选择。

局限性: Chat-with-Notes 的极简主义意味着它缺少其他 UI 中的许多功能。例如,它不支持使用多个模型或提供商(设计上仅支持 Ollama),也不维护长期的文档库——您需要根据会话需要上传文件,没有持久的向量索引。在没有手动调整的情况下,扩展到非常大的文档可能会很困难,因为它可能会尝试在提示中包含大量文本。此外,虽然功能齐全,但界面并不那么精致(没有深色模式,没有对响应的富文本格式等)。本质上,这个工具非常适合使用 Ollama 模型进行快速、一次性文件分析。如果您需求增长(例如,需要处理许多文档或更高级的 UI),您可能会超出 Chat-with-Notes 的能力范围。但作为起点或在 Ollama 上的个人“问我 PDF”解决方案,它非常有效。

结论

这些开源 UI 可以通过提供用户友好的聊天界面和额外功能(如文档问答)来增强您使用本地 Ollama 模型的体验。最佳选择取决于您的需求和技术熟练程度:

  • 对于快速设置和基于浏览器的使用: Page Assist 是一个很好的选择,它可以直接集成到您的网络浏览中,几乎不需要麻烦。
  • 对于功能齐全的 Web 应用环境: Open WebUI 或 LibreChat 提供了广泛的功能和多模型灵活性,适合高级用户或多用户设置。
  • 对于一个经过打磨的 ChatGPT 替代方案并具有插件潜力: LobeChat 提供了自托管包中实用性和功能的良好平衡。
  • 对于专注于文档的交互: AnythingLLM 提供了一体化解决方案(特别是如果您喜欢桌面应用),而 Chat-with-Notes 则为单文档问答提供了极简主义方法。

所有这些工具都在积极维护中,您也可以期待改进和社区支持。通过选择其中一个 UI,您将能够以一种便捷的方式与本地 Ollama 主机模型进行聊天——无论是分析文档、协助编码,还是在没有云依赖的情况下拥有对话式 AI。上述每个解决方案都是开源的,因此您可以进一步根据自己的需求进行定制,甚至可以为它们的发展做出贡献。

祝您与本地 LLM 聊天愉快!

UI 项目链接

其他有用链接