60 秒上手 Ollama:本地 AI 部署完全指南

60 秒上手 Ollama:本地 AI 部署完全指南
当 AI 大模型成为生产力工具,数据隐私和长期使用成本成为越来越多人关注的焦点。Ollama 的出现,让普通用户也能轻松把开源大模型部署到本地。本文从基础认知到实战操作,全面解析 Ollama 的使用方法、最新特性与安全配置。

01 Ollama 是什么?🤔

Ollama 并非一款大模型,而是一款「轻量级、易上手的本地大模型部署工具」。它的核心使命是降低开源大模型本地部署的门槛,让非专业运维人员也能轻松把 Llama、Qwen(千问)、DeepSeek、Gemma 等开源大模型部署到自己的电脑或服务器上。

核心特性

Ollama 的设计理念堪称"懒人友好":

✅ 简化部署流程无需复杂的环境配置、依赖安装,一条命令就能完成模型的拉取和启动。

✅ 内置标准化 API 服务启动模型后,默认在 11434 端口提供兼容 OpenAI 接口规范的 API 服务,开发者无需重新适配接口,极大降低开发成本。

✅ 丰富的模型仓库内置海量开源大模型,支持按需拉取,兼顾轻量化和高性能需求。

✅ 跨平台兼容支持 Windows、Mac、Linux 等主流系统,无需担心环境适配问题。

✅ 量化技术优化默认使用 4-bit 量化模型(如 q4_K_M),显著降低显存需求,普通电脑(8GB 内存 + 入门显卡)即可运行轻量模型。

简单来说,Ollama 就像"大模型的本地管家",把复杂的部署、运维、接口适配工作都包揽了,让我们聚焦于使用大模型解决业务问题。

图片

Ollama 核心特性架构图,部署、API 服务、模型仓库三大模块


02 2025-2026 最新特性更新

Ollama 在 2025-2026 年持续快速迭代,新版本带来了多项重要更新。

v0.15.1 版本亮点(2026 年 1 月)

全新 ollama launch 命令一键启动 Claude Code、Codex、OpenCode 和 Droid 等模型,无需单独配置。

GLM-4.7-Flash 深度优化修复重复回答问题,改进量化策略(q8_0 格式),提升注意力计算精度。

跨平台性能提升macOS 与 arm64 Linux 性能修复,构建脚本增加 -O3 优化标志。

v0.14.3 版本亮点(2026 年 1 月)

图像生成 API 正式上线/api/generate 接口支持图像生成,新增 Z-Image Turbo、Flux.2 Klein 等模型。

macOS 应用体验优化修复系统关机时应用中断问题,提升用户体验。

API 结构扩展新增 WidthHeightStepsImage 等图像生成相关字段。

云端模型支持(2025 年 10 月)

Ollama Cloud 功能上线,支持调用阿里云端大模型(如扣子 480B、DeepSeek V3 167B),实现本地与云端混合部署。

MCP 工具集成(2025 年 10 月)

集成 MCP(Model Context Protocol)工具 API,支持 Web Search 等功能,扩展模型能力边界。

图片

Ollama 2025-2026 功能演进时间线,关键版本和新增功能


03 快速上手:从安装到第一个对话

3.1 安装 Ollama

Windows

  1. 访问官网 https://ollama.com/ 下载 Windows 安装包
  2. 双击运行安装程序,默认路径安装即可
  3. 验证安装:打开 CMD,输入 ollama --version

macOS

# 使用 Homebrew 安装(推荐) brew install ollama # 或访问官网下载 .dmg 文件安装 

Linux

# 一键安装脚本 curl -fsSL https://ollama.com/install.sh | sh # 或使用 Docker docker run -d -v ollama:/root/.ollama -p 11434:11434 ollama/ollama 

3.2 拉取第一个模型

Ollama 官方模型库(ollama.com/library)内置 200+ 开源模型。

入门推荐模型

模型名称

参数规模

模型大小

适用场景

qwen2.5:0.5b

0.5B

~400MB

中文对话入门,低配电脑首选

llama3.2:1b

1B

~1.3GB

极轻量,快速响应

phi3-mini

3.8B

~2.5GB

微软轻量模型,平衡性能

llama3.1:8b

8B

~4.7GB

通用场景推荐款

deepseek-r1:7b

7B

~4.7GB

代码生成强力模型

拉取命令示例:

# 拉取轻量化千问模型 ollama pull qwen2.5:0.5b # 拉取 Llama 3.1 8B 模型 ollama pull llama3.1:8b 

