切换语言
切换主题

Ollama 入门:本地运行大语言模型的第一步

上个月,我的 OpenAI API 账单突破了 300 美元。说实话,当时挺崩溃的——我只是在开发阶段频繁测试一些功能,没想到费用累积得这么快。更糟的是,我处理的那些文档涉及公司内部数据,上传到云端总让人心里不踏实。那一刻,我下定决心要找本地替代方案。折腾了一周,试了好几个工具,最后发现 Ollama 是最省心的。

你可能也遇到过类似的困境:云端 AI 服务费用越来越高,数据隐私让人担忧,或者干脆需要在离线环境里用 AI。Ollama 能帮你解决这些问题。它让你在自己的电脑上运行大语言模型,几分钟就能上手,完全免费,数据完全不出你的机器。接下来,我把自己踩过的坑和学到的经验都分享出来,希望帮你少走弯路。


什么是 Ollama?

哎,名字有点容易混淆。Ollama 不是模型,它是一个运行模型的工具。就像 Docker 让容器化变得简单一样,Ollama 让本地运行大语言模型变得触手可及。

简单说,你用 Ollama 下载一个模型(比如 Llama 3.2),然后就能在自己的电脑上和它对话、让它写代码、做翻译……所有推理都在本地完成。

为什么要折腾本地模型?云端服务像 ChatGPT、Claude 不已经很方便了吗?

说实话,云端确实方便。但用久了,几个问题就冒出来了:

300+
美元

钱的问题。API 调用按 token 计费,测试阶段频繁调用的话,账单真的会吓到你。我见过有人在开发阶段一个月花了几百上千美元。

隐私问题。所有对话都要上传到云端。如果你处理的是公司内部文档、客户数据或者敏感信息,这可能不符合合规要求。体制内的朋友应该特别有感触。

网络问题。必须联网才能用。网络不稳定的时候体验很差,完全离线的场景更是用不了。

限制问题。云端 API 有各种限制——速率限制、配额限制、功能限制……有时候你想测试个功能,结果被限制搞得挺烦。

Ollama 直接解决了这些痛点。模型下载到你的电脑后,推理过程完全本地完成。断网也能用,数据完全不出机器,没有 API 费用,没有调用限制。

对开发者来说,Ollama 还有额外的价值——它提供完整的 API,而且兼容 OpenAI 的接口格式。这意味着你开发时用本地模型测试,省钱又方便;生产环境再切换到云端 API,灵活得很。


安装 Ollama:三步搞定

安装真的很简单。不同平台略有差异,但基本都能几分钟搞定。

Linux(最省心)

如果你用的是 Linux,一条命令就够了:

curl -fsSL https://ollama.com/install.sh | sh

运行完,Ollama 就装好了,而且会自动启动服务。

说实话,Linux 是我最推荐的平台。服务器部署、容器化这些场景,Linux 都能完美支持。如果你打算在生产环境用 Ollama,Linux 是首选。

手动安装也行,但我不建议新手折腾。如果真的需要,可以下载二进制文件自己配置 systemd 服务。具体步骤我在调研报告里写了,这里不展开。

macOS(图形界面更友好)

macOS 上有两种方法。

用 Homebrew 的话:

brew install ollama

装好后,ollama serve 直接启动,或者用 brew services start ollama 让它跑在后台。

不想用 Homebrew?去官网下载 .pkg 安装包,双击就行。Mac 用户应该都熟悉这种安装方式。

有个小贴士:Apple Silicon(M1/M2/M3)的 Mac 会自动启用 Metal GPU 加速,性能挺不错的。我的 M2 MacBook Pro 跑 8B 模型很流畅,13B 也能跑,就是内存占用高点。

Windows(winget 最方便)

Windows 用户可以用 winget:

winget install --id=Ollama.Ollama -e

或者直接去官网下 .exe 安装包。装好后,Ollama 会自动启动,系统托盘里能看到图标。

验证安装成功:

ollama --version

能看到版本号就说明装好了。很简单,对吧?


运行第一个模型

装好后,我们直接跑一个模型试试。

先选个模型。入门的话,我推荐 llama3.2 或者 qwen:8b。前者是 Meta 的最新模型,综合能力不错;后者是通义千问,中文理解特别好。

运行:

ollama run llama3.2

这条命令会自动下载模型(第一次需要几分钟),然后启动一个交互界面。

