50 多个用于本地运行 LLM 的开源选项

有许多开源工具可用于在本地托管开放权重 LLM 以进行推理,从命令行 (CLI) 工具到完整的 GUI 桌面应用程序。在这里,我将概述一些流行的选项并提供我自己的建议。我将这篇文章分为以下几个部分:

  1. 一体化桌面解决方案,提供可访问性
  2. 通过 CLI 和后端 API 服务器进行 LLM 推理
  3. 用于连接到 LLM 后端的前端 UI

每个部分都包含一个相关开源 LLM GitHub 存储库的表格,以衡量受欢迎程度和活动。单击此处查看完整表格单击此处查看相关的GitHub 存储库

这些项目的范围可能重叠,并可能分为推理后端服务器和 UI 的不同组件。该领域发展迅速,因此细节可能很快就会过时。

开源本地 LLM 存储库的 Google Sheets,可在此处获取

#1.桌面解决方案

一体化桌面解决方案提供了执行 LLM 推理的易用性和最少的设置,突出了人工智能技术的可访问性。只需下载并启动.exe.dmg文件即可开始。这些工具非常适合寻求即用型 ChatGPT 替代方案的技术含量较低的用户,为任何希望在采用更复杂的技术替代方案之前探索 AI 的人提供坚实的基础。

热门选择:GPT4All

GPT4All是一款镜像 ChatGPT 界面的一体化应用程序,可快速运行本地 LLM 以执行常见任务和 RAG。提供的模型开箱即用,体验集中于最终用户。

M1 MacOS 设备上的 GPT4All UI 实时演示(来源)

LM Studio 的开源替代品:Jan

LM Studio因其简单的设置和用户友好的界面而经常受到 YouTube 用户和博主的称赞。提供模型卡查看、模型下载、系统兼容性检查等功能,方便初学者选型。

尽管有其优点,但由于其专有性质,我对推荐 LM Studio 犹豫不决,由于许可限制,这可能会限制其在商业环境中的使用。此外,产品不可避免的货币化也是一个问题。我赞成使用可用的开源解决方案。

Jan是 LM Studio 的开源替代品,具有干净、优雅的 UI。开发人员积极参与他们的社区( XDiscord),维护良好的文档,并对他们的工作保持透明——例如他们的路线图

Jan UI 实时演示:Jan v0.4.3-nightly 在 Mac M1、16GB Sonoma 14 上(来源)

通过最近的更新,您可以轻松地从 Jan UI 下载模型。您还可以使用 HuggingFace 提供的任何模型或上传您的自定义模型

Jan 还拥有一个基于llama.cpp构建的最小 LLM 推理服务器 (3 MB),称为硝基,它为他们的桌面应用程序提供支持。

功能丰富:h2oGPT

H2O.ai是一家人工智能公司,通过其 AutoML 产品和现在的生成式人工智能产品为开源社区做出了巨大贡献。h2oGPT提供广泛的功能和定制,非常适合 NVIDIA GPU 用户:

  • 离线 RAG 支持多种文件格式
  • 使用奖励模型评估模型性能
  • 搜索代理、文档问答、Python 代码、CSV
  • 通过数千次单元和集成测试进行稳健的测试

在将其安装到系统上之前,您可以在gpt.h2o.ai上浏览演示来体验该界面。 如果用户界面满足您的需求并且您对更多功能感兴趣,则可以下载该应用程序的基本版本,该版本提供有限的文档查询功能。如需安装,请参阅安装说明

h2oGPT 可在https://gpt.h2o.ai/获取

其他桌面解决方案

表 5 最流行的 FOSS(免费开源软件)LLM 桌面解决方案:

排名前 5 位的开源 LLM 桌面应用程序,完整表格请参见此处

#2.通过 CLI 和后端 API 服务器进行 LLM 推理

CLI 工具支持具有远程 API 的本地推理服务器,与前端 UI(在第 3 节中列出)集成以获得自定义体验。他们通常提供与 OpenAI API 兼容的端点,以便通过最少的代码更改轻松进行模型交换。

尽管聊天机器人是最常见的用例,但您也可以使用CrewAI和 Microsoft AutoGen等框架,使用这些工具为代理提供支持。

高度优化:llama.cpp

llama.cpp 为跨设备的 LLM 推理提供了最少的设置。该项目是 Llama2 的 C++ 端口,支持GGUF 格式模型,包括多模式模型,例如LLava。其效率适合消费类硬件和边缘设备。

llama.cpp (来源)

有许多基于 llama.cpp 的绑定,例如llama-cpp-python(自述文件的描述中列出了更多内容)。因此,许多工具和 UI 都是基于 llama.cpp 构建的,并提供了更加用户友好的界面。

要开始使用,请按照此处的说明进行操作。您需要从 HuggingFace下载 GGUF 格式的模型。

llama.cpp 有自己的 HTTP 服务器实现,只需键入./server即可启动。

# 基于 Unix 的示例
./server -m models/7B/ggml-model.gguf -c 2048

这意味着您可以轻松地将其与第 2 部分列出的其他网络聊天 UI 连接起来。

此选项最适合那些熟悉命令行界面 (CLI) 并喜欢编写自定义脚本并在终端中查看输出的用户。

直观的 C​​LI 选项:Ollama