3.3 启动模型并开始对话

# 启动模型并进入交互模式 ollama run qwen2.5:0.5b # 启动后进入对话界面 >>> 你好! >>> 请用 Python 写一个快排。 >>> /bye   # 退出对话 

启动成功后,Ollama 会自动在 11434 端口启动 API 服务,这是后续调用模型的核心入口。

图片

Ollama 安装与首次运行流程图,从下载到对话的完整步骤


04 核心 API 调用指南

Ollama 提供三种调用方式:REST APIPython SDKJavaScript SDK

4.1 REST API(跨语言通用)

Ollama 默认在 http://localhost:11434 提供 API 服务。

生成文本
curl http://localhost:11434/api/generate \   -H 'Content-Type: application/json' \   -d '{     "model": "llama3.1:8b",     "prompt": "解释量子计算",     "stream": false   }' 
多轮对话
curl http://localhost:11434/api/chat \   -H 'Content-Type: application/json' \   -d '{     "model": "llama3.1:8b",     "messages": [       {"role": "user", "content": "你好"}     ],     "stream": false   }' 
主要 API 端点

端点

方法

功能

/api/generate

POST

单次文本生成

/api/chat

POST

多轮对话

/api/tags

GET

列出本地模型

/api/pull

POST

拉取模型

/api/show

POST

显示模型详情

/api/delete

DELETE

删除模型

/api/embeddings

POST

生成文本向量

4.2 Python SDK(官方推荐)

安装依赖:

pip install ollama 

基础对话示例:

from ollama import chat # 单次对话 response = chat(     model='llama3.1:8b',     messages=[         {'role': 'user', 'content': '给 3 个 Python 入门小技巧'}     ] ) print(response['message']['content']) # 视觉功能(看图说话) response = chat(     model='llama3.2-vision:11b',     messages=[         {             'role': 'user',             'content': '这张收据上写了什么?',             'images': ['receipt.jpg']  # 本地图片路径或 URL         }     ] ) print(response['message']['content']) # 生成嵌入向量(用于 RAG) from ollama import embeddings text = "Ollama 能让你在本地运行大模型" vec = embeddings(model='embeddinggemma', prompt=text) print(len(vec['embedding']))  # 向量长度 

4.3 OpenAI 兼容接口

Ollama 的 API 完全兼容 OpenAI 格式,可直接使用 openai Python 库:

from openai import OpenAI # 创建客户端 client = OpenAI(     base_url="http://localhost:11434/v1",     api_key="ollama"# Ollama 不需要真实密钥 ) # 调用聊天接口 response = client.chat.completions.create(     model="llama3.1:8b",     messages=[         {"role": "user", "content": "解释什么是大模型?"}     ] ) print(response.choices[0].message.content) 

这种兼容性设计极大降低了迁移成本,现有 OpenAI 应用无需修改代码即可切换到本地部署。


05 高级功能:定制化与优化

5.1 使用 Modelfile 定制模型

Modelfile 就像"模型的 Dockerfile",能固定模型参数、系统提示词,确保团队使用的模型行为一致。

示例 Modelfile

FROM llama3.1:8b # 设置系统提示 SYSTEM """ 你是一名简洁的 Python 入门导师,优先提供可运行的代码示例。 """ # 默认参数 PARAMETER temperature 0.6 PARAMETER num_ctx 4096 

构建并运行定制模型

# 构建模型 ollama create py-tutor -f Modelfile # 启动定制模型 ollama run py-tutor 

5.2 模型管理

# 查看已安装的模型 ollama list # 查看正在运行的模型 ollama ps # 停止运行中的模型 ollama stop llama3.1:8b # 删除无用模型释放空间 ollama rm qwen:4b # 查看模型详细信息 ollama show llama3.1:8b 

5.3 模型存储路径优化

默认路径问题

  • Windows:C:\Users\<用户名>\.ollama
  • Linux/macOS:~/.ollama

问题:可能占用系统盘空间,尤其对小容量 SSD 用户不友好。

路径迁移方案

Windows

  1. 右键"此电脑"→ 属性 → 高级系统设置 → 环境变量
  2. 新建系统变量 OLLAMA_MODELS,路径设为 D:\ollama\models
  3. 重启电脑生效

Linux/macOS

echo 'export OLLAMA_MODELS=/path/to/your/models' >> ~/.bashrc source ~/.bashrc 

5.4 性能监控与优化

