<!-- title: 别只会ollama run：八个暗格白捡 -->
<!-- domain: tips-tricks -->

你大概率也干过这事：`brew install ollama`，敲一句 `ollama run qwen3`，聊天框里问两句「你好」，然后得出结论——「本地模型也就那样」，顺手关掉。恭喜，你只用到了 Ollama 大约 10% 的功能。海外 r/LocalLLaMA 社区这帮人拿 Ollama 当家里服务器的心脏在用，靠的就是几个文档角落里的参数开关。这篇文章把其中最值钱的八个暗格一次撬开，全部免费，全部当天就能用上。

## 先说清楚 Ollama 到底是什么

Ollama（github.com/ollama/ollama）是一个开源的本地大模型运行时：一条命令把开源模型拉下来跑在你自己的显卡上，同时在本地 11434 端口暴露一套 API。国内用户对它的典型认知是「一个模型下载器」，而海外玩家对它的典型用法是「给全家设备供大脑的常驻服务」——认知差就在这中间的八个参数里。

写这篇时我逐条对过官方仓库 docs 目录里的 faq.md、modelfile.md 和 api.md（下文参数都能在这三个文件里查到出处）。版本迭代快，个别默认值以你手上版本的文档为准。

## 暗格一：num_ctx 默认只有 4096，你的长文全被偷偷截断了

这是国内用户踩得最多、也最没人告诉你的坑。你喂给模型一篇万字长文让它总结，它答得驴唇不对马嘴——不是模型笨，是 Ollama 默认上下文只有 4096 token（早期版本甚至只有 2048），超出部分直接被切掉，而它不会报错，只会装作没看见。

三种解法，按场景选：
- **交互模式临时改**：进对话后敲 `/set parameter num_ctx 32768`（具体语法以 `/help` 输出为准）；
- **全局默认值**：设环境变量 `OLLAMA_CONTEXT_LENGTH=32768`，一劳永逸；
- **API 单次指定**：调 `/api/chat` 时在请求体里传 `"options": {"num_ctx": 32768}`，适合写脚本的人。

注意显存账：上下文翻倍，KV cache 占用的显存也跟着涨。想开大 context 又怕爆显存，看暗格二。

## 暗格二：KV cache 量化——显存省一半，上下文白翻倍

官方 FAQ 里写得明明白白但几乎没人用的组合拳：

```bash
OLLAMA_FLASH_ATTENTION=1 OLLAMA_KV_CACHE_TYPE=q8_0 ollama serve
```

flash attention 先打开（KV 量化依赖它），再把 KV cache 从默认的 fp16 压到 q8_0，显存占用约省一半，质量损失肉眼几乎不可见；胆子大上 q4_0，还能再砍一半。这等于白送你一倍上下文额度。7B 模型 + 32K 上下文这种以前 12G 显卡不敢想的配置，两个环境变量就塞进去了。

## 暗格三：keep_alive——模型老是「重新读盘」，是你的显存五分钟就被清了

默认行为：模型加载后在显存里只停 5 分钟，没人说话就卸载。于是你每隔几分钟问一句，每次都要等它重新从硬盘读进显存——SSD 好点等几秒，机械盘等半分钟，体感就是「本地模型怎么这么卡」。

解法：`OLLAMA_KEEP_ALIVE=-1` 设成永驻（设 `0` 则答完立刻卸载，`10m`、`1h` 这种时长也认）。显存金贵的话，只在 API 单请求里传 `keep_alive` 参数精确控制。这一下，「本地推理慢」的印象能好转一大半——多数时候慢的不是算，是搬运。

## 暗格四：不用等官方库，hf.co 上的 GGUF 直接拉

官方模型库收录有延迟，新模型出来你干瞪眼？不用。Ollama 支持直接跑 Hugging Face 上的 GGUF 仓库：

```bash
ollama run hf.co/Qwen/Qwen3-14B-GGUF
```

任何发了 GGUF 权重的仓库都能这么拉。国内镜像圈还在搬运打包的时候，海外玩家上线当天就在跑了。这是纯时间差红利。

## 暗格五：ollama show --modelfile + create——克隆并魔改一个「专属人格模型」

每个拉下来的模型都自带一份配置（系统提示词、温度、模板），但默认藏起来。两条命令把它整个掏出来：

```bash
ollama show --modelfile qwen3:14b > MyModelfile
```

打开 MyModelfile，改 SYSTEM（比如塞进你的岗位背景、输出格式要求）、调 PARAMETER（temperature、top_p、repeat_penalty），然后：

```bash
ollama create qwen3-aisheng -f MyModelfile
```

从此 `ollama run qwen3-aisheng` 出来就是你调教好的版本，系统提示词不用每次重发。配合暗格一，把 num_ctx 也写死在 PARAMETER 里。进阶玩法：`ollama create` 时加 `--quantize q4_0`，把大模型现场压出一个小杯，一张卡跑两个模型做对比测试。

## 暗格六：OLLAMA_HOST + OLLAMA_ORIGINS——一块显卡，全家供血

这是 Ollama 从「下载器」变「服务器」的分水岭：

```bash
OLLAMA_HOST=0.0.0.0:11434 ollama serve
```

同一 Wi-Fi 下，你的手机、平板、另一台电脑、甚至电视盒子上的客户端，全都能连这台机器的模型。配合 Tailscale 之类组网，出门在外也能用家里显卡。

写网页应用调本地 API 报 CORS 错误？默认只放行 localhost 来源，加 `OLLAMA_ORIGINS=*`（生产环境建议写成具体域名）即可。海外一大批本地 AI 网页工具，文档第一步就是让你改这个。