Ollama是另一个 LLM 推理命令行工具——基于 llama.cpp 构建,并将脚本抽象为简单的命令。受 Docker 启发,它提供简单直观的模型管理,使模型交换变得容易。您可以在https://ollama.ai/library查看可用模型的列表。您还可以按照这些说明从 HuggingFace 运行任何 GGUF 模型。

奥拉马(来源

按照说明下载 Ollama 应用程序后。您可以通过运行以下命令在终端中运行简单的推理:

骆驼运行骆驼2

从 Ollama 的README中选择模型大小的有用通用启发式:

您应该至少有 8 GB 可用于运行 7B 模型,16 GB 可以运行 13B 模型,32 GB 可以运行 33B 模型。

默认情况下,Ollama 使用 4 位量化。要尝试其他量化级别,请尝试其他标签。 q后面的数字表示用于量化的位数(即q4表示4位量化)。数字越高,模型越准确,但运行速度越慢,并且需要更多内存。

通过ollama serve,Ollama 将自己设置为端口上的本地服务器11434,可以与其他服务连接。常见问题解答提供了更多信息。

Ollama 因其强大的社区支持和积极的开发而脱颖而出。它的频繁更新是由 Discord 上的用户反馈驱动的。 Ollama 有很多集成,人们开发了移动设备兼容性。

其他法学硕士后端选项

前 5 个 LLM 推理库表:

前 5 个开源 LLM 后端,完整表格可在此处查看

#3。用于连接到 LLM 后端的前端 UI

第 2 节中讨论的工具可以使用法学硕士的预训练数据处理基本查询。然而,通过网络搜索和检索增强生成 (RAG) 集成外部信息,它们的功能显着扩展。利用利用现有 LLM 框架(如 LangChain 和 LlamaIndex)的用户界面,可以简化将数据块嵌入矢量数据库的过程。

本节中提到的 UI 与使用第 1 节的工具设置的后端服务器无缝连接。它们与各种 API 兼容,包括 OpenAI,从而可以轻松与专有和开放权重模型集成。

在视觉和功能上与 ChatGPT 最相似:Open WebUI

Open WebUI是一个 Web UI,提供本地 RAG 集成、网页浏览、语音输入支持、多模式功能(如果模型支持)、支持 OpenAI API 作为后端等等。以前称为ollama-webui,由 Ollama 团队开发。

OpenWeb UI 演示(源)

要将 Open WebUI 与 Ollama 连接,您只需要安装 Docker,然后只需运行以下命令:

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart 始终 ghcr.io/打开 webui/打开 webui:main

然后,您可以通过http://localhost:3000访问 Open WebUI 。

功能丰富的 UI:Lobe Chat

Lobe Chat有更多功能,包括用于函数调用和代理市场的插件系统。插件包括搜索引擎、网页提取以及许多来自社区的自定义插件。他们的提示代理市场类似于ChatGPT市场,允许用户共享和优化提示代理以供自己使用。

Lobe 聊天 UI (来源)

要与 Ollama 本地法学硕士发起 Lobe Chat 对话,只需使用 Docker:

docker run -d -p 3210:3210 -e OLLAMA_PROXY_URL=http://host.docker.internal:11434/v1 lobehub/lobe-chat

然后,您可以通过http://localhost:3210访问 Lobe Chat 。阅读此处了解更多信息。

支持多种后端的 UI:text-generation-webui

Oogabooga 的text- Generation-webui是一个面向 LLM 的功能齐全的 Gradio Web UI,支持许多后端加载器,例如 Transformer、GPTQ、autoawq (AWQ)、exllama (EXL2)、llama.cpp (GGUF) 和 Llama 模型 – 这些都是重构模型带有额外调整的 Transformer 代码库。

文本生成-webui UI (源)

text- Generation-webui 具有高度可配置性,甚至由于其 Transformer 后端而可以使用 QLoRA 进行微调。这使您可以增强模型的功能并根据您的数据进行自定义。他们的wiki上有完整的文档。我发现这个选项对于快速测试模型很有用,因为它具有强大的开箱即用支持。

其他用户界面选项

前 5 个开源 LLM UI 表:

前 5 个 LLM UI,完整表格可在此处查看

结论:我使用和推荐的

我一直在使用 Ollama,因为它具有多功能性、轻松的模型管理和强大的支持,尤其是它与 OpenAI 模型的无缝集成。对于编码,Ollama 的 API 与continue.dev VS Code 插件连接,取代了 GitHub Copilot。

对于 UI,我更喜欢 Open WebUI,因为其专业的、类似 ChatGPT 的界面,或者 Lobe Chat 的附加插件。对于那些寻求类似于 ChatGPT 的用户友好桌面应用程序的人来说,Jan 是我的首要推荐。

我使用 Ollama 和 Jan 进行本地法学硕士推理,具体取决于我希望如何与法学硕士互动。您可以集成Ollama 和 Jan 以节省系统存储并避免模型重复。

给TA打赏
共{{data.count}}人
人已打赏
AI新闻AI科普

苹果全新 ReALM AI 模型即将让你的 iPhone 成为天才

2024-5-21 18:22:06

AI新闻AI科普

2024 年最值得关注的 AI 工具和平台

2024-5-21 18:34:59

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
今日签到
有新私信 私信列表
搜索