Ollama 是一个用于在本地部署和管理大型语言模型(LLM,Large Language Models)的工具。简单来说,它就像 “搬运工” 一样,可以帮助你将一些强大的 AI 模型(比如类似 ChatGPT 的模型)下载、安装到你的电脑上,然后通过简单的命令让这些模型工作起来。
对于不懂编程或 AI 的朋友来说,Ollama 降低了使用大型 AI 模型的门槛,无需复杂的编程和云服务器配置,只要你的电脑硬件够用,就可以在本地体验 AI 聊天、文本生成、问答等功能。
为什么需要 Ollama?
-
本地部署、安全可靠:所有模型数据都存储在你的电脑上,不必担心数据上传到云端带来的隐私风险。
-
简化操作:Ollama 将复杂的模型下载、安装、运行过程标准化,使用起来像运行一个命令行工具,非常简单。
-
多平台支持:它支持 Windows、macOS、Linux 甚至 Docker 环境,满足不同用户的需求。
-
开放与扩展:你不仅可以使用官方预设的模型,还可以自定义和扩展模型,接入其他工具(如知识库系统、Web UI 等)。
安装部署篇
如何安装 Ollama?
Windows: 打开 https://ollama.com/download,选择对应的平台(Windows),点击下载 OllamaSetup.exe 并安装即可。
Macos: 执行下面的命令:
brew install ollama
Linux: 执行下面的命令:
curl -fsSL <https://ollama.com/install.sh> | sh
Docker 运行 Ollama
CPU
docker run -d -v ollama:/root/.ollama \ -p 11434:11434 --name ollama \ ollama/ollama
Nvidia GPU
docker run -d --gpus=all \ -v ollama:/root/.ollama -p 11434:11434 \ --name ollama ollama/ollama
AMD GPU
docker run -d --device /dev/kfd \ --device /dev/dri -v ollama:/root/.ollama \ -p 11434:11434 --name ollama \ ollama/ollama:rocm
Kubernetes 运行 Ollama
配置 Helm Chart
helm repo add ollama <https://feisky.xyz/ollama-kubernetes> helm repo update
部署 Ollama
helm upgrade --install ollama ollama/ollama \ --namespace=ollama \ --create-namespace
开启端口转发
kubectl -n ollama port-forward \ service/ollama-webui 8080:80
访问 WebUI:
Ollama 运行 DeepSeek R1 模型
打开命令行终端,然后运行:
ollama run deepseek-r1
然后愉快的玩耍吧
模型配置篇
下载模型
你可以用 ollama pull
下载 Ollama 支持的 官方模型,比如
ollama pull deepseek-r1
具体支持的模型列表,可以到 https://ollama.com/library 查看,主流的开源大模型都在支持列表里。
模型加载状态
使用 ollama ps
命令查看当前加载到内存中的模型:
ollama ps
输出:
NAME ID SIZE PROCESSOR UNTIL llama3:70b bcfb190ca3a7 42 GB 100% GPU 4 minutes from now
PROCESSOR 列会显示模型加载的内存位置:
-
100% GPU 表示模型完全加载到 GPU 显存
-
100% CPU 表示模型完全加载到系统内存
-
48%/52% CPU/GPU 表示模型同时加载到 GPU 显存和系统内存
设置模型参数
每个模型在加载时都已经内置了一些默认的参数,你可以通过 /show
命令查看:
# ollama run deepseek-r1 >>> /show parameters Model defined parameters: stop "<|begin▁of▁sentence|>" stop "<|end▁of▁sentence|>" stop "<|User|>" stop "<|Assistant|>"
如果这些参数不符合你的要求,你还可以使用 /set
命令进行修改。
比如,默认情况下,Ollama 上下文窗口大小为 2048,要改成 4096 可以执行:
# ollama run deepseek-r1 >>> /set parameter num_ctx 4096 >>> /set system "<system message>"
使用 API 时,指定 num_ctx 参数:
curl http://localhost:11434/api/generate -d '{ "model": "llama3.2", "prompt": "Why is the sky blue?", "options": { "num_ctx": 4096 } }'
模型存储路径
默认情况下,Ollama 的存储路径为:
-
macOS:
~/.ollama/models
-
Linux:
/usr/share/ollama/.ollama/models
-
Windows:
C:\Users\%username%\.ollama\models
如果你想切换模型存储路径,可以为 Ollama 设置 OLLAMA_MODELS
环境变量,如
export OLLAMA_MODELS=/data ollama serve
模型预加载与卸载
默认情况下,模型会在内存中保留 5 分钟后卸载。如果短时间向 LLM 发送大量请求,这可以提供更快的响应时间。
如果你觉得 5 分钟太短,也可以设置 OLLAMA_KEEP_ALIVE
环境变量增长这个时间,比如:
# 设置为 1 小时 export OLLAMA_KEEP_ALIVE=1h
如果您想立即从内存中卸载模型,请使用 ollama stop 命令:
ollama stop deepseek-r1
启用 Flash Attention
Flash Attention 是大多数现代模型的一项功能,可以在上下文大小增加时显著减少内存使用。
要启用 Flash Attention,请在启动 Ollama 服务器时将 OLLAMA_FLASH_ATTENTION
环境变量设置为 1。
设置 K/V 缓存的量化类型
启用 Flash Attention 时,K/V 上下文缓存可以进行量化,以显著减少内存使用。
要在 Ollama 中使用量化的 K/V 缓存,可以设置 OLLAMA_KV_CACHE_TYPE
环境变量:
-
f16
- 高精度和高内存使用(默认)。 -
q8_0
- 8 位量化,使用约为 f16 一半的内存,精度损失非常小,这通常对模型质量没有明显影响。 -
q4_0
- 4 位量化,使用约为 f16 四分之一的内存,在较大上下文大小时会出现精度损失。
缓存量化对模型质量的影响:
通常 GQA 分高的模型(比如 Qwen2)可能比 GQA 分低的模型更容易受到量化对精度影响。
建议你尝试不同的量化类型,通过测试找到内存使用与质量之间最佳平衡点。
API 访问
默认情况下,Ollama 会监听在 11434 端口,并提供了 OpenAI 兼容的 API。
所以在支持 OpenAI API 的服务或者框架代码中,你都可以无缝集成 Ollama。只要替换 OpenAI baseURL 为 http://localhost:11434/v1/
即可。
注意:如果你在公有云或者通过反向代理访问 Ollama API 时,一定要额外给 Ollama API 加上认证(比如可以用 Nginx 反向代理加上认证功能)。
运行第三方 GGUF 模型
GGUF 是 llama.cpp 定义的一种高效存储和交换大模型预训练结果的二进制格式。你可以通过 Modelfile 文件中导入 GGUF 模型。
首先创建一个 Modelfile:
FROM <model-path>.gguf PARAMETER temperature 1 PARAMETER num_ctx 4096 SYSTEM You are Mario from super mario bros, acting as an assistant.
然后,执行下面的命令加载运行模型:
# 你可以加上 -q Q4_K_M 对模型量化 ollama create myllama -f Modelfile ollama run myllama
对于其他格式的模型,你可以通过 llama.cpp 转换为 GGUF 格式再使用。
模型需要多大显存
以 DeepSeek R1 为例,以下是各个版本需要的显存以及推荐 GPU 配置:
| NVIDIA RTX 4090 24GB ×2 |
https://tools.thinkinai.xyz/ 提供了一个方便易用的 DeepSeek 模型兼容性检测工具,你也可以用它来检查你的电脑可以运行哪个版本。
注:
显存计算公式:
显存 ≈ 参数量 × 精度位数(Bytes)+ 激活值占用
实际部署建议预留 20% 冗余(如 7B FP16 建议 18GB+ 显存)
内存要求:
内存需加载模型权重(约等于显存)及运行时数据,建议为显存的 1.5 倍
量化影响:
8-bit 量化显存占用减半,4-bit 再减半,但可能损失 1-3% 精度
Ollama 默认使用 4-bit 量化模型,显存占用约为 FP16 的 1/4
工具集成篇
聊天 - Cherry Studio(推荐)
Cherry Studio 是一款集多模型对话、知识库管理、AI 绘画、翻译等功能于一体的全能 AI 助手平台 ,适用于Windows、Mac和Linux。
你可以到 https://cherry-ai.com/ 下载并安装 Cherry Studio。
然后,点击左下角的设置,选择 Ollama,在 API 地址中填入 http://localhost:11434/v1/
:
然后点击“模型”下面的“管理”,在弹出的模型列表中选择你想使用的模型(这些都是你已经下载到本地的模型):
最后回到聊天界面,选择你的模型,就可以开始聊天了:
注:Cherry Studio 本身不直接提供联网功能。但你可以使用支持联网的模型(比如 Google Gemini 或者腾讯混元)来进行网络搜索。
聊天 - Chatbox
Chatbox 是一款 AI 客户端应用和智能助手,支持主流的 AI 模型,可在 Windows、MacOS、Android、iOS、Linux 和网页版上使用。
你可以到 https://chatboxai.app/zh 下载并安装 Chatbox。
安装后点击设置,模型提供方选择 OLLAMA API,API 域名填入 http://localhost:11434
,模型选择你要聊天的模型(比如 DeepSeek R1):
最后回到聊天界面,就可以开始聊天了:
注:Chatbox 同样不直接提供联网功能。但你可以使用支持联网的模型(比如 Google Gemini、Perplexity等)来进行网络搜索。
聊天 - VSCode + ChatGPT Copilot
如果你经常使用 VSCode 进行文档撰写和编程,你还可以使用 VSCode 中的 ChatGPT Copilot 插件。这个插件提供了类似 ChatGPT 的功能(包括基本聊天、文件和图片聊天,代码修复、代码解释、自定义 Prompt等),支持主流的各大模型提供商,主打一个简单直观。
你可以在 VSCode 插件市场中搜索 ChatGPT Copilot 安装:
然后打开插件设置,配置你的模型(如 DeepSeek-R1)并填入 Api Base Url 为 http://localhost:11434/v1/
:
最后,到侧边栏打开 ChatGPT Copilot 聊天窗口,就可以开始使用了。
注意:ChatGPT Copilot 不直接提供代理和联网的功能(可使用支持联网的Gemini联网),主打一个简单易用,可以用于在 VSCode 中替代 ChatGPT 聊天。
编程 - VSCode + Cline
Cline 是一个 VSCode 插件,用于替代 Cursor,实现自动化编程,主打一个免费。
你可以在 VSCode 插件市场中搜索 Cline 安装:
然后,打开插件设置,选择 API Provider 为 Ollama,配置你的模型(如 DeepSeek-R1)并填入 Base URL 为 http://localhost:11434
:
最后,打开侧边栏 Cline 的聊天窗口,提交你的任务就可以让 AI 帮你开发了。
注:实际体验上,Cline 不如 Cursor 好用,且消耗 token 特别快。对于使用 Ollama 来说不用关心 token 消耗问题,但在使用第三方 API 时需要特别小心,不要超支。
编程 - Cursor
Cursor 是一款目前功能最强大的 AI 编程神器,不仅可以像 Github Copilot 那样提供编程建议,还可以通过代理(Composer)自动实现你想要的功能并自动修复开发过程中的问题。Cursor 提供一定的免费额度,超额后需要订阅($20/月)。
但是很不幸的是,Ollama 提供的 API 跟 Cursor 的调用方式并不兼容,所以并不能直接在 Cursor 中使用 Ollama 模型。如果你想体验 Deepseek R1,可以订阅 Cursor,或者使用硅基流动、DeepSeek 或者各大公有云提供的 API。
API 直接调用
对于开发者来说,你还可以通过 API/SDK 直接调用 Ollama API,直接跟大模型进行交互。
Ollama 支持两种格式的 API:
第一种是 Ollama 自身 API,你可以执行 pip install ollama
安装 Ollama 提供的 SDK,然后调用 SDK 使用大模型:
from ollama import chat from ollama import ChatResponse response: ChatResponse = chat(model='deepseek-r1', messages=[ { 'role': 'user', 'content': 'Why is the sky blue?', }, ]) print(response['message']['content']) print(response.message.content)
第二种是 OpenAI 兼容的 API,可以通过 OpenAI API 进行调用。比如执行 pip install openai
安装 OpenAI SDK 后,通过下面的方式调用 Ollama:
from openai import OpenAI client = OpenAI(base_url="http://localhost:11434/v1", api_key="ollama") completion = client.chat.completions.create( model="deepseek-r1", messages=[ {"role": "system", "content": "You are a helpful assistant."}, { "role": "user", "content": "Write a haiku about recursion in programming." } ] ) print(completion.choices[0].message.content)
总结
使用 Ollama 本地运行大模型的好处:
-
本地化部署:无需依赖云端服务,保护数据隐私
-
极简操作:命令行一键式管理模型(下载/加载/卸载)
-
硬件友好:支持多平台运行,智能分配 CPU/GPU 资源
-
开放生态:兼容主流开源模型及社区工具链
Ollama 核心能力速查
最佳实践推荐
- 硬件适配方案
-
入门级设备(<8G显存):使用 Q4 量化模型 + Flash Attention
-
工作站级设备:开启 FP16 精度 + 大上下文窗口(4096+)
-
服务器集群:Kubernetes 部署 + 多 GPU 并行
- 开发工作流
- 安全建议
-
公网环境必须配置 API 认证
-
敏感业务使用私有模型仓库
-
定期清理
~/.ollama/models
缓存
如何学习大模型 AI ?
由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。
但是具体到个人,只能说是:
“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。
我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。
我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。
第一阶段(10天):初阶应用
该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。
- 大模型 AI 能干什么?
- 大模型是怎样获得「智能」的?
- 用好 AI 的核心心法
- 大模型应用业务架构
- 大模型应用技术架构
- 代码示例:向 GPT-3.5 灌入新知识
- 提示工程的意义和核心思想
- Prompt 典型构成
- 指令调优方法论
- 思维链和思维树
- Prompt 攻击和防范
- …
第二阶段(30天):高阶应用
该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。
- 为什么要做 RAG
- 搭建一个简单的 ChatPDF
- 检索的基础概念
- 什么是向量表示(Embeddings)
- 向量数据库与向量检索
- 基于向量检索的 RAG
- 搭建 RAG 系统的扩展知识
- 混合检索与 RAG-Fusion 简介
- 向量模型本地部署
- …
第三阶段(30天):模型训练
恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。
到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?
- 为什么要做 RAG
- 什么是模型
- 什么是模型训练
- 求解器 & 损失函数简介
- 小实验2:手写一个简单的神经网络并训练它
- 什么是训练/预训练/微调/轻量化微调
- Transformer结构简介
- 轻量化微调
- 实验数据集的构建
- …
第四阶段(20天):商业闭环
对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。
- 硬件选型
- 带你了解全球大模型
- 使用国产大模型服务
- 搭建 OpenAI 代理
- 热身:基于阿里云 PAI 部署 Stable Diffusion
- 在本地计算机运行大模型
- 大模型的私有化部署
- 基于 vLLM 部署大模型
- 案例:如何优雅地在阿里云私有部署开源大模型
- 部署一套开源 LLM 项目
- 内容安全
- 互联网信息服务算法备案
- …
学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。
如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。