你会看到:

>>> Send a message (/? for help)

现在可以对话了。试试:

>>> 你好,介绍一下你自己

模型会实时回复,感觉就像在聊天。退出时输入 /bye 或者 Ctrl+D。

模型大小说明

你可能注意到模型名称里有 3b8b 这样的数字。这个代表参数量,也就是模型”脑子”的大小。

8B
参数

3B 模型:30亿参数,轻薄笔记本就能跑,只需要 4GB 内存。速度快,但能力相对基础。适合简单对话、工具指令这类任务。

8B 模型:80亿参数,多数笔记本和台式机的”甜蜜点”。需要 8GB 内存,日常对话、简单编程辅助都能胜任。我平时用得最多的就是这个级别。

13B 模型:130亿参数,需要 16GB 内存。回复质量明显更好,上下文也更长,适合中高端显卡的机器。

70B 模型:700亿参数,需要 64GB 内存甚至更多。专业服务器级别,能力最强但对硬件要求很高。老实说,个人用户一般用不到这么大的。

入门的话,3B 到 8B 就够了。这些在大多数现代笔记本上都能流畅运行。别一开始就追求大模型,先用小模型熟悉起来,再根据需要升级。


模型管理常用命令

Ollama 提供了一套简单的命令管理模型。记几个常用的就够了。

下载模型

ollama pull llama3.2
ollama pull qwen:8b

pull 命令从模型库下载到本地。下载后会缓存,下次运行不需要重新下载。

列出已安装模型

ollama list

这个命令会显示你下载的所有模型,包括名称、大小、修改时间。

删除模型

ollama rm llama3.2

如果某个模型不再需要,删掉释放空间。

查看模型详情

ollama show llama3.2

能看到参数量、量化方式这些技术细节。

其他命令像 cp(复制)、push(上传)用的不多,就不细说了。需要的时候查文档就行。

推荐几个模型

根据用途不同,我推荐几个:

日常对话

  • llama3.2:Meta 最新,综合能力不错
  • qwen:8b:通义千问,中文优秀
  • mistral:欧洲开源模型,性能挺好

编程辅助

  • codellama:专门为代码生成调优的
  • deepseek-coder:深度学习的代码模型,挺好用

多模态(能理解图片)

  • llava:支持图像理解
  • llama3.2-vision:Llama 3.2 的视觉版本

不确定选哪个的话,先试试 llama3.2:3b 或者 qwen:8b。这两个都很适合入门,跑起来也轻快。


GPU 加速:速度差异真的很大

这个真的很重要。CPU 也能跑模型,但速度差异巨大——GPU 可能比 CPU 快 10 到 20 倍。

10-20x
速度提升

我第一次用时没注意 GPU 配置,结果模型跑得慢得让人崩溃。后来才发现是 GPU 加速没启用。配置好后,速度一下子就上来了。

Ollama 支持三种 GPU:NVIDIA、AMD、Apple Silicon。

NVIDIA 显卡(RTX 系列)

NVIDIA 的配置最简单。基本是自动的。

你需要:

  1. 安装最新的 NVIDIA 驱动(版本 531 或更新)
  2. 确保 CUDA 已安装

检查 GPU 是否可用:

nvidia-smi

能看到显卡信息就说明没问题。运行模型时,Ollama 会自动使用 GPU。

指定用哪些 GPU:

export CUDA_VISIBLE_DEVICES=0,1

这会只使用第一和第二块 GPU。多显卡机器上有时候需要这个。

Docker 里用 GPU

如果你在 Docker 里跑 Ollama,需要 NVIDIA Container Toolkit:

docker run --gpus all ollama/ollama

这样容器才能访问宿主机的 GPU。

AMD 显卡

AMD 稍微复杂点,需要装 ROCm。

支持 ROCm 的 AMD GPU 包括:

  • Radeon Instinct 系列(MI100、MI210、MI250、MI300X 等)
  • Radeon RX 系列(5700 XT、5500 XT、7600、9070 等)
  • Radeon PRO 系列

装好 ROCm v7 或更新版本,Ollama 就能自动检测使用 AMD GPU。

有些 GPU 架构官方不支持,可以试试覆盖环境变量:

export HSA_OVERRIDE_GFX_VERSION=10.3.0

另外,AMD 还有实验性的 Vulkan 支持:

export OLLAMA_VULKAN=1