# 使用 --verbose 参数监控资源消耗 ollama run llama3.1:8b --verbose 

输出示例:

total duration: 12m1.056s  # 总耗时 load duration: 1.810s      # 模型加载时间 eval rate: 2.09 tokens/s   # 生成速度 

优化建议

⚠️ 显存不足

  • 选择轻量模型(如 deepseek:1.5b
  • 尝试低精度版本(如 q4_K_M 或 q3_K_L

⚠️ 内存不足

  • 确保至少 8GB 内存(小模型)或 32GB+(大模型)
  • 关闭其他占用内存的程序

⚠️ 生成速度慢

  • 启用 GPU 加速(ollama run --gpu
  • 减少上下文长度(PARAMETER num_ctx 2048

图片

性能监控指标可视化图,加载时间、生成速度、显存占用三个维度


06 实战场景:从开发到部署

6.1 场景一:本地文档问答系统(RAG)

需求:基于本地文档构建问答系统,数据不出本地。

实现步骤

  1. 准备文档
mkdir docs # 将文档放入 docs 目录(.txt 格式) 
  1. 生成嵌入向量
import ollama from ollama import embeddings import glob EMB = "embeddinggemma"# 嵌入模型 # 文档分块(每块 800 字符) chunks = [] for path in glob.glob('docs/*.txt'):     text = open(path, 'r', encoding='utf-8').read()     for i in range(0, len(text), 800):         chunks.append(text[i:i+800]) # 生成嵌入向量 vec_list = [] for chunk in chunks:     vec = embeddings(model=EMB, prompt=chunk)['embedding']     vec_list.append(vec) print(f"生成了 {len(vec_list)} 个向量") 
  1. 检索相关文档
import numpy as np import faiss # 构建 FAISS 索引 X = np.array(vec_list, dtype='float32') faiss.normalize_L2(X) index = faiss.IndexFlatIP(X.shape[1]) index.add(X) # 检索最相关的 5 个文档块 q = "入职清单里关于 Python 版本有什么要求?" qv = np.array([embeddings(model=EMB, prompt=q)['embedding']], dtype='float32') faiss.normalize_L2(qv) D, I = index.search(qv, 5) context = "\n\n".join(chunks[i] for i in I[0]) print(f"上下文:{context[:200]}...") 
  1. 基于上下文回答
from ollama import chat response = chat(     model='llama3.1:8b',     messages=[         {'role': 'system', 'content': '严格根据提供的上下文回答问题,不知道就说不知道。'},         {'role': 'user', 'content': f'上下文:\n{context}\n\n问题:{q}'}     ] ) print(response['message']['content']) 

6.2 场景二:代码助手集成

需求:在 VS Code 中集成本地大模型,实现代码补全和解释。

实现方式一:Open WebUI

Ollama 社区提供了多个可视化工具:

  • Chatbox(https://github.com/Bin-Huang/chatbox)
  • Open WebUI(https://github.com/open-webui/open-webui)

实现方式二:VS Code 插件

  1. 安装 CodeGPT 插件
  2. 配置自定义 API 端点:http://localhost:11434/v1/chat/completions
  3. 选择本地模型(如 llama3.1:8b

6.3 场景三:混合部署(本地 + 云端)

Ollama Cloud 支持本地与云端模型混合调用,适合资源受限场景。

配置方式

from ollama import chat # 本地模型(离线,低延迟) response_local = chat(     model='llama3.1:8b',     messages=[{'role': 'user', 'content': '写一个 Hello World'}] ) # 云端模型(在线,高性能) response_cloud = chat(     model='glm-4.7:cloud',  # 阿里云端模型     messages=[{'role': 'user', 'content': '解释复杂的量子算法'}] ) 

优势

  • 简单任务用本地模型(快、免费)
  • 复杂任务用云端模型(强、无需本地算力)

图片

RAG 架构图,文档处理、向量检索、模型回答三个环节


07 Ollama vs vLLM:如何选择?

Ollama 和 vLLM 是本地大模型部署的两大主流框架,适合不同的场景。

对比维度

Ollama

vLLM

核心定位

轻量化本地部署工具,面向个人开发者、快速原型验证

高性能生产级推理框架,专注高并发、低延迟的企业级场景

部署难度

一键安装,5 分钟完成配置

需手动配置 CUDA 环境、编写启动代码

硬件要求

GTX 1060 + 8GB 内存即可运行 7B 模型

需 A100 + 16GB 显存起步,仅支持 NVIDIA GPU

响应速度

7B 模型单请求延迟 5-10 秒

7B 模型单请求延迟 1-3 秒,吞吐量达 5000+ tokens/s

并发能力

单卡支持 4-8 并发

单卡支持 256+ 并发,原生分布式扩展至多机多卡

显存管理

静态预分配显存,多模型并行资源利用率低

PagedAttention 动态分页,显存利用率提升 95%

模型支持

内置 200+ 预训练模型,支持 Modelfile 自定义参数

兼容 HuggingFace 格式,需手动转换模型文件

适用场景

本地开发、离线知识库构建、移动端/边缘计算

企业级 API 服务、超长文本处理、日均万级请求场景

安全性

默认无鉴权,需自行实现 IP 白名单

支持 API 密钥认证和请求验证

选择建议

✅ 选择 Ollama 当

  • 个人开发者快速验证模型效果
  • 低配置硬件(如仅有 16GB 内存的笔记本电脑)
  • 需要快速交互式对话或原型开发
  • 数据隐私要求极高的场景

✅ 选择 vLLM 当

  • 企业级 API 服务、高并发批量推理
  • 需要高精度模型输出或定制化参数调整
  • 有强大的 GPU 硬件资源(A100、H100 等)

图片

从部署难度、硬件要求、并发能力、性能四个维度对比


08 安全加固指南

2025 年 3 月,国家网络安全通报中心指出 Ollama 默认配置存在三大风险。

8.1 主要风险

❌ 未授权访问11434 端口默认开放且无认证,攻击者可直接调用模型、删除文件。

❌ 数据泄露通过 /api/show 接口可获取模型敏感信息(如 License)。

❌ 历史漏洞可利用 CVE-2024 系列漏洞执行恶意操作(如数据投毒)。

8.2 加固建议

✅ 限制端口监听

# 仅允许本地访问 export OLLAMA_HOST=127.0.0.1:11434 OLLAMA_HOST=127.0.0.1:11434 ollama serve 

✅ 配置防火墙禁止公网访问 11434 端口,仅允许本地回环地址。

✅ 启用 API 密钥(需版本 ≥0.5.12)

export OLLAMA_API_KEY=your-secret-key-here 

✅ 定期更新版本Ollama 定期修复安全漏洞,建议升级到最新版。

图片

安全加固措施流程图,展示风险识别、加固步骤、验证测试三个环节


09 常见问题与解决方案

问题 1:模型下载卡在 99%?

现象:下载进度停滞在最后阶段。

解决

# Ctrl+C 取消下载 Ctrl+C # 再次运行(进度保留) ollama pull llama3.1:8b 

问题 2:模型无响应或崩溃

可能原因

  • Modelfile 配置错误
  • 系统资源不足(内存/显存)

排查步骤

# 检查 Modelfile 中的 TEMPLATE 和 stop 参数 ollama show mymodel --verbose # 使用 --verbose 日志定位问题 ollama run mymodel --verbose 

问题 3:量化后的模型效果变差?

原因:4-bit 量化会降低模型精度。

解决

  • 关键任务使用 FP16 模式(ollama run --gpu
  • 尝试 8-bit 量化版本(q8_0

问题 4:如何查看模型支持的最大上下文?

解决

ollama show llama3.1:8b --modelfile | grep num_ctx 

问题 5:Windows 防火墙拦截 11434 端口?

解决

  1. 打开 Windows Defender 防火墙
  2. 允许 ollama.exe 通过专用网络和公用网络
  3. 添加入站规则:允许 TCP 端口 11434

10 总结与展望

核心要点回顾

✅ 极简部署:一条命令完成模型拉取和启动 ✅ OpenAI 兼容 API:零成本迁移现有应用 ✅ 丰富模型生态:支持 200+ 开源模型 ✅ 量化技术优化:低配硬件也能运行大模型 ✅ 混合部署支持:本地 + 云端灵活切换 ✅ 安全可配置:端口限制、API 密钥、定期更新

适用人群

  • 个人开发者:快速验证模型效果、学习 AI 技术
  • 企业用户:构建内部 AI 应用、保护数据隐私
  • 教育工作者:离线演示、教学实验
  • 隐私敏感场景:医疗、法律、金融等领域

未来展望

Ollama 正在快速演进,未来可能的方向包括:

  • 多模态增强:更强大的图像、视频生成能力
  • 分布式部署:支持多机多卡协同推理
  • 边缘计算优化:进一步降低资源需求
  • 企业级功能:增强安全认证、监控告警

Ollama 的出现,让大模型真正走进了普通人的生活。它不是技术人员的专属工具,而是每个人都能轻松使用的 AI 基础设施。


▼ 关注「走近源码」,获取更多技术干货 ▼

图片

Read more

从指令到执行:OpenClaw 底层原理深度拆解 —— 一台真正会 “动手” 的本地 AI 引擎

从指令到执行:OpenClaw 底层原理深度拆解 —— 一台真正会 “动手” 的本地 AI 引擎

前言 当我们对 OpenClaw 发出一句自然语言指令:“把桌面所有超过一周的截图归档到 D 盘,再把今天的工作记录整理成 Markdown 并推送到 GitHub。” 传统 AI 会给出步骤,而 OpenClaw 会直接做完。 绝大多数文章只告诉你 OpenClaw “能做什么”,却极少解释它到底是如何做到的: * 一段文字,是怎么变成可执行的系统操作? * 它凭什么能跨 IM、跨平台、跨模型统一工作? * 高权限执行,底层是如何保证安全与可控? * 本地运行、隐私闭环,在架构上究竟如何实现? 本文不讲功能、不讲教程,只讲原理。从意图解析、任务编排、执行引擎、权限沙箱到多模态交互,带你从 0 到 1 理解 OpenClaw 的技术本质:它不是一个聊天机器人,而是一套本地优先、可解释、可审计、

HarmonyOS 5.0行业解决方案:基于端侧AI的智能工业质检APP开发实战

HarmonyOS 5.0行业解决方案:基于端侧AI的智能工业质检APP开发实战

文章目录 * 每日一句正能量 * 前言 * 一、工业质检数字化背景与技术趋势 * 1.1 行业痛点分析 * 1.2 鸿蒙工业质检技术栈优势 * 二、系统架构设计 * 2.1 整体架构图 * 2.2 核心模块划分 * 三、核心代码实现 * 3.1 多路工业相机接入 * 3.2 端侧AI推理引擎 * 3.3 缺陷检测业务逻辑 * 3.4 分布式质量看板 * 四、工控系统对接 * 4.1 Modbus TCP通信 * 五、OTA模型更新机制 * 六、总结与行业价值 每日一句正能量 低头走路的人只看到大地的厚重,却忽略了高空的高远;抬头走路的人,只看到高空的广阔,却忽略了脚下的艰辛与险峻,我们既需要在一天里憧憬一年,

人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战

人工智能:大语言模型(LLM)原理与应用实战 1.1 本章学习目标与重点 💡 学习目标:掌握大语言模型的核心原理、训练流程与微调方法,学会基于开源大语言模型完成定制化对话与文本生成任务。 💡 学习重点:理解大语言模型的Transformer decoder-only架构,掌握指令微调与RLHF技术,能够使用LoRA高效微调开源LLM。 1.2 大语言模型的核心概念与发展历程 1.2.1 什么是大语言模型 💡 大语言模型(Large Language Model, LLM)是参数量达到十亿级甚至万亿级的Transformer-based模型。它通过在海量文本数据上进行预训练,学习语言的语法、语义、常识和推理能力。 LLM的核心能力包括文本生成、理解、翻译、摘要、问答等。它可以处理复杂的自然语言任务,无需针对每个任务单独设计模型结构。 LLM与传统NLP模型的核心区别: * 参数量级:传统模型参数量通常在千万级,LLM参数量可达十亿到万亿级。 * 训练数据:传统模型依赖标注数据,LLM使用海量无标注文本进行预训练。 * 能力边界:传统模型只能处理单一任务,LL

春节寒假作业辅导:基于 Rokid 灵珠平台打造 AI Glasses 作业助手

春节寒假作业辅导:基于 Rokid 灵珠平台打造 AI Glasses 作业助手

本文应用基于Rokid灵珠智能体/CXR SDK开发,开发指南https://forum.rokid.com/index 文章目录 * 一、引言:为什么我们需要一个 AI Glasses 作业助手? * 二、方案设计与架构 * 2.1 核心功能定义 * 2.2 端到端架构(AI Glasses) * 2.3 业务流程架构 * 三、开发实战:手把手搭建“作业救星” * 3.1 准备工作 * 3.2 步骤一:创建知识库(资源准备) * 3.3 步骤二:创建智能体(Agent) * 3.4 步骤三:搭建核心工作流(Workflow)