Ollama

义项:本地大模型运行工具
Ollama

Ollama是一款开源软件平台,用于在个人电脑或自有服务器上运行和管理大语言模型,起源于2023年,由Jeffrey Morgan与Michael Chiang开发。它把模型下载、量化权重加载、硬件加速探测和本地接口暴露整合成一条命令的流程,用户无需申请云端接口密钥,即可在离线环境下使用开放权重模型。凭借较低的部署门槛,它成为本地推理生态中最常被引用的运行时之一,并在此基础上延伸出云端模型与编码助手集成等能力。

目录
  1. 定义
  2. 原理
  3. 发展历程
  4. 应用
  5. 局限
  6. 参见

定义

Ollama是采用麻省理工学院许可证发布的开放源代码软件,用Go语言编写,可在macOS、Windows与Linux上运行,用于在本地计算机上加载、运行和管理大语言模型。它同时提供命令行界面、图形界面、本地REST接口,以及Python与JavaScript客户端库,模型可以按名称从公共模型库中拉取。

这一工具常被外界类比为容器技术中的镜像分发方式:模型被封装为可按名字获取、启动和删除的单元,使用者不必自行编译推理框架或手工挑选量化参数[1]。其常见的运行过程是先安装客户端,再用一条拉取命令取得模型权重,随后在终端中对话或通过接口调用。

原理

Ollama 的本地推理由llama.cpp承担:后者是用 C/C++ 实现的高效推理引擎,负责读取GGUF格式的模型文件并在CPU或GPU上执行矩阵计算;Ollama 则以Go语言通过CGo绑定调用这一引擎,并把安装、下载和接口服务包装在外层[2]。由于继承了llama.cpp对多种模型架构与量化格式的支持,Ollama 能够运行llama.cpp 本身可加载的模型家族,例如Llama、Qwen、Gemma、Mistral 与DeepSeek[3]。

GGUF是一种把权重、分词器与元数据打包进单个文件的格式,取代了早期的GGML格式[2]。量化是本地运行得以成立的关键:将权重从16位浮点降低到4位或8位整数的表示,可以在质量损失有限的前提下大幅压缩内存占用与计算量,常见档位从 Q2_K 一直到 Q8_0[2]。以每个权重所占位数 $b$ 与参数量 $N$ 估算,模型文件的近似体积可写作 $S \approx N \times b / 8$ 字节,这也是小显存设备倾向选择低位数量化版本的原因[2]。

服务端启动后默认在本机回环地址的11434端口监听,并通过 /api 下的原生端点以及兼容 OpenAI 风格的 /v1 端点接受请求,因此既有客户端代码往往只需修改基础地址即可指向本地模型[4]。使用者还可以用 Modelfile 定义基座模型、系统提示词与采样参数,再通过创建命令把配置固化成新的可运行模型。

发展历程

项目于2023年发布,创始人为Jeffrey Morgan与Michael Chiang,两人此前创办的Kitematic被Docker收购,相关成果后来演变为Docker Desktop。早期版本以让用户在本地运行Llama 2等模型为目标,将下载权重、编译推理程序与设置参数等步骤合并为一条运行命令[5]。

2023年下半年起,模型库与拉取、推送机制逐步成型,GGUF 格式也在同期成为量化模型的主要载体,上游提供格式与算子、下游提供体验与分发的关系由此确立[6]。2024年前后,REST 接口、兼容 OpenAI 的端点、请求并发与模型驻留等能力相继加入,工具从终端程序扩展为可供应用嵌入的服务[6]。

2025年至2026年,Ollama 增加了托管云端模型、网页搜索、工具调用,以及与 Claude Code、Codex、OpenCode 等编码助手的对接能力。2026年7月9日,开发该软件的公司宣布完成6500万美元B轮融资,由Theory Ventures领投,Benchmark、8VC、Y Combinator 等参与,累计融资额达8800万美元;公司同时披露月活跃开发者约890万,团队成员14人。

应用

在开发实践中,Ollama 常被用作应用后端的推理层:程序把请求发往本地端口,在生产环境再切换到云端接口或自托管服务,从而在不改动业务代码的前提下完成模型替换[4]。对涉及敏感数据的场景,模型与数据都留在本地设备上,可在不连外网的情况下完成生成任务,这也是法律、医疗与政府等强监管行业关注它的原因[4]。

与编辑器结合是另一类常见用途。Continue、Cline、Aider 以及 Cursor 等工具可指向本地运行的代码模型,从而获得补全与问答能力,而代码不必发送至第三方服务[4]。此外,检索增强生成流程也可以借助本地嵌入模型完成,Ollama 支持运行嵌入模型并输出向量数组,用于构建私有知识库的检索环节。

官方还提供容器镜像,便于在服务器上以容器方式部署,并在图形界面方面提供桌面应用,降低非命令行用户的使用门槛。围绕它形成的第三方生态包括图形客户端、代理服务与各类封装库,数量达数万个集成[7]。

局限

Ollama 面向单用户或小团队的开发场景,并未针对高并发多租户服务设计;在并发压力下,其吞吐能力明显低于面向数据中心的推理框架,因此大量并发请求通常需要改用其他方案[4]。本地生成速度也完全取决于使用者的硬件条件,显存或统一内存不足时,较大的模型要么无法加载,要么需要回退到系统内存而显著变慢。

对底层参数的控制不如直接使用推理引擎细致,引擎版本与诸多运行时默认值由工具代为管理,遇到需要精细调整的场合会受到限制[8]。在模型质量上,本地可运行的量化版本与云端前沿模型仍存在差距,任务复杂程度越高,这一差距越明显[9]。

安全配置依赖使用者自行处理。该软件自身不提供身份验证与限流机制,任何能访问其端口的客户端都可以列出模型、执行推理、拉取新权重或删除已有模型;若把监听地址改为对外开放的网卡地址,端口就会以无鉴权状态暴露在网络上[10]。有研究机构在2026年1月的报告指出,相当数量的实例因绑定到 0.0.0.0 而可被公网访问,建议将其限制在本机回环地址并在前面加设反向代理与访问控制。

参见

  • llama.cpp —— Ollama 在本地执行模型时所依赖的 C/C++ 推理引擎。

  • GGUF —— Ollama 用于存放权重、分词器与元数据的模型文件格式。

  • 量化 —— 让大模型能够在消费级硬件上运行的关键压缩手段。

  • Docker —— 创始团队此前参与的项目,Ollama 的模型分发思路与之相近。

  • vLLM —— 面向多用户高吞吐场景的推理框架,与 Ollama 的定位形成对照。

  • 检索增强生成 —— 借助本地嵌入模型与知识库提升回答准确性的常见用法。

词条评价
词条统计

浏览次数:2 次

阅读量:0 次 · 阅读完成量:0 次

最近更新:2026-10-28T18:35:02Z

历史版本

本条目引用的词条
Go语言 llama.cpp Docker GGUF 量化 vLLM 检索增强生成