Skip to main content
PromptQuorum
主页/本地LLM进阶/LocalAI 详解:自托管的 OpenAI API 替代方案(2026)
Overview & Reference

LocalAI 详解:自托管的 OpenAI API 替代方案(2026)

·12 分钟阅读·Hans Kuepper 作者 · PromptQuorum创始人,多模型AI调度工具 · PromptQuorum

LocalAI 是一款免费、MIT 许可、可自托管的 AI 引擎,它在一组独立加载的推理后端之前提供了 OpenAI 兼容 API(另外还有 Anthropic 兼容和 ElevenLabs 兼容的接口)。 它的核心并不内置单一固定的推理引擎,而是将每个请求路由到可替换的后端进程——文本使用 llama.cppvLLM,图像生成使用基于 diffusers 的后端,语音转文字使用基于 whisper.cpp 的后端,文字转语音和向量嵌入则使用其他后端——因此一个自托管实例就能覆盖原本需要多个独立工具才能实现的多种模态。它既可以仅用 CPU 运行(无需 GPU),也可以借助 NVIDIA CUDA、AMD ROCm、Intel 或 Vulkan 加速,并以 Docker 镜像、macOS 安装包和 CLI 二进制文件的形式分发。

LocalAI 是由 Ettore Di Giacinto("mudler")创建、由开源社区在 github.com/mudler/LocalAI 维护的免费、MIT 许可、可自托管的 AI 引擎。它在一组独立加载的模块化后端之前提供了一个可直接替换的 OpenAI 兼容 API(另外还有 Anthropic 兼容和 ElevenLabs 兼容的接口),因此单个运行实例就能覆盖文本生成、图像生成、语音转文字、文字转语音和向量嵌入,而不需要为每种模态单独准备一个工具。LocalAI 并不会取代 llama.cppvLLM 这类引擎——它可以将两者(以及其他引擎)作为后端加载,扮演的是编排与 API 兼容层的角色,而不是与之竞争的底层推理引擎。

LocalAI 详解:自托管的 OpenAI API 替代方案(2026)

关键要点

  • 免费、MIT 许可,由 Ettore Di Giacinto("mudler")创建,在 github.com/mudler/LocalAI 维护
  • 可直接替换的 OpenAI 兼容 API,另外还有 Anthropic 兼容和 ElevenLabs 兼容接口
  • 轻量级核心将请求路由到独立加载的后端,而不是内置一个固定的推理引擎
  • 项目文档记录的后端包括用于文本的 llama.cpp 和 vLLM、用于图像生成的基于 diffusers 的后端,以及用于语音转文字的基于 whisper.cpp 的后端
  • 从单一运行实例覆盖文本生成、图像生成、转录、文字转语音和向量嵌入
  • 既可仅用 CPU 运行(无需 GPU),也可借助 NVIDIA CUDA、AMD ROCm、Intel 或 Vulkan 加速
  • 以 Docker 镜像(CPU 和 GPU 版本)、macOS 安装包和 CLI 二进制文件形式分发;项目文档中也记录了 Kubernetes 部署方式
  • 并非与之竞争的底层推理引擎——它把 llama.cpp、vLLM 等引擎作为后端加载,而不是取代它们

📍 简单一句话

LocalAI 是一款免费、MIT 许可、可自托管的引擎,在包括 llama.cpp、vLLM、diffusers 和 whisper.cpp 在内的可替换后端之前提供 OpenAI 兼容 API,单一实例即可覆盖文本、图像与音频。

💬 简单来说

不必用一个应用聊天、另一个生成图像、再用一个做转录,LocalAI 是一个单一的自托管服务器,说的是与 OpenAI 相同的 API,因此现有的 OpenAI 客户端代码可以直接指向它,而它在后台悄悄把每个请求转交给真正处理该任务的引擎。

📌: 本文基于 LocalAI 官方 GitHub 仓库 及其公开文档撰写,并非独立基准测试的结果。由于 LocalAI 发布频繁,本文对具体版本的功能说法和性能数据均未做独立测量,因此有意避免给出这类断言。

LocalAI 是什么?

