首页 › tips-tricks › 别只会ollama run:八个暗格白捡

你大概率也干过这事: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 里写得明明白白但几乎没人用的组合拳:

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 仓库:

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

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

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

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

ollama show --modelfile qwen3:14b > MyModelfile

打开 MyModelfile,改 SYSTEM(比如塞进你的岗位背景、输出格式要求)、调 PARAMETER(temperature、top_p、repeat_penalty),然后:

ollama create qwen3-aisheng -f MyModelfile

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

暗格六:OLLAMA_HOST + OLLAMA_ORIGINS——一块显卡,全家供血

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

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 的模型仓库整体搬去别的盘,一行搞定。

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学通信知识星球海报-扫码加入