1. Ollama 基础认知
大家好,我是你们的老朋友。今天咱们聊聊 Ollama——这个在 AI 基础设施圈子里越来越火的项目。
说实话,我第一次接触 Ollama 是在一次内部 PoC 项目里。当时团队需要快速搭建一个本地推理环境,试了好几个方案都不太满意。要么太重,要么配置太复杂。直到我发现了 Ollama,嗯,这玩意儿确实有点东西。
1.1 什么是 Ollama
Ollama 是一个开源的、轻量级的本地大语言模型运行框架。说白了,它让你能在自己的机器上跑 LLM,不用依赖云服务,也不用折腾复杂的 CUDA 环境。
我个人习惯把它比作「Docker for LLM」。为什么这么说?因为它的设计哲学和 Docker 很像:
- 一键拉取模型:就像
docker pull一样简单 - 开箱即用:不需要手动配置推理引擎
- 标准化接口:统一的 API 和 CLI 交互方式
我在项目中遇到过不少团队,明明只是想做个小规模的模型验证,结果搭了一整套 Kubernetes + Triton Inference Server。说实话,有点杀鸡用牛刀了。Ollama 更适合这种场景——快速验证、轻量部署、单机或小集群运行。
核心特点:
- 支持多种主流模型:Llama、Mistral、Gemma、Qwen 等
- 提供 REST API,方便集成到现有系统
- 支持 GPU 加速(CUDA、Metal、Vulkan)
- 内置模型管理,支持自定义模型
1.2 Ollama 的架构原理
咱们来看看 Ollama 内部是怎么工作的。你想想看,一个能跑大模型的系统,背后肯定没那么简单。
下面这张图是我画的 Ollama 核心架构,帮你快速理解它的运行逻辑:
从架构上看,Ollama 其实并不复杂。它的核心是 llama.cpp——一个高效的 C++ 推理引擎。Ollama 在它外面包了一层,提供了更友好的接口和管理能力。
为什么会选择 llama.cpp 作为底层?我个人的理解是:它兼顾了性能和兼容性。你想想看,llama.cpp 能在 CPU 上跑,也能在 GPU 上跑,甚至能在树莓派上跑。这种灵活性对于 Ollama 的「轻量级」定位来说,太合适了。
小提示:Ollama 的模型文件存储在 ~/.ollama/models 目录下。每个模型其实是一个包含配置、权重和 tokenizer 的打包文件。你可以用 ollama list 查看本地已下载的模型。
1.3 Ollama 的安装与单机部署
好了,理论说完了,咱们动手试试。安装 Ollama 其实非常简单,我带你走一遍。
1.3.1 Linux 安装
Linux 用户最省事,一行命令搞定:
curl -fsSL https://ollama.com/install.sh | sh
这条命令会自动检测你的系统,安装依赖,配置服务。我记得第一次跑的时候,大概等了 2 分钟就装好了。嗯,确实快。
如果你用的是 Ubuntu 或 Debian,也可以手动安装:
# 下载 deb 包
wget https://ollama.com/download/ollama-linux-amd64.deb
# 安装
sudo dpkg -i ollama-linux-amd64.deb
1.3.2 macOS 安装
macOS 用户更简单,直接下载安装包就行。或者用 Homebrew:
brew install ollama
我个人习惯用 Homebrew,因为后续升级方便。你只要 brew upgrade ollama 就能更新到最新版。
1.3.3 Windows 安装
Windows 用户去官网下载安装程序,双击运行即可。不过说实话,我在 Windows 上跑 Ollama 的经验不多。如果你在生产环境用,我建议还是上 Linux。
注意:Windows 下 Ollama 默认使用 WSL2 作为后端。如果你没有安装 WSL2,安装程序会自动帮你配置。但这个过程可能会比较慢,耐心等待就好。
1.3.4 验证安装
装完之后,验证一下:
ollama --version
如果看到版本号,说明安装成功了。接下来咱们拉取一个模型试试:
# 拉取 Llama 3.2 1B 模型(轻量级,适合测试)
ollama pull llama3.2:1b
# 运行模型
ollama run llama3.2:1b
第一次拉取模型会下载几百 MB 到几个 GB 的文件,取决于模型大小。我建议你从小的模型开始,比如 llama3.2:1b 或者 qwen2:0.5b,先跑通流程再说。
1.3.5 配置服务
Ollama 默认会以后台服务的形式运行。你可以用以下命令管理它:
# 启动服务
ollama serve
# 查看服务状态
systemctl status ollama # Linux 系统
# 设置开机自启
sudo systemctl enable ollama
服务启动后,默认监听 127.0.0.1:11434。你可以用 curl 测试一下:
curl http://localhost:11434/api/tags
如果返回了模型列表的 JSON,说明服务跑起来了。
避坑指南:我曾经在配置服务时踩过一个坑——默认只监听 localhost。如果你想让其他机器访问,需要修改环境变量:export OLLAMA_HOST=0.0.0.0。不过要注意安全,生产环境建议用反向代理加认证。
1.3.6 单机部署检查清单
| 检查项 | 命令/方法 | 预期结果 |
|---|---|---|
| 安装状态 | ollama --version |
显示版本号 |
| 服务状态 | systemctl status ollama |
active (running) |
| API 可用性 | curl localhost:11434/api/tags |
返回 JSON |
| 模型推理 | ollama run llama3.2:1b "Hello" |
返回回复内容 |
| GPU 加速 | ollama run --verbose llama3.2:1b "test" |
日志显示 GPU 使用 |
这张表是我在实际部署中总结的。每次部署完,我都会按这个清单过一遍,确保所有环节都正常。
好了,关于 Ollama 的基础认知就聊到这儿。你想想看,从安装到跑通第一个模型,其实也就十几分钟的事。这就是 Ollama 的魅力——让 LLM 的部署门槛降到了最低。
下一章咱们会深入聊聊集群部署的事。不过在那之前,我建议你先动手把单机环境搭起来,跑几个模型试试手感。纸上得来终觉浅,绝知此事要躬行嘛。
公众号:蓝海资料掘金营,微信 deep3321