LocalAI 是一款免费、MIT 许可、可自托管的 AI 引擎,让你可以在自己的硬件上运行与 OpenAI API 兼容的文本、图像和音频模型。它由在 GitHub 上使用 "mudler" 这一身份的 Ettore Di Giacinto 创建,如今由开源社区维护。该项目将自身目标描述为:在任何硬件上运行跨多种模态的模型,且并不严格要求 GPU。

  • 由 Ettore Di Giacinto("mudler")创建;源代码和文档位于 github.com/mudler/LocalAI
  • MIT 许可:在许可条款范围内可自由使用、修改和自托管,包括商业用途
  • 提供与 OpenAI API 兼容的服务器,另外还记录了 Anthropic 兼容和 ElevenLabs 兼容的接口,因此为这些 API 编写的现有客户端代码往往可以直接指向自托管的 LocalAI 实例
  • 其定位侧重于模态的广度,而不是在单一模态上做到最快——一次部署即可覆盖文本、图像和音频
  • 与单一推理引擎不同:它自身的核心负责请求路由和 API 兼容性,而实际的模型执行发生在独立的后端进程中

LocalAI 的后端架构是如何工作的?

LocalAI 的核心是一个轻量级路由器,而不是单体式推理引擎——它接收一个 OpenAI 兼容请求,判断该请求对应哪个模型和后端,然后与一个独立的后端进程通信,由该进程真正执行推理。

  • 核心进程负责 API 兼容性、请求路由和模型配置,随后通过 gRPC 与后端进程通信
  • 项目文档记录的后端包括用于文本生成的 llama.cppvLLM、用于图像生成的基于 diffusers 的后端,以及用于语音转文字的基于 whisper.cpp 的后端
  • 后端可以从模型/后端图库中安装,也可以通过指向特定后端和模型的 YAML 文件手动配置
  • 由于后端是独立的、可安装的组件,一次部署只需加载该使用场景真正需要的后端,而不必默认捆绑所有可能的引擎
  • 除了封装现有引擎外,项目本身也开发了一些原生后端

除文本生成外,LocalAI 还能做什么?

LocalAI 文档记录的能力范围覆盖的模态多于 llama.cpp 或 vLLM 这类纯文本引擎,这也是它与这些工具的主要区别。

文本生成

典型后端:
llama.cpp、vLLM — chat/completions 接口

图像生成

典型后端:
基于 diffusers 的后端(Stable Diffusion 类)

语音转文字(STT)

典型后端:
基于 whisper.cpp 的后端

文字转语音(TTS)

典型后端:
项目文档记录的专用 TTS 后端

向量嵌入

典型后端:
专用的嵌入模型后端

上表中每一行都对应一个独立的后端,必须安装该后端才能使对应模态可用——仅安装 LocalAI 本身并不会自动启用所有模态。具体后端名称和覆盖范围会随版本变化,因此应以项目自身的图库作为当前信息来源,而不是一份固定清单。

LocalAI 需要什么硬件?

按照文档记录的定位,LocalAI 可在任何硬件上运行,并不严格要求 GPU——同一个实例既可以仅用 CPU 处理较轻的工作负载,也可以在有 GPU 的情况下为更大的模型使用 GPU 加速。

仅 CPU

详情:
文档记录为完全支持、无需 GPU,文本方面使用 llama.cpp 等针对 CPU 优化的后端。

NVIDIA GPU(CUDA)

详情:
官方发布了专门的 CUDA 版 Docker 镜像;当存在受支持的 GPU 时,兼容后端会使用加速。

AMD GPU(ROCm)

详情:
官方发布了 ROCm/hipBLAS 版 Docker 镜像,作为文档记录的 AMD 加速路径。

Intel GPU(oneAPI)

详情:
官方为 Intel GPU 加速发布了专门的 Intel 版 Docker 镜像。

Vulkan

详情:
官方发布了 Vulkan 版 Docker 镜像,作为跨厂商的 GPU 加速选项。

Apple Silicon(Mac)

详情:
官方发布了原生 macOS 安装包;文档记录了针对 Apple Silicon Mac 的 Metal 加速后端。

实际可用的模型规模和速度仍取决于可用的 RAM/VRAM 以及某个模型所使用的后端,这一点与直接使用 llama.cpp 或 vLLM 时相同——LocalAI「无需 GPU」的定位说明的是纯 CPU 路径得到完全支持,而不是说每个模型或后端在没有 GPU 时都能表现同样出色。

如何安装并运行 LocalAI?