## 暗格七：ollama ps + --verbose——别猜，先看数据

跑得慢，先做两件事：
- `ollama ps`：看模型「SIZE」和处理器分配列。显示 100% GPU 才算全在显卡上；显示一部分 CPU，说明模型加上下文超出了显存，Ollama 自动把部分层丢内存里混跑——速度掉一个数量级就是这个原因。解法：换小杯量化版（暗格五的 --quantize），或压上下文。
- `ollama run --verbose`：每次回答后报出 eval rate（tokens/s）。拿这个数字做基线，再判断动哪个参数。

另外注意：并发参数 `OLLAMA_NUM_PARALLEL` 开大后，多个请求会瓜分总上下文额度，单请求可用 context 变小——这和暗格一是连体的坑，官方 FAQ 有专节说明。

## 暗格八：/v1 兼容层 + JSON Schema——老工具无缝接管，输出格式锁死

Ollama 本地提供 OpenAI 兼容端点（`http://localhost:11434/v1`），api key 随便填。这意味着：所有支持 OpenAI API 的工具——各类翻译插件、写作软件、IDE 插件——把 base URL 改成本地地址，立刻零成本切到本地模型，API 费用归零。

再进一步，API 支持 JSON Schema 结构化输出：请求里传 `format` 字段塞一份 schema，模型输出强制对齐格式，写自动化脚本再也不用正则抠 JSON。

彩蛋一个：C 盘 / Mac 磁盘爆了？`OLLAMA_MODELS` 环境变量把几十个 G 的模型仓库整体搬去别的盘，一行搞定。

```mermaid
flowchart TD
    A["本地模型出状况？"] --> B["先敲 ollama ps"]
    B --> C["GPU不满仓<br/>是混跑CPU拖慢的"]
    A --> D["长文被吞了？"]
    D --> E["num_ctx 默认 4096"]
    E --> F["临时改<br/>/set parameter"]
    E --> G["全局改<br/>OLLAMA_CONTEXT_LENGTH"]
    E --> H["显存吃紧<br/>先开KV量化"]
    A --> I["几分钟就重新加载？"]
    I --> J["KEEP_ALIVE<br/>设 -1 常驻"]
    A --> K["网页连不上本地API？"]
    K --> L["OLLAMA_ORIGINS<br/>放行来源"]
```

## 国内视角：这套东西的替代品是什么

运行时层面，Ollama 在国内没有完全等价的对位：LM Studio 走图形化路线（本站写过它的整体玩法），Cherry Studio、Chatbox 是聊天客户端而非运行时；云端则有硅基流动这类 API 平台。所以现实的最优解往往是组合拳：模型层用 Ollama 跑 Qwen、DeepSeek 的开源版本地部署，客户端随便挑，API 层吃它的 /v1 兼容层。显卡 8G 以下就老实用暗格五的量化；16G 以上，这套玩法上限很高。

## 信息差总结

| 你以为的 | 实际情况 |
|---------|---------|
| Ollama 是模型下载器 | 它是带 API 网关的本地推理服务器 |
| 长文总结不准是模型不行 | num_ctx 默认 4096，超长直接截断不报错 |
| 本地推理慢是显卡不行 | 多半是 keep_alive 五分钟卸载后反复读盘 |
| 新模型要等国内镜像搬运 | hf.co 的 GGUF 仓库当天直拉 |
| 本地模型只服务一台机器 | OLLAMA_HOST 放开后全家设备共享一块显卡 |
| 接 AI 工具必须花钱买 API | /v1 兼容层让现有工具零成本切本地 |
| 显存不够就得上新卡 | KV cache 量化 + 小杯量化，先压榨再谈升级 |

## 行动指南

今晚就能做完的五步：

1. 敲 `ollama ps` 确认你常用模型是不是 100% GPU，不是就先解决模型尺寸；
2. 把 `OLLAMA_KEEP_ALIVE=-1` 和 `OLLAMA_CONTEXT_LENGTH=16384` 写进系统环境变量（Windows 用 `setx`，Mac/Linux 写 shell 配置）；
3. 显存 12G 以下，加开 `OLLAMA_FLASH_ATTENTION=1` 和 `OLLAMA_KV_CACHE_TYPE=q8_0`；
4. 挑一个你付费在用的 AI 工具，把它的 API 地址改成 `http://localhost:11434/v1` 试跑一个纯本地场景；
5. 用 `ollama show --modelfile` 魔改一个带你专属系统提示词的模型，长期用。

一句话收尾：工具的上限从来不在官网首页，而在它文档最角落的那几行参数表里。Ollama 的这八个暗格，每一个都是别人已经在靠它省真金白银、而你还没拧开的开关。

## 参考来源

1. Ollama 官方仓库（FAQ/Modelfile/API 文档均在 docs 目录）：https://github.com/ollama/ollama
2. 官方 FAQ（上下文、KV 量化、keep_alive、并发分配）：https://github.com/ollama/ollama/blob/main/docs/faq.md
3. Modelfile 文档（SYSTEM/PARAMETER/quantize）：https://github.com/ollama/ollama/blob/main/docs/modelfile.md
4. API 文档（/v1 兼容层、结构化输出、keep_alive 参数）：https://github.com/ollama/ollama/blob/main/docs/api.md
5. 模型库与下载页：https://ollama.com

---
> 本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵**爱卫生**（微信ID: gprshome201101）维护。
> 聚焦5G/6G核心网、3GPP标准、AI工具实战。知识星球「51学通信」提供深度技术答疑和行业洞察。

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