Apple Silicon(M1/M2/M3)

Mac 用户最省心。Apple Silicon 会自动启用 Metal GPU 加速,不需要任何额外配置。

16GB 内存的 M 系列芯片跑 8B 模型很流畅,32GB 能跑 13B 甚至 30B。Apple Silicon 的内存是统一架构,GPU 和 CPU 共享,所以内存大小直接决定能跑多大的模型。

几个性能小技巧

除了 GPU 加速,还有几个技巧能让速度更快:

量化模型。默认是 Q4_K_M 量化,质量和速度的平衡点。如果内存不够,试试 Q4_K_S,质量略差但占用更小。

Flash Attention。这是个优化技术,能明显加快大上下文场景的速度:

export OLLAMA_FLASH_ATTENTION=1

Context 长度。默认上下文是 2048,如果不需要那么长,可以调小:

export OLLAMA_CONTEXT_LENGTH=4096

这样能省内存,也快点。

保持模型加载。默认空闲 5 分钟就卸载了。如果频繁使用,延长这个时间:

export OLLAMA_KEEP_ALIVE=30m

甚至 -1 让它永远不卸载(只要 Ollama 服务在跑)。这样每次对话都能立刻响应,不用等待模型重新加载。


API 集成:把 Ollama 接到你的应用里

这才是 Ollama 真正的价值——它提供了完整的 API,能集成到你的应用里。

REST API 基础

Ollama 启动后,在本地 11434 端口提供 API 服务。

最常用的两个端点:

文本生成

curl http://localhost:11434/api/generate -d '{
  "model": "llama3.2",
  "prompt": "Why is the sky blue?"
}'

聊天补全

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    {"role": "user", "content": "Hello!"}
  ]
}'

默认响应是流式的,会一点点返回结果。如果你想要完整结果,设置 "stream": false

OpenAI 兼容 API——最有价值的特性

这个真的太实用了。Ollama 提供了 OpenAI 兼容的接口,你现有的 OpenAI 代码几乎不用改就能切换到本地模型。

OpenAI 兼容端点:

http://localhost:11434/v1/chat/completions

Python 代码示例:

from openai import OpenAI

client = OpenAI(
    base_url='http://localhost:11434/v1',
    api_key='ollama'  # 随便填,不影响
)

response = client.chat.completions.create(
    model="llama3.2",
    messages=[
        {"role": "user", "content": "Say this is a test"}
    ]
)

print(response.choices[0].message.content)

JavaScript 代码示例:

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'http://localhost:11434/v1',
  apiKey: 'ollama'
});

const response = await client.chat.completions.create({
  model: 'llama3.2',
  messages: [{ role: 'user', content: 'Hello!' }]
});

console.log(response.choices[0].message.content);

这样一来,你开发测试时用本地模型,省钱;生产环境切换到云端 API,保证稳定性。或者干脆完全用本地模型,成本和数据隐私都能控制。

我的做法是:配置一个环境变量,根据环境自动切换本地和云端。开发阶段默认用本地,只有明确需要云端能力时才切换。

Ollama 的 Python 库

除了 OpenAI 库,Ollama 还有自己的 Python 库,更直接:

pip install ollama

基础用法:

import ollama

response = ollama.chat(model='llama3.2', messages=[
  {'role': 'user', 'content': 'Why is the sky blue?'},
])

print(response['message']['content'])

流式模式:

import ollama

stream = ollama.chat(
    model='llama3.2',
    messages=[{'role': 'user', 'content': 'Why is the sky blue?'}],
    stream=True,
)

for chunk in stream:
    print(chunk['message']['content'], end='', flush=True)

工具调用(Tool Calling)

Ollama 支持工具调用,让模型能调用外部函数或 API。这对构建复杂 AI 应用很有用。

示例:

import ollama

response = ollama.chat(
    model='llama3.1',
    messages=[{'role': 'user', 'content': 'What is the weather in Toronto?'}],
    tools=[{
        'type': 'function',
        'function': {
            'name': 'get_current_weather',
            'description': 'Get the current weather for a city',
            'parameters': {
                'type': 'object',
                'properties': {
                    'city': {'type': 'string', 'description': 'The name of the city'},
                },
                'required': ['city'],
            },
        },
    }],
)

print(response['message']['tool_calls'])