LocalAI 文档记录的最快路径是 Docker,提供纯 CPU 镜像,并针对不同硬件提供各自独立的 GPU 加速镜像标签。

  1. 1
    如果尚未安装 Docker,请先安装,然后根据自己的硬件选择纯 CPU 镜像或对应的 GPU 镜像标签。
  2. 2
    仅使用 CPU 时,运行:docker run -p 8080:8080 --name local-ai -ti localai/localai:latest
  3. 3
    对于 NVIDIA GPU,改用 CUDA 版镜像,例如 localai/localai:latest-gpu-nvidia-cuda-12,并在 Docker 命令中加入 --gpus all
  4. 4
    对于 AMD、Intel 或 Vulkan GPU,使用项目文档记录的对应 -gpu-hipblas-gpu-intel-gpu-vulkan 镜像标签。
  5. 5
    容器运行后,LocalAI 默认监听 8080 端口。
  6. 6
    通过 CLI(local-ai models install <name>)或 Web UI 的模型图库安装模型,或直接用 local-ai run <name> 启动(如有需要会先自动下载)。
  7. 7
    向 OpenAI 兼容接口发送第一个请求:`curl http://localhost:8080/v1/chat/completions -H "Content-Type: application/json" -d '{"model": "<已安装的模型名>", "messages": [{"role": "user", "content": "你好!"}]}'`。
  8. 8
    只需修改基础 URL 和模型名称,即可将现有的 OpenAI API 客户端代码指向你的自托管实例。

运行 LocalAI 需要 GPU 吗?

不需要——LocalAI 文档记录为可仅用 CPU 运行、无需 GPU,同时也为拥有 GPU 的环境单独发布了针对 NVIDIA、AMD、Intel 和 Vulkan 硬件的 GPU 加速版 Docker 镜像标签。

LocalAI 的模型从哪里获取?

项目文档记录了多种来源:自带的模型图库(可通过 CLI 或 Web UI 安装)、Hugging Face 仓库、Ollama 格式的模型引用、直接指定的 YAML 配置 URL,以及 OCI 镜像。

LocalAI 与 Ollama 相比如何?

