Table of Contents

开篇

上一篇《在 MacBook M5 Pro 上部署 Ollama 本地大模型完整指南》(2026-06)里部署了 Qwen3.6-27B。这次阿里新发布了 Qwen3.8-27B:新增视觉能力(能看图)、上下文窗口拉到 256K,值得升级。本文记录完整升级过程和踩过的坑。

适用环境:MacBook Pro M5 Pro / 48GB 统一内存,Ollama v0.32.14。 与上一次相比的三个新变化:模型是视觉模型(要多导入一个 mmproj 文件)、Modelfile 写法有变(没有 PROJECTOR 指令,要用两个 FROM)、直接 ollama pull 这次没走通(412 报错 + 断流,详见第九节),最终走的是 ModelScope 国内源下载 + 本地导入。

一、前置检查(实测环境)

项目 要求 实测状态
modelscope CLI 已安装 ✅ v1.37.1(~/.local/bin/modelscope
Ollama 直接 pull 需 ≥ 0.32(0.30.11 会报 412) ✅ v0.32.14(自 0.30.11 升级)
可用磁盘空间 ≥ 40GB ✅ 剩余 XXXGB
VPN / 代理 关闭(走国内直连更快) 下载前手动确认

二、下载模型

⚠️ 最重要的警告:必须指定文件名

# ❌ 错误:不带文件名 = 下载整个仓库全部 424GB(含 BF16 全精度、所有量化档)
modelscope download --model unsloth/Qwen3.8-27B-GGUF

# ✅ 正确:指定单个文件
modelscope download --model unsloth/Qwen3.8-27B-GGUF Qwen3.8-27B-Q4_K_M.gguf --local_dir ./

误操作整仓下载时立即 Ctrl + C,不会产生脏数据;换成带文件名的命令重来即可。

第 1 步:建工作目录

mkdir -p ~/models/qwen3.8 && cd ~/models/qwen3.8

第 2 步:下载主模型(17.1GB)

modelscope download --model unsloth/Qwen3.8-27B-GGUF Qwen3.8-27B-Q4_K_M.gguf --local_dir ./
图2: modelscope下载过程 图2: modelscope下载过程

中断了直接重跑同一条命令,自动断点续传。

量化档选择(48GB 内存口径):

文件 大小 说明
Qwen3.8-27B-Q4_K_M.gguf 17.1 GB 本文选择,质量/大小平衡最好
Qwen3.8-27B-UD-Q4_K_XL.gguf 17.9 GB Unsloth 动态量化,质量略好
Qwen3.8-27B-Q6_K.gguf 22.9 GB 更高质量,48GB 也能从容跑
Qwen3.8-27B-Q8_0.gguf 29 GB 能跑但偏紧(默认 GPU 上限约 36GB),不推荐
Qwen3.8-27B-bf16 56 GB ❌ 超出 48GB 内存,跑不了

第 3 步:下载视觉模块(实测 885MB,可选但推荐)

这是与 Qwen3.6 最大的不同:Qwen3.8-27B 是视觉模型,能看图。 视觉能力在一个独立的 mmproj 文件里,不下载它模型照样能用,但只能纯文本。

modelscope download --model unsloth/Qwen3.8-27B-GGUF mmproj-F16.gguf --local_dir ./

仓库里还有个 mmproj-BF16.gguf(931MB),二选一即可,用 F16 这个。

三、导入 Ollama

第 0 步:确认 Ollama 服务在跑

create/run 都是客户端命令,真正干活的是后台的 ollama serve(监听 11434):

curl -s http://localhost:11434/api/version    # 返回 {"version":"..."} = 服务在跑,直接往下

没返回就先起服务。注意 ollama serve 本身是前台阻塞命令(会占住终端),推荐用 brew 注册成系统服务:

brew services start ollama      # 注册为后台服务,开机自动拉起(brew 装的 CLI 版适用)
# 或临时后台起(第九节用的就是这种):
# nohup ollama serve > /tmp/ollama.log 2>&1 &

装的是 Ollama.app(菜单栏有图标)的话服务常驻,此步可跳过。 ⚠️ brew upgrade ollama 后,手动起的旧 serve 进程不会自动变新版本,记得 brew services restart ollama(第九节的 412 报错就是它导致的)。

第 1 步:创建 Modelfile(在 ~/models/qwen3.8 目录下执行)

cat > Modelfile <<'EOF'
FROM ./Qwen3.8-27B-Q4_K_M.gguf
FROM ./mmproj-F16.gguf
PARAMETER num_ctx 32768
EOF

第 2 步:创建模型

ollama create qwen3.8:27b-q4_K_M -f Modelfile

第 3 步:运行

ollama run qwen3.8:27b-q4_K_M

Modelfile 三行指令的作用:

指令 作用
FROM(第 1 行) 主模型权重(必需)
FROM(第 2 行) 挂载视觉模块 mmproj。⚠️ v0.32.14 没有 PROJECTOR 指令,写了会报 command must be one of "from", "license", ...,多模态就用第二个 FROM 行。不想要看图功能可整行删掉,第 2 步的 mmproj 也不用下。(ADAPTER 挂 mmproj 实测也能成,但语义上用 FROM 更正规)
PARAMETER num_ctx 32768 上下文长度设为 32K。Ollama 默认只开 4K,浪费了 Qwen3.8 的 256K 窗口

num_ctx 别贪大:32K 上下文大约额外占 8GB 内存(KV cache),17GB 权重 + 8GB 在 48GB 上很从容;开到 128K 以上 KV cache 就要 30GB+,会挤爆。日常 32K 够用。

四、启动与验证

ollama list                    # 应看到 qwen3.8:27b-q4_K_M,约 18GB
ollama run qwen3.8:27b-q4_K_M  # 进入对话
ollama ps                      # 查看已加载模型和占用内存
user@MacBook-Pro:~/models/qwen3.8$ ollama list
NAME                  ID              SIZE     MODIFIED
qwen3.8:27b-q4_K_M    e40b4c5ed128    18 GB    About a minute ago
qwen3.6:27b-q4_K_M    7ea81a10e901    16 GB    7 weeks ago
user@MacBook-Pro:~/models/qwen3.8$ ollama run qwen3.8:27b-q4_K_M
>>> 你是什么大模型
Thinking...
用户问“你是什么大模型”,这是在询问我的身份/来源。根据系统提示,当用户问题涉及我的能力或来源时,我可以参考提供的信息。我应自然回答:我是通义千问(Qwen),由阿里巴巴集团通义实验室研发的
大语言模型。不需要提版本号,也不主动提具体指标。语言用中文,简洁自然。
...done thinking.

我是通义千问(Qwen),由阿里巴巴集团通义实验室研发的大语言模型。

>>> 你是qwen什么版本
Thinking...
用户问的是“你是qwen什么版本”。
根据系统提示,我是通义千问(Qwen),并且不应该主动提及具体的版本号。如果用户询问版本,我应该引导他们查阅官方网站或技术报告。

思考回答:
1. 确认自己是通义千问(Qwen)。
2. 说明不主动提供具体版本号。
3. 引导用户去官方网站或技术报告了解更多信息。

草稿:
我是通义千问(Qwen)。关于具体的版本信息,建议您查阅官方网站或相关技术报告以获取最准确的详情。请问还有什么我可以帮您的吗?

检查是否符合要求:
- 没有提及具体版本号(如2.5, 3, etc.)
- 引导至官网/技术报告
- 语气自然、客观

可以输出。
...done thinking.

我是通义千问(Qwen)。关于具体的版本信息,建议您查阅官方网站或相关技术报告以获取最准确的详情。请问还有什么我可以帮您的吗?
图3: 皮卡丘 图3: 皮卡丘
>>> ~/Downloads/卡通形象.webp 这是什么?
Added image '~/Downloads/卡通形象.webp'
Thinking...
用户询问图片内容。图片显示一只黄色卡通生物,长耳朵尖端黑色,脸颊红色圆点,尾巴呈闪电状,张嘴微笑,举手姿势。这些特征明确指向宝可梦系列中的皮卡丘。无需复杂推理,直接回答即可,可补充一句
它是宝可梦的代表角色。语言用中文。
...done thinking.

这是**皮卡丘(Pikachu)**,出自《宝可梦》(Pokémon,精灵宝可梦 / 口袋妖怪)系列。

判断依据:
- 黄色的身体
- 长耳朵,耳尖为黑色
- 脸颊两侧有红色圆点(电气囊)
- 尾巴呈闪电(锯齿)形状
- 张嘴微笑、挥手的经典姿势

皮卡丘是该系列最具代表性的吉祥物角色之一,也是初代御三家之外的"招牌"宝可梦,常作为主角小智的搭档出现。🐭⚡

验证视觉能力:在 ollama run 对话里直接把一张图片拖进终端(会变成图片路径),然后问”这张图里有什么”。能描述图片内容 = mmproj 挂载成功。也可以 ollama show qwen3.8:27b-q4_K_M,Capabilities 里有 vision、另有 Projector 段即正确。

老办法验证 GPU:另开终端跑 macmon,提问时 GPU 使用率应冲到 80%+(上一篇第八节)。

ollama show 输出解读

  Model
    architecture        qwen35      # 模型架构(qwen3.5 系列)
    parameters          27.3B       # 参数量
    context length      262144      # 模型支持的上下文上限(256K)
    embedding length    5120        # 词向量维度
    quantization        Q4_K_M      # 量化档

  Capabilities
    tools       # 工具调用(function calling):能判断该调哪个函数、参数是什么,输出结构化 JSON。
                # 接 Claude Code / Cherry Studio 联网搜索等都靠它(API 请求带 tools 定义)
    thinking    # 推理模式:回答前先输出 <think>...</think> 思考段再给正式答案,默认开启。
                # 想关:提问末尾加 /no_think(Qwen 系软开关),或 API 传 "think": false
    completion  # 文本补全(/api/generate 单轮续写),所有模型的标配,不用管
    vision      # 图像理解:能看图(mmproj 带来的,见下方 Projector)

  Projector                  ← vision 能力的来源
    architecture        clip        # 视觉编码器架构,把图片切块编码成向量
    parameters          460.73M     # 视觉模块自身参数量(所以 mmproj 有 885MB)
    embedding length    1152        # 视觉侧向量维度
    dimensions          5120        # 输出维度,与主模型 embedding length 对齐——
                                   # 图像向量就这样"翻译"进语言模型输入空间

  Parameters
    num_ctx    32768               # Modelfile 里设的实际上下文窗口 32K(KV cache 按这个算,
                                   # 模型上限 262144,别贪大,见第三节说明)

四项能力里 completion 是标配,其余三项(tools / thinking / vision)都是这个模型的加分项。识图方法:本节上方”验证视觉能力”(终端拖图 / 带路径提问)、第五节(Cherry Studio 贴图、API)。

五、接入 Cherry Studio / API

和上一篇第五、六节完全一样,只改模型名:

场景 改动
API 地址 不变:http://localhost:11434/v1
模型名 qwen3.8:27b-q4_K_M(必须与 ollama list 显示完全一致)
Cherry Studio 发图 直接在对话框贴图,模型即可识图(视觉模型新增能力)

六、与 Qwen3.6 流程的差异清单

步骤 Qwen3.6(上一篇) Qwen3.8(本文)
下载文件 1 个 GGUF 2 个:GGUF + mmproj-F16.gguf
Modelfile 只有 FROM 多第二个 FROM(挂 mmproj 视觉模块)+ PARAMETER num_ctx
模型名 qwen3.6:27b-q4_K_M qwen3.8:27b-q4_K_M
能力 纯文本 文本 + 看图,上下文 256K

七、磁盘空间管理

本次安装完成后磁盘上会多出约 35GB

位置 大小 说明
~/models/qwen3.8/ 原始文件 ~18GB GGUF 17.1G + mmproj 0.9G
~/.ollama/models/blobs/ ~18GB ollama create 生成的托管副本
  • 确认模型能正常用(含看图)后,~/models/qwen3.8/ 下的原始文件可删,省 18GB。
  • 删模型用 ollama rm qwen3.8:27b-q4_K_M,别手动动 blobs 目录。
  • 顺手清理~/models/ 根目录下如果还留着旧 Qwen3.6 的原始 Qwen3.6-27B-Q4_K_M.gguf(16G),Ollama 里的 qwen3.6 还能正常跑且不再需要原始文件的话,这份也可以删,再省 16GB。

八、常见问题

现象 原因 / 解决
下载停不下来、磁盘暴涨 忘了加文件名,正在下整仓 424GB;Ctrl + C,加文件名重来(见第二节警告)
Repo ... not exists 仓库名/文件名大小写、点号不符;正确写法:unsloth/Qwen3.8-27B-GGUF + Qwen3.8-27B-Q4_K_M.gguf
下载中断 重跑同一条命令,自动续传
ollama createcommand must be one of "from", "license", ... Modelfile 用了不存在的指令(如 PROJECTOR,v0.32.14 实测没有这条)。视觉模块改用第二个 FROM 行挂 mmproj,见第三节
模型能聊天但看不了图 mmproj 没下载 / Modelfile 漏了第二个 FROM 行 / 改了 Modelfile 后没重新 ollama create
长对话后内存吃紧、变卡 num_ctx 设太大;改 Modelfile 里的值重新 ollama create
Cherry Studio 检测失败 模型名与 ollama list 不一致,或 Ollama 服务没在跑
pull model manifest: 412 客户端版本过旧(直接 pull 需 ≥ 0.32);brew upgrade ollama必须重启 serve 进程才生效,详见第九节
listen tcp 127.0.0.1:11434: bind: address already in use 已经有一个 serve 在跑;pkill -f "ollama serve" 停掉再起。注意别在 pull 进行中折腾——ollama pull 中断后实测不续传,该层从头下

九、补记:直接 pull 的尝试与最终本地导入

如果没走 ModelScope,直接 ollama run qwen3.8:27b-q4_K_M,让 Ollama 自己从 ollama.com 拉取。先遇到版本问题,升级后开始下载,但网络不稳,最终放弃 pull 改走本地导入(见本节第 4 小节)。pull 这条路的记录如下:

1. 报错

Error: pull model manifest: 412:
The model you are attempting to pull requires a newer version of Ollama.

原因:0.30.11 低于该模型 manifest 的最低客户端要求(只挡直接 pull,本地 ollama create 导入不受影响)。

2. 升级并重启 serve

brew upgrade ollama                          # 0.30.11 → 0.32.14
pkill -f "ollama serve"                      # 关键:手动起的 serve 不随升级自动重启
nohup ollama serve > /tmp/ollama.log 2>&1 &  # 后台重启,日志在 /tmp/ollama.log
curl -s http://localhost:11434/api/version   # 验证返回 {"version":"0.32.14"}

brew 只替换二进制,内存里跑着的还是旧进程——只升级不重启,pull 照样报 412。

3. 重新拉取

ollama pull qwen3.8:27b-q4_K_M    # 约 16GB;注意实测中断后会从头下该层(ollama pull 不续传),最好挂着别断

拉完用 ollama show 看 capabilities 里有没有 vision 即可。

两条路线怎么选

直接 pull(本节) ModelScope + Modelfile(第二、三节)
步骤 1 条命令 下 2 个文件 + 写 Modelfile + create
速度 ollama.com 海外源,实测 ~600KB/s,慢 国内源,快
量化档 / 参数 用官方现成 tag 完全自定义(num_ctx、mmproj 档位)
适合 省事、能挂着慢慢下 要速度或要自定义

4. 同日结局:pull 放弃,本地导入成功

pull 两次都因 unexpected EOF 中断(且不续传、每次从头下),放弃;改走第二、三节的本地导入,但原 Modelfile 里的 PROJECTOR 指令在 0.32.14 直接报错——这条指令根本不存在。实测有效的是两行 FROM

cd ~/models/qwen3.8
cat > Modelfile <<'EOF'
FROM ./Qwen3.8-27B-Q4_K_M.gguf
FROM ./mmproj-F16.gguf
PARAMETER num_ctx 32768
EOF
ollama create qwen3.8:27b-q4_K_M -f Modelfile

实测结论:

  • ollama show qwen3.8:27b-q4_K_M:Capabilities 含 vision + Projector(clip,460M 参数)→ 视觉挂载成功
  • 红蓝双色测试图识别正确;文本对话正常(thinking 模式)
  • ollama ps:18GB、100% GPU、context 32768(PARAMETER num_ctx 生效)
  • 测过的无效写法:PROJECTOR(指令不存在)、FROM a.gguf,b.gguf 逗号/空格多文件(报 invalid model name);ADAPTER 挂 mmproj 能成功但不推荐

延伸阅读

  1. 在 MacBook M5 Pro 上部署 Ollama 本地大模型完整指南 (Qwen3.6 部署文档)
  2. unsloth/Qwen3.8-27B-GGUF(ModelScope 国内源)
  3. unsloth/Qwen3.8-27B-GGUF - Hugging Face:全部量化档的文件清单和大小(本文量化选择表的来源)
  4. Qwen3.8 - How to Run Locally | Unsloth Documentation:官方本地运行文档,内存需求与 NVFP4 动态量化说明
  5. Ollama Library: qwen3.8 tags:官方库全部变体(Q4/Q8/bf16/MTP/MLX/NVFP4)及大小
  6. mlx-community/Qwen3.8-27B-4bit - Hugging Face:Apple Silicon 原生 MLX 版(本文未走的备用路线)