背景
当下大模型层出不穷,国外有 OpenAI、Gork 等等,国内有通义千问、星火等等,如果要折腾某个大模型,需要下载对应的大模型文件,然后折腾各种流程和配置,才能在本地成功运行起来。如果要在本机上同时运行几个大模型,又是一番折腾
Ollama
Ollama 是一个开源的大型语言模型服务工具,旨在帮助用户快速在本地运行大模型。通过简单的安装指令,用户可以通过一条命令轻松启动和运行开源的大型语言模型。
它提供了一个简洁易用的命令行界面和服务器,专为构建大型语言模型应用而设计。
用户可以轻松下载、运行和管理各种开源 LLM。与传统 LLM 需要复杂配置和强大硬件不同,Ollama 能够让用户在消费级的 PC 上体验 LLM 的强大功能。
Ollama 会自动监测本地计算资源,如有 GPU 的条件,会优先使用 GPU 的资源,同时模型的推理速度也更快。如果没有 GPU 条件,直接使用 CPU 资源。
Ollama 极大地简化了在 Docker 容器中部署和管理大型语言模型的过程,使用户能够迅速在本地启动和运行这些模型。
Ollama 解决了什么问题?
使用过 Docker 的小伙伴都清楚 Docker 的强大。而 Ollama 可以像 Docker 一样管理开源的大模型、一键安装支持的所有模型、自动管理模型依赖、一行命令运行大模型、支持多模型并存,灵活切换,还供本地 REST API,前端/后端都能轻松调用大模型服务
Ollama 优点
- 开源免费:Ollama 及其支持的模型完全开源且免费,用户可以随时访问和使用这些资源,而无需支付任何费用。
- 简单易用:Ollama 无需复杂的配置和安装过程,只需几条简单的命令即可启动和运行,为用户节省了大量时间和精力。
- 支持多平台:Ollama 提供了多种安装方式,支持 Mac、Linux 和 Windows 平台,并提供 Docker 镜像,满足不同用户的需求。
- 模型丰富:Ollama 支持包括 DeepSeek-R1、 Llama3.3、Gemma2、Qwen2 在内的众多热门开源 LLM,用户可以轻松一键下载和切换模型,享受丰富的选择。
- 功能齐全:Ollama 将模型权重、配置和数据捆绑成一个包,定义为 Modelfile,使得模型管理更加简便和高效。
- 支持工具调用:Ollama 支持使用 Llama 3.1 等模型进行工具调用。这使模型能够使用它所知道的工具来响应给定的提示,从而使模型能够执行更复杂的任务。
- 资源占用低:Ollama 优化了设置和配置细节,包括 GPU 使用情况,从而提高了模型运行的效率,确保在资源有限的环境下也能顺畅运行。
- 隐私保护:Ollama 所有数据处理都在本地机器上完成,可以保护用户的隐私。
- 社区活跃:Ollama 拥有一个庞大且活跃的社区,用户可以轻松获取帮助、分享经验,并积极参与到模型的开发和改进中,共同推动项目的发展。
安装与使用
直接在浏览器地址栏输入ollama.com/,进入 Ollama 的官网,官方非常简洁,直接就是下载按钮

根据你使用的电脑系统,选择对应的版本安装。
点击 Models 标签页。呈现的全是可以安装的开源模型

每一个大模型都给出详细的数据大小。
运行 7B 模型至少需要 8GB 内存,运行 13B 模型至少需要 16GB 内存,运行 33B 模型至少需要 32GB 内存。
所以根据自己的电脑配置安装合适的大模型
Ollama 常用命令
Ollama提供终端命令 ollama
,在终端输入 ollama
,结果输出如下:
bash
Usage:
ollama [flags]
ollama [command]
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Use "ollama [command] --help" for more information about a command.
总结如下:
命令 | 描述 |
---|---|
ollama serve |
启动 Ollama |
ollama create |
从 Modelfile 创建模型 |
ollama show |
显示模型信息 |
ollama run |
运行模型 |
ollama stop |
停止正在运行的模型 |
ollama pull |
从注册表中拉取模型 |
ollama push |
将模型推送到注册表 |
ollama list |
列出所有模型 |
ollama ps |
列出正在运行的模型 |
ollama cp |
复制模型 |
ollama rm |
删除模型 |
ollama help |
显示任意命令的帮助信息 |
标志 | 描述 |
---|---|
-h, --help |
显示 Ollama 的帮助信息 |
-v, --version |
显示版本信息 |
命令行对话
笔者在本机安装的 llama3.2
,打开终端、输入 ollama list
命令。查看已安装的大模型
bash
ollama list

然后在终端输入
bash
ollama run llama3.2
进入之后像 Chat 一样对话,输入内容即可得到回复。

上面的所有交互都是在终端里完成的,这只是我们了解 ollama 的一个入口,实际上我们会把大模型当做一个服务使用
REST API 接口
Ollama 本地部署后提供了 RESTful API 服务 ,可以通过 HTTP 请求和它交互来运行大模型(如 LLaMA、Mistral、Gemma 等)。默认监听端口是 11434
。
在终端输入 ollama run llama3.2
,就启动 RESTful API 服务,默认端口是11434,支持 POST 请求。以聊天接口举例子
接口地址:
bash
POST http://localhost:11434/api/chat
请求体示例(使用 llama3.2
模型):
json
{
"model": "llama3",
"messages": [
{ "role": "user", "content": "讲个笑话" }
]
}
响应示例:
json
{
"message": {
"role": "assistant",
"content": "为什么程序员不喜欢大自然?因为里面有太多的 bug。"
},
...
}
也可以用前端/后端 HTTP 请求库接入(如 axios、fetch、requests 等)。
与前端/后端集成
js
const response = await fetch('http://localhost:11434/api/generate', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
model: 'llama2',
prompt: '用中文解释量子力学',
})
})
const data = await response.json()
console.log(data.response)
本质上还是 restful api 服务的接入方式
LangChain.js 集成
LangChain.js 现在非常使用做 AI 开发,Ollama 同样支持 LangChain.js 集成
js
import { Ollama } from 'langchain/llms/ollama'
const model = new Ollama({ baseUrl: "http://localhost:11434", model: "llama2" })
const res = await model.call("用一句话总结《三体》")
console.log(res)
多模型管理&并行使用
bash
ollama run mistral
ollama run llama2
ollama run phi
可以开多个模型窗口,分别用不同模型,互不干扰。
自定义 Modelfile(进阶玩法)
你可以像写 Dockerfile 一样,自定义模型行为:
bash
FROM llama2
# 添加系统提示
SYSTEM "你是一个中文助手,请用中文回答所有问题。"
# 预加载文件或参数
PARAM temperature=0.8
保存为 Modelfile
后构建:
bash
ollama create my-zh-bot -f Modelfile
ollama run my-zh-bot
本质上就是设定一些提示词,提高模型输入的准确率
总结
Ollama 是一个强大的本地模型平台,支持安装和使用各种开源大模型,提供多种与大模型的交互方式