模型会根据问题判断是否需要调用工具,然后返回调用参数。你的代码再实际调用工具,把结果返回给模型。


Ollama 和 LM Studio 怎么选?

你可能听说过 LM Studio,也是本地运行 LLM 的工具。两者怎么选?

说实话,各有各的好,看你需求。

Ollama

  • 命令行为主,适合开发者
  • 安装简单,一条命令搞定
  • 自动启动 API 服务
  • 完美支持服务器和容器部署
  • 适合构建应用、自动化集成

LM Studio

  • 图形界面,直观易用
  • 内置模型浏览器,下载方便
  • 需要手动启动 API 服务
  • 不适合服务器部署
  • 适合探索模型、学习测试

简单说:

  • 要构建 AI 应用、服务器部署、脚本自动化 → Ollama
  • 要快速体验各种模型、不太熟命令行、只是学习探索 → LM Studio

其实两者可以互补。我在 LM Studio 里发现和测试新模型,确认好用后再到 Ollama 里正式集成。它们底层都是 llama.cpp,模型完全兼容。


实际能用在哪里?

说几个我实际用过的场景。

本地代码助手

把 Ollama 集成到 VS Code 或 Cursor,让模型帮你写代码、解释代码、重构代码。推荐用 codellamadeepseek-coder

工具方面,Continue.dev 和 Aider 都能直接对接 Ollama 的 API。配置好后,本地就能有个免费的代码助手。

文档问答系统

如果有大量文档需要检索问答,可以结合 Ollama 和向量数据库构建私有知识库。流程是:

  1. 用 Ollama 的 embeddings 接口生成文档向量
  2. 存到向量数据库(Chroma、Qdrant 都行)
  3. 用户提问时,先检索相关文档片段
  4. 把片段作为上下文,让模型回答

这就是典型的 RAG(检索增强生成)架构。完全本地化,数据不出内网。

私有知识库

公司内部文档、技术资料、客户信息……这些敏感数据不适合上传云端。用 Ollama 完全本地处理,符合隐私合规要求。

离线场景

出差、野外工作、网络不稳定的环境……云端 AI 用不了,但 Ollama 可以完全离线工作。只要电脑有电,AI 助手就能用。

开发测试环境

开发 AI 应用时,频繁调用云端 API 成本很高。用 Ollama 作为开发测试环境,省钱又方便。测试好了,再切换到云端 API 上生产。


常见问题

踩过几个坑,分享下解决方案。

常见问题

模型下载失败怎么办?
通常是网络问题。在中国大陆可能需要设置代理:`export HTTP_PROXY=http://your-proxy:port` 和 `export HTTPS_PROXY=http://your-proxy:port`
GPU 没被识别怎么办?
先检查驱动是否正确安装。NVIDIA 用 `nvidia-smi` 检查,AMD 用 `rocminfo`。能看到 GPU 信息但 Ollama 还是不用的话,检查环境变量设置。
内存不足怎么办?
换更小的模型,比如从 8B 改成 3B。或者用量化版本(Q4_K_M 比 FP16 省很多内存)。也可以减小上下文长度。
速度很慢怎么办?
确保 GPU 加速启用了。用 `ollama ps` 查看,Processor 列显示 `100% GPU` 才是正确的。还可以启用 Flash Attention、减小上下文长度、用量化模型。
模型卸载太快怎么办?
默认空闲 5 分钟就卸载。如果频繁使用,延长保持时间:`export OLLAMA_KEEP_ALIVE=30m`

写在最后

说了这么多,其实就是想让本地 LLM 变得简单点。Ollama 真的做到了这一点——不需要复杂的配置,不需要深厚的 AI 背景,几分钟就能上手。而且完全免费、离线可用、数据隐私有保障。

接下来可以试试:

  • 测试不同的模型,找到最适合你需求的
  • 把 Ollama 集成到你的开发工作流里
  • 探索 RAG 架构,构建私有知识库
  • 在服务器上部署,搭建团队共享的 AI 服务

本地 AI 的时代已经来了。有了 Ollama,你不需要依赖云端,在自己的机器上就能跑强大的语言模型。现在,开始你的本地 AI 之旅吧。

作者:Easton(技术博主,专注 AI 开发与本地化部署)


参考资料

14 分钟阅读 · 发布于: 2026年4月1日 · 修改于: 2026年4月1日

评论

使用 GitHub 账号登录后即可评论

相关文章