下面这篇教程,主要是为了让你在本地部署 Ollama(一个可以本地运行大模型的工具)时,能更快地“上手”,并且感受一下“大模型”在自己电脑上跑起来到底是种怎样的体验——尤其是 Windows 和 macOS 用户,都能跟着试着玩一玩。
内容的示例,包含 deepseek 模型的安装,去找找吧~
一、为什么要折腾本地部署?
最近网上有不少帖子劝你“别折腾本地部署了”,一来是大模型越来越“重”,二来本地环境、硬件资源的“门槛”不低。
可实际上,本地部署不只是一种“尝鲜”或为了免费用 AI,更是一次深入理解大模型的机会。
你会亲身体会到:
- 大模型原来就是一个巨大的“文件”(甚至好几个文件);
- 大模型回答问题时,对CPU/GPU等计算资源的消耗有多大;
- 不同模型之间的差异真的很大,有些模型速度和表现都不错,有些则差强人意。
而且,你会发现:“哇,原来我的电脑能不能跑得动,也是一门学问。” 所以,如果你感兴趣,不妨动手试一试。
二、准备工作
1. 硬件要求
要想在本地跑大模型,硬件得给力一点。至少要有:
- CPU:多核处理器越多越好;
- 内存:至少 16GB 起步,想跑更大模型建议 32GB 或更高;
- 显卡:如果要用 GPU 加速,最好有一块 8GB 显存起步的显卡。
亲测:我自己用的是 14 核 CPU + 32 GB 内存 + RTX 4080 显卡(8G 显存)才能“勉强”跑一些稍微大点的模型。
如果只是想尝试小模型,那么普通配置也行,但体验可能差一些。
2. 安装 Ollama
Windows 环境
- 下载:访问 Ollama 下载页面,下载
OllamaSetup.exe。 - 安装:
- 如果直接双击
OllamaSetup.exe,就会安装到 C 盘默认目录。 - 如果想安装到其他盘,比如 D 盘,可以用命令行来执行:
# 切换到放安装包的目录 C:\Users\你的用户名>D: # 执行安装 D:\ollama>OllamaSetup.exe /DIR="d:\ollama\"
- 如果直接双击
- (可选)设置模型存储路径:
- 在安装目录(如
d:\ollama\)里新建一个models文件夹。 - 在“系统环境变量”或“用户环境变量”中,添加变量
OLLAMA_MODELS,并设置它的值为你想放模型的文件夹路径,如d:\ollama\models。
- 在安装目录(如
macOS 环境
- 下载并安装:
- 从 Ollama 官方页面 下载对应的 macOS 安装包(一般是
.pkg格式)。 - 双击安装即可,它会默认装到
/Applications/Ollama.app或类似路径。
- 从 Ollama 官方页面 下载对应的 macOS 安装包(一般是
- (可选)自定义模型存放位置:
- 你可以在
.zshrc或.bashrc里添加:export OLLAMA_MODELS=“你的模型存储路径” - 或者使用
launchctl setenv OLLAMA_MODELS "你的模型路径"来设置环境变量。
- 你可以在
三、第一次运行:感受一下“大模型”在你电脑上说话
1. 启动 Ollama
-
Windows:打开命令行(PowerShell 或 CMD),输入:
ollama --version如果显示类似
ollama version is 0.5.7这样的信息,说明安装成功。 -
macOS:同样在终端里输入:
ollama --version显示版本号就代表你装好了。
2. 拉取并运行模型
查看本地已经下载的模型
ollama list
如果是第一次装,一般是空的。
拉取模型
在 Ollama 里,你可以通过命令 ollama pull [模型名] 来下载模型。 比如:
ollama pull deepseek-r1:8b
Ollama 官方也提供了一个模型搜索页面,你可以在上面查找更多模型名称。
运行模型
ollama run deepseek-r1:8b
这时候如果模型没下载完,Ollama 会先帮你下载,再进入一个对话界面,类似:
>>> Send a message (/? for help)
你可以输入任何问题,比如“Hello”或“介绍一下你自己”,然后它就会在你的本地计算资源上推理,给出回复。
要退出对话,输入 /bye 即可。
四、进阶:命令汇总 & API 调用
1. 常用命令速览
ollama --help
会显示一堆子命令,比如:
- serve: 启动服务
- create: 从 Modelfile 创建模型
- show: 查看模型信息
- run: 直接运行模型(进入对话)
- stop: 停止正在运行的模型
- pull: 从远端拉取模型
- push: 推送模型到远端
- list: 列出本地已有的模型
- ps: 查看正在运行的模型
- cp: 复制模型
- rm: 删除模型
2. 使用 Ollama 提供的 REST API
当我们想把 Ollama 部署成一个服务,方便和其他应用对接时,可以启动它的 API 接口。
- 默认访问地址:
https://localhost:11434或https://127.0.0.1:11434 - 若想允许局域网/外网访问:
- 需要让 Ollama 监听
0.0.0.0:端口号,同时有时还要设置防火墙或路由规则。 - 具体做法就是在环境变量中添加
OLLAMA_HOST="0.0.0.0:8000"等,然后重启 Ollama 就行。
- 需要让 Ollama 监听
CORS(跨域)支持
如果你的前端页面和 Ollama 不在同一个域名或端口下,就涉及跨域访问。
设置 OLLAMA_ORIGINS="*" 可以允许所有跨域请求,如下:
-
Windows:
- 在系统环境变量或用户环境变量里,添加:
OLLAMA_ORIGINS="*"- 重启计算机后,再启动 Ollama。
-
macOS:
- 设置环境变量
launchctl setenv OLLAMA_ORIGINS "*" - 重启 Ollama 或整台机器后生效。
- 设置环境变量
常用 API
| API URL | 请求方式 | 请求参数 | 响应参数 | 功能 |
|---|---|---|---|---|
/api/generate | POST | model(模型名称)、prompt(提示文本)等其他可选参数 | 生成的文本、生成的 tokens 等 | 文本生成 |
/api/chat | POST | model(模型名称)、messages(包含角色和内容的消息列表) | 聊天回复文本、生成的 tokens 等 | 聊天对话 |
/api/pull | POST | name(模型名称) | 拉取进度或模型信息 | 拉取模型 |
/api/delete | DELETE | name(模型名称) | 返回状态码(200/404) | 删除模型 |
/api/tags | GET | 无 | 返回模型列表 | 获取本地模型列表 |
/api/show | POST | name(模型名称)、可选 verbose | 返回模型详细信息 | 查看模型信息 |
/api/copy | POST | source(源模型)、destination(目标模型) | 返回状态码(200/404) | 复制模型 |
/api/create | POST | name(新模型名称)、modelfile(模型文件内容) | 返回创建状态或错误信息 | 创建自定义模型 |
比如,你想调用 /api/generate 来让模型生成文本,可以这么写:
curl http://localhost:11434/api/generate \
-d '{"model": "llama2", "prompt": "为什么天空是蓝色的?"}'
五、“残酷”的现实:本地 AI 并非全能
尽管把大模型跑在本地听起来很美好,还能“免费”体验 AI,不过得考虑以下因素:
- 硬件资源:真要跑一些像样的模型(几百亿参数),对 CPU、显卡、内存的要求都很高,一般消费级电脑负担不了。
- 模型质量:你能在本地顺利跑的往往是压缩或者规模较小的模型,效果难以和云端大型模型(如 GPT-4)相比。
- 调优和运维:即使你有了好机器,如何优化推理速度?如何加载模型?如何让对话不“断流”?也需要不断摸索。
但正如前面所说,本地部署的意义并不只是“生产力”或“省钱”,更多是让你体验和理解大模型技术,并在一些特定场景(如本地数据安全、离线环境)发挥作用。
六、总结
- 如果你想学 AI,本地部署能让你“近距离”感受大模型的工作方式。
- 如果你要在离线环境或特殊需求下使用 AI,本地部署是难得的选择。
- 如果你只是轻度体验,建议还是用在线服务,省力不少,体验也更好。
至于哪款模型最好用?你可以自己下载几款试试。
据个人体验来看,llama3.2 和 deepseek-r1:8b 这两个模型在我的机器上还能“凑合”使用。其他模型或许也行,但差距确实存在。
欢迎在留言区或评论区分享:
- 你在本地跑大模型时遇到过哪些问题?
- 测试过哪款模型效果好或踩过哪些坑?
让我们一起交流、折腾,在探索大模型的路上不断前进!
附注:如果在 Windows 上配置环境变量、修改端口、CORS 等有疑问,可以查看 Ollama 的官方文档或到他们的 GitHub Issue 区看看有没有其他人遇到过相同问题。