LocalAI 和 Ollama 都能让人轻松地在简单 API 背后自托管模型,但两者面向的范围不同:Ollama 是围绕一条针对文本(以及部分视觉)模型的快速、极简单用户路径构建的,而 LocalAI 则围绕更广泛的模态覆盖以及 OpenAI/Anthropic/ElevenLabs API 兼容性构建,涵盖文本、图像和音频。

  • Ollama 主要专注于文本(以及部分视觉)模型,提供非常简单的一条命令安装和拉取模型的工作流,目标是快速的单用户配置
  • LocalAI 通过为每种模态加载不同的后端,在单次部署中记录了更广泛的模态覆盖——文本、图像生成、转录和文字转语音
  • LocalAI 文档记录了对三种 API 格式(OpenAI、Anthropic、ElevenLabs)的可直接替换兼容性;Ollama 的主要接口是自身的 API,另有一层独立的 OpenAI 兼容层
  • LocalAI 可以将 Ollama 格式的模型引用(ollama://)作为其支持的多种模型来源之一加载,与其自身图库、Hugging Face 和 YAML 配置并列
  • Ollama 的配置面刻意保持最小化;LocalAI 则以更广泛的范围为代价,暴露了更多配置项(后端选择、YAML 模型配置、多种部署目标)

LocalAI 与 llama.cpp、vLLM 相比如何?

LocalAI 并不是 llama.cppvLLM 的竞争性底层推理引擎——其文档记录的架构会将两者都作为文本生成的可替换后端加载,同时还有用于图像和音频的独立后端。

llama.cpp

角色:
一款对 CPU/GPU 友好的文本推理引擎;是 LocalAI 可加载的文本后端之一。

vLLM

角色:
一款高吞吐量 GPU 服务引擎;文档记录为 LocalAI 可加载的另一个文本后端。

LocalAI

角色:
位于这些后端之上的路由与 API 兼容层,在文本之外还加入了图像、音频和嵌入后端。
关于LocalAI的文章(3篇)

其他提及:

在这些项目之间做选择通常不是「二选一」——一个 LocalAI 部署的文本请求底层可能正在运行 llama.cpp 或 vLLM。真正需要判断的是:你想直接对话该引擎(llama.cpp、vLLM),还是通过一个也能路由图像和音频请求的更广泛的多模态 API 层(LocalAI)。

谁适合使用 LocalAI?

LocalAI 适合那些希望用一个自托管 API 界面覆盖多种模态的人,而不适合只想以最快方式在自己机器上运行单一文本模型的人。

LocalAI 与其他替代方案一览

这些工具在某些方面存在重叠,但在范围和配置成本上有所不同。

LocalAI

范围:
通过可替换后端提供文本、图像、音频、嵌入。Docker、macOS 安装包或 CLI 二进制文件。
最适合:
兼容 OpenAI/Anthropic/ElevenLabs 的单一自托管多模态 API。

Ollama

范围:
主要是文本(以及部分视觉)模型。一条命令即可安装并拉取模型。
最适合:
面向单用户的最快本地文本模型使用路径。

llama.cpp

范围:
面向 CPU 和 GPU 的文本推理引擎。CLI、内置 Web UI 以及 OpenAI 兼容服务器。
最适合:
对文本推理进行引擎级的直接控制——通常是 Ollama 和 LocalAI 背后的后端。

vLLM

范围:
高吞吐量 GPU 文本服务库。Python 包,OpenAI 兼容服务器。
最适合:
仅针对文本场景的最大并发 GPU 吞吐量。

本文并未对这些工具进行独立的相互基准测试,也不主张其中某一个在技术上更优——上表仅涵盖已记录的范围、配置和架构事实。

本文未涵盖哪些内容?

这是一篇基于 LocalAI 公开文档和代码仓库撰写的解释性文章,并非实际的基准测试或安全审计。

  • 未包含针对 Ollama、llama.cpp 或 vLLM 的独立测量吞吐量、延迟或输出质量对比——这取决于 LocalAI 配置使用的后端和模型,以及硬件本身
  • 并未列出项目支持的每一个后端——后端生态会随时间变化,项目自身的图库和文档才是当前覆盖范围的权威来源
  • 未对代码进行逐行安全审计——它是开源且 MIT 许可的,源代码本身可供独立审查
  • 未涵盖每一种部署目标(Kubernetes 清单、特定云环境配置)——本文聚焦于大多数自托管用户最先尝试的 Docker 和 CLI 路径
  • 除项目文档记录的内容外,未对多用户或企业功能(API 密钥、配额、身份验证)进行独立验证——在生产环境中依赖它们进行访问控制之前,请对照官方文档核实当前能力

尝试 LocalAI 时的常见错误

使用 LocalAI 时的大多数摩擦,都源于把它当作一个单一固定引擎,而不是一个位于独立后端之前的路由器。

常见问题

LocalAI 是什么?

LocalAI 是由 Ettore Di Giacinto("mudler")创建的免费、MIT 许可、可自托管的 AI 引擎,它在文本、图像和音频模型的可替换后端之前提供 OpenAI 兼容 API。

LocalAI 免费吗?

是的。LocalAI 是以 MIT 许可发布的免费开源软件,自托管无需订阅或账号。

LocalAI 需要 GPU 吗?

不需要——LocalAI 文档记录为可仅用 CPU 运行、无需 GPU。同时也为 NVIDIA CUDA、AMD ROCm、Intel 和 Vulkan 硬件单独发布了 GPU 加速版 Docker 镜像。

LocalAI 和 llama.cpp 是同一个东西吗?

不是。llama.cpp 是一款文本推理引擎;LocalAI 是一层路由与 API 兼容层,它可以将 llama.cpp(或 vLLM,或其他引擎)作为多个后端之一加载,同时还增加了图像和音频后端。

LocalAI 比 Ollama 更好吗?

「更好」取决于范围:Ollama 是一款更简单、更专注的工具,主要面向文本模型且配置极简;而 LocalAI 以更多配置为代价,在单一 API 背后覆盖了更广泛的模态(文本、图像、音频)。

LocalAI 支持哪些 API?

LocalAI 文档记录了对 OpenAI API 的可直接替换兼容性,另外还有 Anthropic 兼容和 ElevenLabs 兼容接口,因此为这些 API 编写的现有客户端代码,往往只需修改基础 URL 就能对接自托管的 LocalAI 实例。

LocalAI 除了聊天之外,还能生成图像和转录音频吗?

可以。LocalAI 文档记录的后端包括用于图像生成的基于 diffusers 的后端,以及用于语音转文字的基于 whisper.cpp 的后端,此外还有文字转语音和嵌入后端。

LocalAI 与移动应用「Loci」有关系吗?

没有。Loci 是一款独立、无关的移动应用,用于设备端离线聊天。LocalAI 是 github.com/mudler/LocalAI 上的自托管服务器项目,与 Loci 没有共享代码、公司或任何关联。

LocalAI 默认使用哪个端口?

通过其文档记录的 Docker 镜像运行时,LocalAI 默认监听 8080 端口。

LocalAI 可以从哪里获取模型?

项目文档记录了多种模型来源:自带的可安装图库、Hugging Face 仓库、Ollama 格式的引用、直接指定的 YAML 配置 URL,以及 OCI 镜像。

参考来源

← 返回 本地LLM进阶