<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Ollama on KnightLi的博客</title>
        <link>https://knightli.com/tags/ollama/</link>
        <description>Recent content in Ollama on KnightLi的博客</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Fri, 15 May 2026 23:27:50 +0800</lastBuildDate><atom:link href="https://knightli.com/tags/ollama/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>Claude Code &#43; Ollama 本地部署教程：用 CC Switch 打造免费 AI 编程助手</title>
        <link>https://knightli.com/2026/05/15/claude-code-ollama-cc-switch-local-agent/</link>
        <pubDate>Fri, 15 May 2026 23:27:50 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/15/claude-code-ollama-cc-switch-local-agent/</guid>
        <description>&lt;p&gt;最近 &lt;code&gt;Claude Code&lt;/code&gt; 在 AI 开发工具圈很火，原因不难理解：它不像普通聊天机器人那样只回答问题，而是可以读取项目、修改代码、执行终端命令、安装依赖，并尝试自动修复报错。&lt;/p&gt;
&lt;p&gt;真正的问题在成本。Claude 官方 API 在长上下文、大型项目、多轮 Agent 调用和自动修 Bug 场景下，Token 消耗会很快变大。于是出现了一种新的玩法：继续使用 Claude Code 的 Agent 外壳，但把模型请求转发给本地 &lt;code&gt;Ollama&lt;/code&gt;。&lt;/p&gt;
&lt;p&gt;这条链路的关键工具是 &lt;code&gt;CC Switch&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;这套方案解决什么问题&#34;&gt;这套方案解决什么问题
&lt;/h2&gt;&lt;p&gt;可以把它理解为：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Claude Code 桌面版
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+ CC Switch API 转发层
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;+ Ollama 本地模型
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Claude Code 继续负责项目操作、终端执行、文件修改和 Agent 流程；真正负责推理的大模型，则换成本地运行的 &lt;code&gt;Qwen&lt;/code&gt;、&lt;code&gt;DeepSeek&lt;/code&gt;、&lt;code&gt;Gemma&lt;/code&gt;、&lt;code&gt;GLM&lt;/code&gt; 等模型。&lt;/p&gt;
&lt;p&gt;这样做的吸引力很直接：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;不依赖 Claude 官方 API。&lt;/li&gt;
&lt;li&gt;没有持续 Token 计费压力。&lt;/li&gt;
&lt;li&gt;模型和数据可以留在本机。&lt;/li&gt;
&lt;li&gt;小项目、脚本、网页、运维任务可以低成本反复试。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;但它不是“免费获得 Claude Sonnet 能力”。本地模型的工程理解、长上下文稳定性和复杂任务规划，仍然会受模型能力、显存、量化版本和上下文长度限制。&lt;/p&gt;
&lt;h2 id=&#34;基本准备&#34;&gt;基本准备
&lt;/h2&gt;&lt;p&gt;前置环境主要包括：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;安装 &lt;code&gt;Git&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;安装 &lt;code&gt;Claude Code&lt;/code&gt; 官方桌面版。&lt;/li&gt;
&lt;li&gt;安装最新版 &lt;code&gt;Ollama&lt;/code&gt; 客户端。&lt;/li&gt;
&lt;li&gt;下载 &lt;code&gt;CC Switch&lt;/code&gt; 开源工具。&lt;/li&gt;
&lt;li&gt;在 Ollama 中准备合适的本地模型。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;模型选择可以按显存来定。常见选择包括：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Qwen 3.6&lt;/code&gt; / &lt;code&gt;Qwen 3.5&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemma4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;DeepSeek R1&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;GLM&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果显存不大，优先选择较小参数或较低量化版本。不要一开始就用超大模型，否则很容易出现加载慢、上下文短、响应卡顿或直接显存不足。&lt;/p&gt;
&lt;h2 id=&#34;cc-switch-关键配置&#34;&gt;CC Switch 关键配置
&lt;/h2&gt;&lt;p&gt;这套方案里最关键的配置项是下面几项。&lt;/p&gt;
&lt;p&gt;请求地址：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://127.0.0.1:11434/v1
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;API 格式：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;OpenAI Chat Completions
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;认证字段选择：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ANTHROPIC_API_KEY
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Claude Code 桌面版的自定义配置文件末尾，还需要加入注册表修改命令：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&amp;#34;inferenceModels&amp;#34;=&amp;#34;[\&amp;#34;haiku\&amp;#34;,\&amp;#34;sonnet\&amp;#34;,\&amp;#34;opus\&amp;#34;]&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这一步的作用，是让 CC Switch 把模型名称注入到 Claude Code 里显示。Claude Code 以为自己在调用 Claude 模型，实际请求已经被 CC Switch 转发到了本地 Ollama。&lt;/p&gt;
&lt;h2 id=&#34;claude-code-强在哪里&#34;&gt;Claude Code 强在哪里
&lt;/h2&gt;&lt;p&gt;很多人第一次接触 Claude Code，会把它当成高级聊天工具。但它和普通 AI 聊天客户端不太一样。&lt;/p&gt;
&lt;p&gt;普通聊天式 AI 通常是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;你问一句
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;它答一句
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Claude Code 更接近：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;AI + IDE + Terminal
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;它可以读取项目结构，例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;src/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;components/
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;package.json
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker-compose.yml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后尝试完成一串操作：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;分析代码。&lt;/li&gt;
&lt;li&gt;修改文件。&lt;/li&gt;
&lt;li&gt;安装依赖。&lt;/li&gt;
&lt;li&gt;执行命令。&lt;/li&gt;
&lt;li&gt;查看报错。&lt;/li&gt;
&lt;li&gt;再次修改。&lt;/li&gt;
&lt;li&gt;重新运行项目。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这也是为什么很多开发者把它叫做 AI 开发 Agent。它的价值不只是“写一段代码”，而是能围绕项目状态连续行动。&lt;/p&gt;
&lt;h2 id=&#34;ollama-在这里扮演什么角色&#34;&gt;Ollama 在这里扮演什么角色
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Ollama&lt;/code&gt; 负责在本机运行模型。&lt;/p&gt;
&lt;p&gt;这套组合的核心逻辑是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Claude Code 负责 Agent 能力和项目操作。&lt;/li&gt;
&lt;li&gt;CC Switch 负责把 Claude Code 的请求转成兼容本地模型的 API。&lt;/li&gt;
&lt;li&gt;Ollama 负责实际推理。&lt;/li&gt;
&lt;li&gt;本地模型返回结果后，再交给 Claude Code 继续执行。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;所以，这不是把 Ollama 变成一个普通聊天窗口，而是把它接进 Claude Code 的工作流。&lt;/p&gt;
&lt;p&gt;对于小型任务，这种组合会很有吸引力。比如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;生成一个 HTML 页面。&lt;/li&gt;
&lt;li&gt;修改小型前端项目。&lt;/li&gt;
&lt;li&gt;写自动化脚本。&lt;/li&gt;
&lt;li&gt;处理 Docker 配置。&lt;/li&gt;
&lt;li&gt;做 VPS 运维辅助。&lt;/li&gt;
&lt;li&gt;生成简单工具或测试代码。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;类似“帮我生成一个赛博朋克风格的个人主页网站”这类任务，本地模型可以完成项目创建、网页生成、动画和特效配置，并尝试自动运行。&lt;/p&gt;
&lt;h2 id=&#34;体验边界在哪里&#34;&gt;体验边界在哪里
&lt;/h2&gt;&lt;p&gt;这套玩法很有意思，但边界也要说清楚。&lt;/p&gt;
&lt;p&gt;目前本地模型仍然很难完全替代 Claude Sonnet，尤其在这些场景里：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;长上下文理解。&lt;/li&gt;
&lt;li&gt;大型工程结构分析。&lt;/li&gt;
&lt;li&gt;多步骤推理。&lt;/li&gt;
&lt;li&gt;复杂项目架构调整。&lt;/li&gt;
&lt;li&gt;长时间连续修 Bug。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;项目一复杂，本地模型更容易出现：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;逻辑混乱。&lt;/li&gt;
&lt;li&gt;修改错误文件。&lt;/li&gt;
&lt;li&gt;反复修同一个 Bug。&lt;/li&gt;
&lt;li&gt;忘记前文上下文。&lt;/li&gt;
&lt;li&gt;对项目结构判断不稳定。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以更合理的定位是：它适合低成本试验、小项目、脚本任务和局部代码修改；不适合一开始就把大型生产项目完全交给它自动改。&lt;/p&gt;
&lt;h2 id=&#34;多模态兼容性还不稳定&#34;&gt;多模态兼容性还不稳定
&lt;/h2&gt;&lt;p&gt;这套链路还有一个明显问题：Vision 多模态兼容性。&lt;/p&gt;
&lt;p&gt;虽然 Ollama 已经支持一些 Vision 模型，但 &lt;code&gt;Claude Code + CC Switch + Ollama&lt;/code&gt; 这条链路对图片支持并不完整。常见情况是：用户上传了图片，但 AI 仍提示没有看到图片。&lt;/p&gt;
&lt;p&gt;这并不一定是模型不支持 Vision，而是整条链路里：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Claude Code 更偏代码 Agent。&lt;/li&gt;
&lt;li&gt;CC Switch 主要处理 API 转发。&lt;/li&gt;
&lt;li&gt;Ollama 模型能力和请求格式还要匹配。&lt;/li&gt;
&lt;li&gt;图片输入在不同客户端和模型之间并不总是无缝传递。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以目前更适合的场景还是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;编程。&lt;/li&gt;
&lt;li&gt;终端操作。&lt;/li&gt;
&lt;li&gt;项目文件修改。&lt;/li&gt;
&lt;li&gt;自动化脚本。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;而不是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;图片理解。&lt;/li&gt;
&lt;li&gt;OCR。&lt;/li&gt;
&lt;li&gt;多模态聊天。&lt;/li&gt;
&lt;li&gt;复杂视觉任务。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;适合谁尝试&#34;&gt;适合谁尝试
&lt;/h2&gt;&lt;p&gt;这套方案适合几类人：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;想体验 Claude Code Agent 工作流，但不想持续消耗 Claude API 的用户。&lt;/li&gt;
&lt;li&gt;已经在本机跑 &lt;code&gt;Ollama&lt;/code&gt; 的本地大模型玩家。&lt;/li&gt;
&lt;li&gt;做小项目、脚本、网页、运维工具的开发者。&lt;/li&gt;
&lt;li&gt;想测试本地模型真实编程能力的人。&lt;/li&gt;
&lt;li&gt;对数据本地化更敏感的用户。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;不太适合：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;完全不想折腾配置的人。&lt;/li&gt;
&lt;li&gt;希望获得 Claude Sonnet 同等能力的人。&lt;/li&gt;
&lt;li&gt;需要稳定处理大型生产代码库的人。&lt;/li&gt;
&lt;li&gt;强依赖图片输入和多模态能力的人。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;使用建议&#34;&gt;使用建议
&lt;/h2&gt;&lt;p&gt;如果要尝试，建议按低风险方式开始：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先用测试项目，不要直接接生产仓库。&lt;/li&gt;
&lt;li&gt;选择中小模型，确认 Ollama 本身运行稳定。&lt;/li&gt;
&lt;li&gt;先做 HTML、脚本、配置文件这类简单任务。&lt;/li&gt;
&lt;li&gt;每次修改后自己检查 &lt;code&gt;git diff&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;不要让它在不确认的情况下批量删除或重构文件。&lt;/li&gt;
&lt;li&gt;多模态任务暂时不要依赖这条链路。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果项目比较复杂，最好把任务拆小：让它只改一个模块、一个函数、一个页面或一个配置文件。这样比“一句话让它重构整个项目”可靠得多。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Claude Code + Ollama + CC Switch&lt;/code&gt; 的意义，不是让本地模型立刻变成 Claude Sonnet，而是把本地模型接进一个真正能操作项目的 Agent 外壳里。&lt;/p&gt;
&lt;p&gt;这让本地 AI 开发助手第一次变得更接近真实生产力工具：它可以看项目、改文件、跑命令、修错误，而不是只在聊天框里给建议。&lt;/p&gt;
&lt;p&gt;但它的能力上限仍然取决于本地模型本身。小项目和自动化任务会很有价值；大型工程、长上下文和复杂推理仍然需要更强模型。&lt;/p&gt;
&lt;p&gt;如果你的目标是“零 API 成本、无 Token 焦虑、在本机反复试 AI 编程 Agent”，这套方案值得折腾。只是要记住：它是本地开发助手，不是万能自动程序员。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>适合 RTX 3060 显卡运行的本地 LLM 模型推荐</title>
        <link>https://knightli.com/2026/05/08/rtx-3060-local-llm-models/</link>
        <pubDate>Fri, 08 May 2026 09:25:24 +0800</pubDate>
        
        <guid>https://knightli.com/2026/05/08/rtx-3060-local-llm-models/</guid>
        <description>&lt;p&gt;RTX 3060 最常见的是 12GB 显存版本。它不是顶级 AI 显卡，但用来跑本地 LLM 很合适，尤其适合 7B、8B、9B、12B 级别模型。&lt;/p&gt;
&lt;p&gt;如果只想快速选型，可以先记住一句话：&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;RTX 3060 12GB 优先选 8B 左右模型的 Q4_K_M 或 Q5_K_M 量化；想要更稳就选 Q4，想要更好质量再试 Q5。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;不要一上来就追 32B、70B。它们即使用低比特量化和 CPU offload 能跑，速度和体验通常也不适合日常使用。&lt;/p&gt;
&lt;h2 id=&#34;先看显存边界&#34;&gt;先看显存边界
&lt;/h2&gt;&lt;p&gt;RTX 3060 12GB 跑本地 LLM，真正限制是显存。&lt;/p&gt;
&lt;p&gt;大致可以这样理解：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;模型规模&lt;/th&gt;
          &lt;th&gt;推荐量化&lt;/th&gt;
          &lt;th&gt;3060 12GB 体验&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;3B / 4B&lt;/td&gt;
          &lt;td&gt;Q4、Q5、Q8&lt;/td&gt;
          &lt;td&gt;很轻松，速度快&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;7B / 8B / 9B&lt;/td&gt;
          &lt;td&gt;Q4_K_M、Q5_K_M&lt;/td&gt;
          &lt;td&gt;最推荐，质量和速度平衡好&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;12B / 14B&lt;/td&gt;
          &lt;td&gt;Q4_K_M&lt;/td&gt;
          &lt;td&gt;可以尝试，注意上下文不要太大&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;30B 以上&lt;/td&gt;
          &lt;td&gt;Q2 / Q3 或部分 offload&lt;/td&gt;
          &lt;td&gt;能折腾，但不推荐日常使用&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;70B 以上&lt;/td&gt;
          &lt;td&gt;极低量化或大量 CPU/RAM 参与&lt;/td&gt;
          &lt;td&gt;更像实验，不适合普通使用&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;本地 LLM 不只是模型文件大小占显存。上下文长度、KV cache、批处理大小、推理框架和显卡驱动都会占资源。&lt;/p&gt;
&lt;p&gt;所以 12GB 显存并不等于可以直接加载 12GB 模型文件。更稳的做法是给系统和上下文留余量。&lt;/p&gt;
&lt;h2 id=&#34;推荐一qwen3-8b&#34;&gt;推荐一：Qwen3 8B
&lt;/h2&gt;&lt;p&gt;如果你主要用中文，&lt;code&gt;Qwen3 8B&lt;/code&gt; 是 RTX 3060 上很值得优先尝试的模型。&lt;/p&gt;
&lt;p&gt;适合场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;中文问答。&lt;/li&gt;
&lt;li&gt;摘要和改写。&lt;/li&gt;
&lt;li&gt;日常知识助手。&lt;/li&gt;
&lt;li&gt;简单代码解释。&lt;/li&gt;
&lt;li&gt;本地 RAG。&lt;/li&gt;
&lt;li&gt;轻量 Agent 流程。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;建议选择：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Qwen3 8B GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M：优先推荐
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q5_K_M：质量更好，但显存压力更高
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Qwen 系列对中文更友好，日常写作、资料整理和中文指令理解通常比较顺。如果你不知道第一款本地中文模型选什么，可以先从它开始。&lt;/p&gt;
&lt;h2 id=&#34;推荐二llama-31-8b-instruct&#34;&gt;推荐二：Llama 3.1 8B Instruct
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Llama 3.1 8B Instruct&lt;/code&gt; 是一个很稳的通用模型，英文能力和工具生态都比较成熟。&lt;/p&gt;
&lt;p&gt;适合场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;英文问答。&lt;/li&gt;
&lt;li&gt;轻量代码辅助。&lt;/li&gt;
&lt;li&gt;通用聊天。&lt;/li&gt;
&lt;li&gt;文档摘要。&lt;/li&gt;
&lt;li&gt;提示词测试。&lt;/li&gt;
&lt;li&gt;对比不同推理工具。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;建议选择：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Llama 3.1 8B Instruct GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M：速度和显存更稳
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q5_K_M：回答质量更好
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你主要处理英文资料，或者想要一个生态成熟、教程多、兼容性好的模型，Llama 3.1 8B 仍然是很好的基准选择。&lt;/p&gt;
&lt;h2 id=&#34;推荐三gemma-3-12b&#34;&gt;推荐三：Gemma 3 12B
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;Gemma 3 12B&lt;/code&gt; 更接近 3060 12GB 的上限选择。&lt;/p&gt;
&lt;p&gt;它比 8B 模型更吃显存，但在 Q4 量化下仍然有机会在 3060 12GB 上跑起来。适合想在单卡上尝试更大一点模型的人。&lt;/p&gt;
&lt;p&gt;适合场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;更高质量的通用问答。&lt;/li&gt;
&lt;li&gt;英文内容处理。&lt;/li&gt;
&lt;li&gt;较复杂的总结和分析。&lt;/li&gt;
&lt;li&gt;对 8B 模型不满意时的升级尝试。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;建议选择：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Gemma 3 12B GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M 或官方 QAT Q4
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;上下文不要开太大
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果运行时爆显存，可以先降低上下文长度，或者换回 8B 模型。对 3060 来说，12B 是“能试”，不是“无脑推荐”。&lt;/p&gt;
&lt;h2 id=&#34;推荐四deepseek-r1-distill-qwen-8b&#34;&gt;推荐四：DeepSeek R1 Distill Qwen 8B
&lt;/h2&gt;&lt;p&gt;如果你想在本地体验推理风格模型，可以试 &lt;code&gt;DeepSeek R1 Distill Qwen 8B&lt;/code&gt; 一类 8B 蒸馏模型。&lt;/p&gt;
&lt;p&gt;适合场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;简单推理题。&lt;/li&gt;
&lt;li&gt;分步骤分析。&lt;/li&gt;
&lt;li&gt;学习推理模型输出风格。&lt;/li&gt;
&lt;li&gt;本地低成本实验。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;建议选择：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;DeepSeek R1 Distill Qwen 8B GGUF
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;需要注意，这类模型有时会输出更长的推理过程，速度和上下文占用可能比普通指令模型更明显。日常聊天不一定比 Qwen3 8B 更舒服，但用来做推理实验很合适。&lt;/p&gt;
&lt;h2 id=&#34;推荐五phi--minicpm--小尺寸模型&#34;&gt;推荐五：Phi / MiniCPM / 小尺寸模型
&lt;/h2&gt;&lt;p&gt;如果你的 3060 不是 12GB 版本，而是 8GB 版本，或者电脑内存也比较小，可以优先考虑 3B、4B 级别模型。&lt;/p&gt;
&lt;p&gt;适合场景：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;快速问答。&lt;/li&gt;
&lt;li&gt;简单摘要。&lt;/li&gt;
&lt;li&gt;嵌入到本地小工具。&lt;/li&gt;
&lt;li&gt;低延迟聊天。&lt;/li&gt;
&lt;li&gt;老电脑测试。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类模型质量不一定能和 8B、12B 相比，但胜在轻、快、部署简单。&lt;/p&gt;
&lt;h2 id=&#34;量化怎么选&#34;&gt;量化怎么选
&lt;/h2&gt;&lt;p&gt;本地模型常见格式是 &lt;code&gt;GGUF&lt;/code&gt;，常见量化包括 Q4、Q5、Q6、Q8。&lt;/p&gt;
&lt;p&gt;简单选择：&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;量化&lt;/th&gt;
          &lt;th&gt;特点&lt;/th&gt;
          &lt;th&gt;适合谁&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Q4_K_M&lt;/td&gt;
          &lt;td&gt;体积小，速度好，质量够用&lt;/td&gt;
          &lt;td&gt;3060 首选&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q5_K_M&lt;/td&gt;
          &lt;td&gt;质量更好，占用更高&lt;/td&gt;
          &lt;td&gt;8B 模型可以试&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q6 / Q8&lt;/td&gt;
          &lt;td&gt;更接近原始质量，占用更大&lt;/td&gt;
          &lt;td&gt;小模型或显存宽裕时&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q2 / Q3&lt;/td&gt;
          &lt;td&gt;很省显存，但质量下降明显&lt;/td&gt;
          &lt;td&gt;大模型折腾用&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;对 RTX 3060 12GB 来说，最实用的是：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8B 模型：Q4_K_M 或 Q5_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;12B 模型：优先 Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;更大模型：不建议作为日常主力
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;用什么工具运行&#34;&gt;用什么工具运行
&lt;/h2&gt;&lt;p&gt;新手可以从 &lt;code&gt;Ollama&lt;/code&gt; 开始，优点是安装和运行简单。&lt;/p&gt;
&lt;p&gt;常见命令形式：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run qwen3:8b
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run llama3.1:8b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果想更细地控制 GGUF 文件、GPU layers、上下文长度，可以用 &lt;code&gt;llama.cpp&lt;/code&gt; 或基于 llama.cpp 的图形工具。&lt;/p&gt;
&lt;p&gt;常见选择：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ollama&lt;/code&gt;：最省心，适合新手。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;LM Studio&lt;/code&gt;：图形界面友好，适合手动下载和切换模型。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;llama.cpp&lt;/code&gt;：控制最细，适合折腾性能。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;text-generation-webui&lt;/code&gt;：功能多，适合测试不同后端。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果只是本地聊天和简单问答，Ollama 或 LM Studio 就够了。&lt;/p&gt;
&lt;h2 id=&#34;上下文不要开太大&#34;&gt;上下文不要开太大
&lt;/h2&gt;&lt;p&gt;很多模型宣传支持很长上下文，但 RTX 3060 运行时不要盲目开到最大。&lt;/p&gt;
&lt;p&gt;上下文越长，KV cache 占用越高，显存压力也越大。即使模型能加载，长上下文也可能导致速度下降。&lt;/p&gt;
&lt;p&gt;建议：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;普通聊天：4K 到 8K
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;文档摘要：8K 到 16K
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;长文档 RAG：优先切片，不要硬塞全文
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;3060 更适合“中等上下文 + 好模型 + 好检索”，不适合把几十万 token 一次性塞进去。&lt;/p&gt;
&lt;h2 id=&#34;不同用途怎么选&#34;&gt;不同用途怎么选
&lt;/h2&gt;&lt;p&gt;如果你主要写中文：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;优先：Qwen3 8B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;备选：DeepSeek R1 Distill Qwen 8B
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你主要写英文：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;优先：Llama 3.1 8B Instruct Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;备选：Gemma 3 12B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你想跑得快：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;3B / 4B 模型
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;上下文控制在 4K 到 8K
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你想质量更好：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8B Q5_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;12B Q4_K_M
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;接受速度变慢
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你想写代码：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;8B 代码模型可以辅助解释和小改动
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;复杂工程任务仍建议用云端强模型
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;本地 3060 模型适合做代码解释、函数补全、小脚本生成和离线辅助；大型项目重构、复杂 bug、跨文件 Agent 任务，不要期待它达到 Claude Sonnet 或 GPT-5 级别。&lt;/p&gt;
&lt;h2 id=&#34;3060-本地-llm-的合理预期&#34;&gt;3060 本地 LLM 的合理预期
&lt;/h2&gt;&lt;p&gt;RTX 3060 12GB 的定位很清楚：它适合把本地 LLM 从“玩具”变成“日常可用工具”，但不是让你在家里复刻顶级云端模型。&lt;/p&gt;
&lt;p&gt;它的优势是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;成本低。&lt;/li&gt;
&lt;li&gt;显存比 8GB 卡宽裕。&lt;/li&gt;
&lt;li&gt;8B 模型体验不错。&lt;/li&gt;
&lt;li&gt;可以离线使用。&lt;/li&gt;
&lt;li&gt;适合隐私敏感资料的本地处理。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;它的限制是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;大模型很难流畅。&lt;/li&gt;
&lt;li&gt;长上下文会吃显存。&lt;/li&gt;
&lt;li&gt;推理速度不如高端卡。&lt;/li&gt;
&lt;li&gt;本地小模型复杂推理能力有限。&lt;/li&gt;
&lt;li&gt;多模态和 Agent 工作流会更吃资源。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;所以最稳的路线是：用 8B 模型做日常本地助手，用 12B 模型做质量尝试，复杂任务交给云端模型。&lt;/p&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;RTX 3060 12GB 最推荐的本地 LLM 选择是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;中文通用：&lt;code&gt;Qwen3 8B Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;英文通用：&lt;code&gt;Llama 3.1 8B Instruct Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;更高质量尝试：&lt;code&gt;Gemma 3 12B Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;推理实验：&lt;code&gt;DeepSeek R1 Distill Qwen 8B Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;低显存快速体验：3B / 4B 小模型&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;量化优先选 &lt;code&gt;Q4_K_M&lt;/code&gt;，8B 模型可以尝试 &lt;code&gt;Q5_K_M&lt;/code&gt;。工具优先从 Ollama 或 LM Studio 开始。&lt;/p&gt;
&lt;p&gt;不要把 3060 当成大模型服务器。把它当成本地知识助手、隐私文档处理器、轻量代码助手和模型实验卡，会更符合它的实际能力。&lt;/p&gt;
&lt;h2 id=&#34;参考链接&#34;&gt;参考链接
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Qwen3 8B GGUF：&lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/Qwen/Qwen3-8B-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://huggingface.co/Qwen/Qwen3-8B-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Llama 3.1 8B GGUF：&lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/macandchiz/Llama-3.1-8B-Instruct-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://huggingface.co/macandchiz/Llama-3.1-8B-Instruct-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Gemma 3 12B GGUF：&lt;a class=&#34;link&#34; href=&#34;https://huggingface.co/unsloth/gemma-3-12b-it-GGUF&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://huggingface.co/unsloth/gemma-3-12b-it-GGUF&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;llama.cpp：&lt;a class=&#34;link&#34; href=&#34;https://github.com/ggml-org/llama.cpp&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ggml-org/llama.cpp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ollama：&lt;a class=&#34;link&#34; href=&#34;https://ollama.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://ollama.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>解决 Ollama 使用 CPU 而不使用 GPU 运算的问题</title>
        <link>https://knightli.com/2026/04/24/fix-ollama-using-cpu-instead-of-gpu/</link>
        <pubDate>Fri, 24 Apr 2026 18:30:00 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/24/fix-ollama-using-cpu-instead-of-gpu/</guid>
        <description>&lt;p&gt;本地跑大模型时，最让人困惑的一类问题就是：机器明明有显卡，&lt;code&gt;Ollama&lt;/code&gt; 却还是主要吃 &lt;code&gt;CPU&lt;/code&gt;，速度也慢得离谱。&lt;/p&gt;
&lt;p&gt;先说结论，这类问题通常不是单一原因。最常见的几类分别是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Ollama&lt;/code&gt; 根本没有识别到可用 GPU&lt;/li&gt;
&lt;li&gt;驱动、&lt;code&gt;ROCm&lt;/code&gt; 或 &lt;code&gt;CUDA&lt;/code&gt; 环境没装对&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Ollama&lt;/code&gt; 服务启动时没有继承正确环境变量&lt;/li&gt;
&lt;li&gt;模型太大，实际已经退回到 &lt;code&gt;CPU&lt;/code&gt; 或 &lt;code&gt;CPU/GPU&lt;/code&gt; 混合加载&lt;/li&gt;
&lt;li&gt;AMD 平台存在额外兼容性问题，比如 &lt;code&gt;ROCm&lt;/code&gt; 版本、&lt;code&gt;gfx&lt;/code&gt; 代号或设备可见性设置不对&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;下面按最省时间的顺序排查。&lt;/p&gt;
&lt;h2 id=&#34;1-先确认是不是真的没用-gpu&#34;&gt;1. 先确认是不是“真的没用 GPU”
&lt;/h2&gt;&lt;p&gt;最直接的方法是看：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama ps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;重点看 &lt;code&gt;PROCESSOR&lt;/code&gt; 一列。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;100% GPU&lt;/code&gt;：说明模型完整跑在显卡上&lt;/li&gt;
&lt;li&gt;&lt;code&gt;100% CPU&lt;/code&gt;：说明完全没用上显卡&lt;/li&gt;
&lt;li&gt;&lt;code&gt;48%/52% CPU/GPU&lt;/code&gt; 这类结果：说明模型部分进显存、部分落到系统内存&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你看到的是 &lt;code&gt;100% CPU&lt;/code&gt;，后面就该重点查环境和服务配置。&lt;br&gt;
如果看到的是混合加载，那不一定是“显卡没生效”，更可能是显存不够。&lt;/p&gt;
&lt;h2 id=&#34;2-先排除最常见的误区模型装不进显存&#34;&gt;2. 先排除最常见的误区：模型装不进显存
&lt;/h2&gt;&lt;p&gt;很多人以为只要装了 GPU，&lt;code&gt;Ollama&lt;/code&gt; 就一定会全显卡推理。实际上不是。&lt;/p&gt;
&lt;p&gt;如果模型太大、上下文太长，或者机器上已经有别的模型占着显存，&lt;code&gt;Ollama&lt;/code&gt; 很可能会退回到：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;部分 GPU + 部分 CPU&lt;/li&gt;
&lt;li&gt;直接 &lt;code&gt;100% CPU&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这时候可以先做两个最简单的验证：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;换一个更小的模型测试&lt;br&gt;
比如先用 &lt;code&gt;4B&lt;/code&gt;、&lt;code&gt;7B&lt;/code&gt; 这类小模型，而不是一上来就跑更大的参数量。&lt;/li&gt;
&lt;li&gt;卸载其他已加载模型后再试&lt;br&gt;
先看 &lt;code&gt;ollama ps&lt;/code&gt;，确认没有别的模型占着显存。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果小模型能上 GPU，大模型不行，问题往往就不在驱动，而在显存容量。&lt;/p&gt;
&lt;h2 id=&#34;3-检查显卡驱动和底层环境是不是可用&#34;&gt;3. 检查显卡驱动和底层环境是不是可用
&lt;/h2&gt;&lt;p&gt;如果连小模型都只能跑 &lt;code&gt;CPU&lt;/code&gt;，下一步就该看底层环境。&lt;/p&gt;
&lt;h3 id=&#34;nvidia-方向&#34;&gt;NVIDIA 方向
&lt;/h3&gt;&lt;p&gt;先确认驱动正常，系统能看到显卡。常见检查方式包括：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果这里都报错，&lt;code&gt;Ollama&lt;/code&gt; 基本不可能正常使用 GPU。&lt;/p&gt;
&lt;h3 id=&#34;amd--rocm-方向&#34;&gt;AMD / ROCm 方向
&lt;/h3&gt;&lt;p&gt;如果你是 &lt;code&gt;AMD GPU&lt;/code&gt;，尤其是 &lt;code&gt;ROCm&lt;/code&gt; 环境，重点先看：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rocminfo
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;rocm-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果这些工具都不能正常列出设备，说明问题还在 &lt;code&gt;Ollama&lt;/code&gt; 之前，先不要继续折腾应用层。&lt;/p&gt;
&lt;p&gt;对 AMD 来说，最常见的问题不是“有没有装驱动”，而是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ROCm&lt;/code&gt; 版本和系统版本不匹配&lt;/li&gt;
&lt;li&gt;当前 GPU 架构支持不完整&lt;/li&gt;
&lt;li&gt;设备虽然存在，但运行环境没有正确暴露给 &lt;code&gt;Ollama&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;4-重启-ollama-服务不要只重开终端&#34;&gt;4. 重启 Ollama 服务，不要只重开终端
&lt;/h2&gt;&lt;p&gt;这是非常高频的坑。&lt;/p&gt;
&lt;p&gt;很多人装完驱动、改完环境变量、补完 &lt;code&gt;ROCm&lt;/code&gt; 之后，只是重新开了一个终端，然后直接继续 &lt;code&gt;ollama run&lt;/code&gt;。但如果 &lt;code&gt;Ollama&lt;/code&gt; 是以后台服务方式运行，它很可能还在用旧环境。&lt;/p&gt;
&lt;p&gt;所以更稳的做法是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;完整重启 &lt;code&gt;Ollama&lt;/code&gt; 服务&lt;/li&gt;
&lt;li&gt;必要时直接重启系统&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你是在 Linux 上以服务方式运行，通常要确认服务进程已经重新拉起，而不是沿用之前的旧进程。&lt;/p&gt;
&lt;h2 id=&#34;5-检查服务环境变量有没有真正传进去&#34;&gt;5. 检查服务环境变量有没有真正传进去
&lt;/h2&gt;&lt;p&gt;这一步在 &lt;code&gt;AMD ROCm&lt;/code&gt; 环境尤其重要。&lt;/p&gt;
&lt;p&gt;有些机器在终端里手动执行命令没问题，但 &lt;code&gt;Ollama&lt;/code&gt; 服务还是只跑 &lt;code&gt;CPU&lt;/code&gt;，原因是服务进程没有拿到你在 shell 里设置的变量。&lt;/p&gt;
&lt;p&gt;常见需要关注的变量包括：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ROCR_VISIBLE_DEVICES
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;HSA_OVERRIDE_GFX_VERSION
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;其中：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ROCR_VISIBLE_DEVICES&lt;/code&gt; 用来限制或指定 &lt;code&gt;ROCm&lt;/code&gt; 能看到哪些 GPU&lt;/li&gt;
&lt;li&gt;&lt;code&gt;HSA_OVERRIDE_GFX_VERSION&lt;/code&gt; 常见于某些 AMD 平台兼容性处理&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你只是在当前终端里临时 &lt;code&gt;export&lt;/code&gt; 了变量，但 &lt;code&gt;Ollama&lt;/code&gt; 是 systemd、桌面后台服务或其他守护进程启动的，这些变量未必会生效。&lt;/p&gt;
&lt;p&gt;也就是说，终端里“看起来已经设置好了”，不代表 &lt;code&gt;Ollama&lt;/code&gt; 真的拿到了。&lt;/p&gt;
&lt;h2 id=&#34;6-amd-平台重点看-rocm-兼容性&#34;&gt;6. AMD 平台重点看 ROCm 兼容性
&lt;/h2&gt;&lt;p&gt;从公开页面信息看，这个问题对应的视频主题本身就落在 &lt;code&gt;AMD Max+ 395&lt;/code&gt;、&lt;code&gt;strix halo&lt;/code&gt;、&lt;code&gt;AMD ROCm&lt;/code&gt; 这条线上。&lt;br&gt;
这类环境里，&lt;code&gt;Ollama&lt;/code&gt; 不走 GPU，往往比 NVIDIA 平台更依赖版本匹配。&lt;/p&gt;
&lt;p&gt;可以优先排查下面几项：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;ROCm&lt;/code&gt; 版本是否适合当前系统和当前显卡&lt;/li&gt;
&lt;li&gt;当前 GPU 是否属于 &lt;code&gt;ROCm&lt;/code&gt; 支持较好的架构范围&lt;/li&gt;
&lt;li&gt;是否需要补 &lt;code&gt;HSA_OVERRIDE_GFX_VERSION&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;是否是旧版 &lt;code&gt;Ollama&lt;/code&gt; 或旧版底层推理库导致兼容问题&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果你已经确认 &lt;code&gt;rocminfo&lt;/code&gt; 正常、GPU 也能被系统识别，但 &lt;code&gt;Ollama&lt;/code&gt; 仍然只跑 &lt;code&gt;CPU&lt;/code&gt;，那大概率要回到版本组合上重新检查，而不是继续盲目调模型参数。&lt;/p&gt;
&lt;h2 id=&#34;7-dockerwsl-或远程环境要额外检查设备映射&#34;&gt;7. Docker、WSL 或远程环境要额外检查设备映射
&lt;/h2&gt;&lt;p&gt;如果你不是直接在裸机跑，而是在下面这些环境里运行：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;li&gt;WSL&lt;/li&gt;
&lt;li&gt;远程容器&lt;/li&gt;
&lt;li&gt;虚拟化环境&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;那还要多看一层：GPU 设备有没有真正暴露进去。&lt;/p&gt;
&lt;p&gt;典型现象是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;宿主机能看到 GPU&lt;/li&gt;
&lt;li&gt;容器里 &lt;code&gt;Ollama&lt;/code&gt; 却只能跑 &lt;code&gt;CPU&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这时要先确认不是 &lt;code&gt;Ollama&lt;/code&gt; 本身的问题，而是容器或子系统根本没拿到 GPU 访问权限。&lt;/p&gt;
&lt;h2 id=&#34;8-最后再看日志而不是一开始就瞎猜&#34;&gt;8. 最后再看日志，而不是一开始就瞎猜
&lt;/h2&gt;&lt;p&gt;如果前面都查过了，最有效的做法不是继续反复重装，而是直接看 &lt;code&gt;Ollama&lt;/code&gt; 启动日志和运行日志。&lt;/p&gt;
&lt;p&gt;重点看两类信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;有没有识别到 GPU&lt;/li&gt;
&lt;li&gt;有没有出现驱动、库加载、设备初始化失败之类的报错&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;只要日志里明确出现类似“未找到兼容 GPU”或“初始化 ROCm/CUDA 失败”，排查方向就会立刻清晰很多。&lt;/p&gt;
&lt;h2 id=&#34;排查顺序&#34;&gt;排查顺序
&lt;/h2&gt;&lt;p&gt;如果你只想记最短路径，可以按这个顺序来：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;ollama ps&lt;/code&gt; 看现在到底是 &lt;code&gt;GPU&lt;/code&gt;、&lt;code&gt;CPU&lt;/code&gt; 还是混合加载&lt;/li&gt;
&lt;li&gt;换一个更小的模型，排除显存不够&lt;/li&gt;
&lt;li&gt;用 &lt;code&gt;nvidia-smi&lt;/code&gt;、&lt;code&gt;rocminfo&lt;/code&gt;、&lt;code&gt;rocm-smi&lt;/code&gt; 先确认底层环境正常&lt;/li&gt;
&lt;li&gt;完整重启 &lt;code&gt;Ollama&lt;/code&gt; 服务&lt;/li&gt;
&lt;li&gt;检查服务环境变量，尤其是 AMD 的 &lt;code&gt;ROCR_VISIBLE_DEVICES&lt;/code&gt;、&lt;code&gt;HSA_OVERRIDE_GFX_VERSION&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;如果是 Docker / WSL，再检查设备映射&lt;/li&gt;
&lt;li&gt;最后看日志定位具体报错&lt;/li&gt;
&lt;/ol&gt;
</description>
        </item>
        <item>
        <title>Ollama 多显卡使用笔记：显存叠加、GPU 选择和常见误区</title>
        <link>https://knightli.com/2026/04/19/ollama-multiple-gpu-notes/</link>
        <pubDate>Sun, 19 Apr 2026 00:18:00 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/19/ollama-multiple-gpu-notes/</guid>
        <description>&lt;p&gt;折腾 Ollama 本地推理时，经常会遇到类似问题：我现在有一张显卡，主板还有空 PCIe 槽，再加几张 GPU 对 Ollama 有帮助吗？多显卡是否必须同型号？显存能不能叠加？会不会像训练框架那样多卡并行加速？&lt;/p&gt;
&lt;p&gt;这篇整理一下 Ollama 多显卡的实际行为。重点先说结论：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ollama 支持多 GPU。&lt;/li&gt;
&lt;li&gt;多 GPU 最大价值通常是让更大的模型放进总显存，而不是线性提升 token/s。&lt;/li&gt;
&lt;li&gt;默认策略下，如果模型能完整放进某一张 GPU，Ollama 倾向于放在单卡上。&lt;/li&gt;
&lt;li&gt;如果模型无法完整放进单张 GPU，Ollama 会把模型分布到可用 GPU 上。&lt;/li&gt;
&lt;li&gt;不同型号 GPU 可以被 Ollama 看到并使用，但性能和分配效果不一定理想。&lt;/li&gt;
&lt;li&gt;不需要 SLI / NVLink 才能用多卡。&lt;/li&gt;
&lt;li&gt;想限制 Ollama 使用哪些 GPU，需要用 &lt;code&gt;CUDA_VISIBLE_DEVICES&lt;/code&gt;、&lt;code&gt;ROCR_VISIBLE_DEVICES&lt;/code&gt; 或 &lt;code&gt;GGML_VK_VISIBLE_DEVICES&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;官方行为先单卡放不下再多卡&#34;&gt;官方行为：先单卡，放不下再多卡
&lt;/h2&gt;&lt;p&gt;Ollama FAQ 里对多 GPU 加载逻辑说得比较直接：加载新模型时，Ollama 会估算模型所需 VRAM，并和当前可用显存比较。如果模型能完整放进某一张 GPU，它会加载到那张 GPU 上；如果单张 GPU 放不下，才会分布到所有可用 GPU 上。&lt;/p&gt;
&lt;p&gt;这个策略的原因是性能。单卡加载通常能减少推理时跨 PCIe 总线的数据传输，因此往往更快。&lt;/p&gt;
&lt;p&gt;所以不要把 Ollama 的多 GPU 理解成“有几张卡就自动几倍加速”。更准确的理解是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;小模型能进单卡：通常单卡跑。&lt;/li&gt;
&lt;li&gt;大模型单卡放不下：跨多卡分层加载。&lt;/li&gt;
&lt;li&gt;显存仍不够：一部分会落到系统内存，速度会明显下降。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;可以用下面命令确认模型到底加载到了哪里：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama ps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;输出里的 &lt;code&gt;PROCESSOR&lt;/code&gt; 会显示类似：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;100% GPU
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;48%/52% CPU/GPU
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;100% CPU
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果看到 &lt;code&gt;48%/52% CPU/GPU&lt;/code&gt;，说明已经有一部分在系统内存里了。此时多加 GPU 或换更大显存的卡，通常比继续依赖 CPU/RAM 更有意义。&lt;/p&gt;
&lt;h2 id=&#34;多-gpu-不是简单叠算力&#34;&gt;多 GPU 不是简单叠算力
&lt;/h2&gt;&lt;p&gt;本地大模型推理和游戏里的 SLI 不是一回事。Ollama 多卡时，更常见的是把模型的不同层或张量放到不同设备上。这样可以用多张卡的显存装下更大的模型，但推理过程中仍然可能需要设备之间传递数据。&lt;/p&gt;
&lt;p&gt;因此，多 GPU 带来的收益通常分两种：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;显存收益：更容易装下大模型，或者避免落到 CPU/RAM。&lt;/li&gt;
&lt;li&gt;性能收益：只有在原本单卡装不下或严重混 CPU 时，提升才会很明显。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果一个 8B 或 14B 模型本来就能完整放进单张 3090，强行拆到两张卡不一定更快，甚至可能因为跨卡传输变慢。Ollama 官方默认“能单卡就单卡”的策略，就是为了避免这类不必要的跨 PCIe 开销。&lt;/p&gt;
&lt;h2 id=&#34;不需要-sli-或-nvlink&#34;&gt;不需要 SLI 或 NVLink
&lt;/h2&gt;&lt;p&gt;Ollama 多 GPU 不依赖 SLI。多张普通 PCIe GPU 只要驱动和 Ollama 能识别，就可以被调度。&lt;/p&gt;
&lt;p&gt;NVLink 或更高 PCIe 带宽可能对某些跨卡场景有帮助，但它不是 Ollama 多 GPU 的前提条件。很多二手 GPU 服务器或工作站，靠普通 PCIe 多卡也能跑。&lt;/p&gt;
&lt;p&gt;真正要注意的是 PCIe 带宽。&lt;code&gt;x1&lt;/code&gt;、&lt;code&gt;x4&lt;/code&gt;、&lt;code&gt;x8&lt;/code&gt;、&lt;code&gt;x16&lt;/code&gt; 的差异会影响模型加载到显存的速度；如果频繁切换大模型，PCIe 链路会更容易成为瓶颈。模型加载完成后，生成阶段受 PCIe 的影响通常会小一些，但跨卡分层仍然可能带来额外开销。&lt;/p&gt;
&lt;p&gt;比较稳的建议是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;能用 x16 / x8 就不要用矿卡 x1 转接。&lt;/li&gt;
&lt;li&gt;大模型频繁切换时，PCIe 带宽更重要。&lt;/li&gt;
&lt;li&gt;如果模型长期常驻显存，PCIe 带宽瓶颈会相对不明显。&lt;/li&gt;
&lt;li&gt;多卡机器要重点看主板 PCIe 拓扑和 CPU 直连通道。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;如何限制-ollama-使用哪些-nvidia-gpu&#34;&gt;如何限制 Ollama 使用哪些 NVIDIA GPU
&lt;/h2&gt;&lt;p&gt;NVIDIA 多卡环境下，用 &lt;code&gt;CUDA_VISIBLE_DEVICES&lt;/code&gt; 控制 Ollama 能看到哪些卡。&lt;/p&gt;
&lt;p&gt;临时运行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0,1 ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;只让 Ollama 用第二张卡：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;强制不用 NVIDIA GPU，可以给一个无效 ID：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1 ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;官方文档提醒，数字 ID 的顺序可能变化，更可靠的是用 GPU UUID。先查看 UUID：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nvidia-smi -L
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;输出类似：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GPU 0: NVIDIA GeForce RTX 3090 (UUID: GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;GPU 1: NVIDIA GeForce RTX 3070 (UUID: GPU-yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy)
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后指定 UUID：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;GPU-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果 Ollama 是 Linux systemd 服务安装的，需要写到服务环境变量里：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl edit ollama.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;加入：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[Service]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;Environment&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;CUDA_VISIBLE_DEVICES=0,1&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后重载并重启：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl restart ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;amd-和-vulkan-的选择变量&#34;&gt;AMD 和 Vulkan 的选择变量
&lt;/h2&gt;&lt;p&gt;AMD ROCm 环境下，用 &lt;code&gt;ROCR_VISIBLE_DEVICES&lt;/code&gt; 控制可见 GPU：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ROCR_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0,1 ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果要强制不用 ROCm GPU，也可以用无效 ID：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ROCR_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1 ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Ollama 官方 GPU 文档还提到，如果用实验性的 Vulkan 支持，可以通过 &lt;code&gt;GGML_VK_VISIBLE_DEVICES&lt;/code&gt; 选择 Vulkan GPU：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OLLAMA_VULKAN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;GGML_VK_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果 Vulkan 设备有问题，可以禁用：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;GGML_VK_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;-1 ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;AMD 多卡比 NVIDIA 更容易遇到驱动、ROCm 版本、GFX 版本支持的问题。官方文档中也提到 Linux 下 ROCm 驱动版本、&lt;code&gt;HSA_OVERRIDE_GFX_VERSION&lt;/code&gt; 等兼容性处理。多张不同代 AMD 卡混用时，先确认每张卡是否单独可用，再考虑多卡。&lt;/p&gt;
&lt;h2 id=&#34;docker-里怎么暴露多张-gpu&#34;&gt;Docker 里怎么暴露多张 GPU
&lt;/h2&gt;&lt;p&gt;如果用 Docker 跑 Ollama，NVIDIA 环境通常需要先安装 &lt;code&gt;nvidia-container-toolkit&lt;/code&gt;，然后用 &lt;code&gt;--gpus&lt;/code&gt; 暴露设备。&lt;/p&gt;
&lt;p&gt;暴露全部 GPU：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --gpus&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;all &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v ollama:/root/.ollama &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 11434:11434 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name ollama &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ollama/ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;只暴露指定 GPU：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --gpus &lt;span class=&#34;s1&#34;&gt;&amp;#39;&amp;#34;device=0,1&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v ollama:/root/.ollama &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 11434:11434 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name ollama &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ollama/ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;也可以结合环境变量：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker run -d &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --gpus&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;all &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -e &lt;span class=&#34;nv&#34;&gt;CUDA_VISIBLE_DEVICES&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;0,1 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -v ollama:/root/.ollama &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  -p 11434:11434 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  --name ollama &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  ollama/ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果容器里 &lt;code&gt;nvidia-smi&lt;/code&gt; 看不到卡，Ollama 也不可能用到 GPU。先排查 Docker GPU passthrough，再排查 Ollama。&lt;/p&gt;
&lt;h2 id=&#34;ollama_sched_spread-是什么&#34;&gt;&lt;code&gt;OLLAMA_SCHED_SPREAD&lt;/code&gt; 是什么
&lt;/h2&gt;&lt;p&gt;在一些多 GPU 配置讨论里，会看到 &lt;code&gt;OLLAMA_SCHED_SPREAD=1&lt;/code&gt; 或 &lt;code&gt;OLLAMA_SCHED_SPREAD=true&lt;/code&gt;。它和 Ollama 的调度策略有关，常被用于希望模型或请求更分散地利用多张 GPU 的场景。&lt;/p&gt;
&lt;p&gt;可以这样设置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OLLAMA_SCHED_SPREAD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或者 systemd：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-ini&#34; data-lang=&#34;ini&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;[Service]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;na&#34;&gt;Environment&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s&#34;&gt;&amp;#34;OLLAMA_SCHED_SPREAD=true&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;不过它不是万能开关。开启后并不等于 token/s 线性增长，也可能因为多个模型同时加载、显存估算、上下文长度和 KV cache 增长导致 OOM。官方 FAQ 的核心策略仍然是：如果单 GPU 能完整容纳模型，单 GPU 通常更高效；单 GPU 放不下时才跨多 GPU。&lt;/p&gt;
&lt;p&gt;所以建议把 &lt;code&gt;OLLAMA_SCHED_SPREAD&lt;/code&gt; 当成高级调度实验项，而不是多卡必开项。先理解默认行为，再根据实际 &lt;code&gt;ollama ps&lt;/code&gt;、日志和 &lt;code&gt;nvidia-smi&lt;/code&gt; 观察结果调整。&lt;/p&gt;
&lt;h2 id=&#34;怎么观察多卡是否真的用上&#34;&gt;怎么观察多卡是否真的用上
&lt;/h2&gt;&lt;p&gt;常用观察命令：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama ps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;watch -n 0.5 nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;查看 Ollama 服务日志：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;journalctl -u ollama -f
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果使用 Docker：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;docker logs -f ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;你需要关注：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ollama 是否发现兼容 GPU。&lt;/li&gt;
&lt;li&gt;模型是否显示 &lt;code&gt;100% GPU&lt;/code&gt; 或 CPU/GPU 混合。&lt;/li&gt;
&lt;li&gt;每张卡显存是否有占用。&lt;/li&gt;
&lt;li&gt;加载模型时是否多卡显存同时增长。&lt;/li&gt;
&lt;li&gt;生成时 token/s 是否比 CPU/RAM 混跑明显改善。&lt;/li&gt;
&lt;li&gt;是否频繁 OOM 或卸载模型。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果只看 GPU 利用率，很容易误判。LLM 推理时 GPU 利用率不一定长期满载，尤其是多卡、低 batch、小上下文、慢 CPU 或慢 PCIe 环境下。&lt;/p&gt;
&lt;h2 id=&#34;常见误区&#34;&gt;常见误区
&lt;/h2&gt;&lt;h3 id=&#34;误区-1两张-12gb-显卡等于一张-24gb-显卡&#34;&gt;误区 1：两张 12GB 显卡等于一张 24GB 显卡
&lt;/h3&gt;&lt;p&gt;不完全等价。多卡可以让模型跨设备放置，但跨卡访问有额外开销。它能解决“放不下”的问题，不一定等价于单张大显存卡的速度和稳定性。&lt;/p&gt;
&lt;h3 id=&#34;误区-2不同型号显卡不能混用&#34;&gt;误区 2：不同型号显卡不能混用
&lt;/h3&gt;&lt;p&gt;不一定。只要驱动、计算能力和运行库都支持，Ollama 可以看到多张 GPU。但混用时，速度通常受较慢卡、较小显存和 PCIe 拓扑影响。最稳的多卡配置仍然是同型号、同显存、同代驱动支持良好的卡。&lt;/p&gt;
&lt;h3 id=&#34;误区-3多卡一定比单卡快&#34;&gt;误区 3：多卡一定比单卡快
&lt;/h3&gt;&lt;p&gt;不一定。如果模型能完整放进单张快卡，单卡可能更快。多卡主要适合大模型、长上下文、单卡显存不够的情况。&lt;/p&gt;
&lt;h3 id=&#34;误区-4必须有-nvlink--sli&#34;&gt;误区 4：必须有 NVLink / SLI
&lt;/h3&gt;&lt;p&gt;不需要。普通 PCIe 多卡也能被 Ollama 使用。NVLink 不是前提。&lt;/p&gt;
&lt;h3 id=&#34;误区-5加-gpu-后不用重启服务&#34;&gt;误区 5：加 GPU 后不用重启服务
&lt;/h3&gt;&lt;p&gt;不一定。Linux systemd 服务、Windows 后台应用、Docker 容器都可能需要重启，才能重新识别设备和环境变量。&lt;/p&gt;
&lt;h2 id=&#34;选卡建议&#34;&gt;选卡建议
&lt;/h2&gt;&lt;p&gt;如果目标是 Ollama 本地推理，优先级大致是：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;单卡显存越大越省心。&lt;/li&gt;
&lt;li&gt;同型号多卡比混合多卡更容易排错。&lt;/li&gt;
&lt;li&gt;PCIe 通道越完整，加载大模型越舒服。&lt;/li&gt;
&lt;li&gt;老卡要先确认 CUDA compute capability 或 ROCm 支持。&lt;/li&gt;
&lt;li&gt;多卡电源、散热和机箱风道要提前算清楚。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;对于预算有限的二手平台：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;双 3090 仍然是很常见的大显存方案。&lt;/li&gt;
&lt;li&gt;P40 / M40 这类老 Tesla 显存大，但功耗、散热、驱动和性能都要权衡。&lt;/li&gt;
&lt;li&gt;4070 / 4070 Ti 这类新卡能效好，但单卡显存容量限制更明显。&lt;/li&gt;
&lt;li&gt;多张 8GB 老卡能折腾，但不建议为了大模型长期使用。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;Ollama 多显卡支持可以理解成“显存扩展优先，性能加速其次”。如果模型能完整放进一张 GPU，默认单卡通常更快；如果单卡放不下，多卡可以把模型分布到多张 GPU 上，避免大量落到 CPU/RAM，从而让大模型变得可用。&lt;/p&gt;
&lt;p&gt;实际配置时，先用 &lt;code&gt;ollama ps&lt;/code&gt; 看模型加载位置，再用 &lt;code&gt;nvidia-smi&lt;/code&gt; 或 ROCm 工具观察显存占用。需要限制 GPU 时，NVIDIA 用 &lt;code&gt;CUDA_VISIBLE_DEVICES&lt;/code&gt;，AMD ROCm 用 &lt;code&gt;ROCR_VISIBLE_DEVICES&lt;/code&gt;，Vulkan 用 &lt;code&gt;GGML_VK_VISIBLE_DEVICES&lt;/code&gt;。如果在 Docker 中运行，先确保容器层面能看到 GPU。&lt;/p&gt;
&lt;p&gt;多卡不是魔法。它能帮你装下更大的模型，但不保证线性加速。真正稳定好用的路线，仍然是尽量选大显存单卡或同型号多卡，并把驱动、PCIe、电源、散热和模型量化一起考虑。&lt;/p&gt;
&lt;h2 id=&#34;参考链接&#34;&gt;参考链接
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Ollama FAQ：How does Ollama load models on multiple GPUs?：&lt;a class=&#34;link&#34; href=&#34;https://github.com/ollama/ollama/blob/main/docs/faq.mdx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ollama/ollama/blob/main/docs/faq.mdx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ollama GPU 文档：Hardware support / GPU Selection：&lt;a class=&#34;link&#34; href=&#34;https://github.com/ollama/ollama/blob/main/docs/gpu.mdx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/ollama/ollama/blob/main/docs/gpu.mdx&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ollama Docker Hub：&lt;a class=&#34;link&#34; href=&#34;https://hub.docker.com/r/ollama/ollama&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://hub.docker.com/r/ollama/ollama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NVIDIA Container Toolkit：&lt;a class=&#34;link&#34; href=&#34;https://github.com/NVIDIA/nvidia-container-toolkit&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NVIDIA/nvidia-container-toolkit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Windows 用 WSL &#43; Ollama 本地部署 Hermes Agent，并接入 Telegram</title>
        <link>https://knightli.com/2026/04/18/windows-wsl-ollama-hermes-agent-telegram/</link>
        <pubDate>Sat, 18 Apr 2026 00:48:22 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/18/windows-wsl-ollama-hermes-agent-telegram/</guid>
        <description>&lt;p&gt;如果你想在 &lt;code&gt;Windows&lt;/code&gt; 上尽量低门槛地跑 &lt;code&gt;Hermes Agent&lt;/code&gt;，一个比较顺手的路径是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;宿主系统继续用 Windows&lt;/li&gt;
&lt;li&gt;在 &lt;code&gt;WSL&lt;/code&gt; 里跑 &lt;code&gt;Ubuntu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;用 &lt;code&gt;Ollama&lt;/code&gt; 提供本地模型&lt;/li&gt;
&lt;li&gt;让 &lt;code&gt;Hermes Agent&lt;/code&gt; 直接连接本地 Ollama 接口&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这样做的好处是环境相对干净，命令大多按 Linux 方式执行，同时又不需要单独准备一台 Linux 机器。&lt;/p&gt;
&lt;h2 id=&#34;整体流程&#34;&gt;整体流程
&lt;/h2&gt;&lt;p&gt;这套部署可以拆成 5 步：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;启用 &lt;code&gt;WSL&lt;/code&gt; 并安装 &lt;code&gt;Ubuntu&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;在 Ubuntu 里补齐 Python、Node.js、Git 等运行环境&lt;/li&gt;
&lt;li&gt;安装 &lt;code&gt;Ollama&lt;/code&gt; 并拉取本地模型&lt;/li&gt;
&lt;li&gt;安装 &lt;code&gt;Hermes Agent&lt;/code&gt;，再接入 &lt;code&gt;Telegram&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;如果你只想先把 Hermes Agent 跑起来，其实做到第 4 步就已经接近完成了。&lt;/p&gt;
&lt;h2 id=&#34;1-安装-wsl-和-ubuntu&#34;&gt;1. 安装 WSL 和 Ubuntu
&lt;/h2&gt;&lt;p&gt;在管理员权限的 PowerShell 里执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-install&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;安装完成后重启电脑，然后继续安装 Ubuntu：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;wsl&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;-&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;-install&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;-d&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Ubuntu&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;之后打开 &lt;code&gt;Windows Terminal&lt;/code&gt;，切到 Ubuntu 环境，后续命令基本都在这里执行。&lt;/p&gt;
&lt;h2 id=&#34;2-更新-ubuntu并安装基础环境&#34;&gt;2. 更新 Ubuntu，并安装基础环境
&lt;/h2&gt;&lt;p&gt;先更新系统：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt upgrade -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后安装 Python、解压工具、Node.js 和 Git。&lt;/p&gt;
&lt;h3 id=&#34;安装-python&#34;&gt;安装 Python
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install python3-pip python3-venv -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;安装-zstd&#34;&gt;安装 zstd
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y zstd
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;安装-nodejs&#34;&gt;安装 Node.js
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://deb.nodesource.com/setup_22.x &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sudo -E bash -
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y nodejs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;安装-git&#34;&gt;安装 Git
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install -y git
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;安装完成后可以顺手检查一下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;node -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;npm -v
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git --version
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;3-安装-ollama并拉取-gemma-4&#34;&gt;3. 安装 Ollama，并拉取 Gemma 4
&lt;/h2&gt;&lt;p&gt;安装 Ollama：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://ollama.com/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; sh
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你打算给 Hermes Agent 配一个本地模型，可以直接从 &lt;code&gt;Gemma 4&lt;/code&gt; 开始。&lt;/p&gt;
&lt;p&gt;例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gemma4:e4b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果机器资源更弱，也可以试：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gemma4:e2b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;更大的版本还有：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gemma4:26b
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gemma4:31b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;对大多数 Windows + WSL 的普通机器来说，&lt;code&gt;gemma4:e4b&lt;/code&gt; 通常是一个更实际的起点。&lt;/p&gt;
&lt;h2 id=&#34;4-安装并配置-hermes-agent&#34;&gt;4. 安装并配置 Hermes Agent
&lt;/h2&gt;&lt;p&gt;安装命令：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;安装完成后，给它指定 Ollama 的本地接口：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;http://127.0.0.1:11434
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;模型名填你本地实际在用的那个，例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gemma4:e4b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果安装脚本要求刷新 shell，可以执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.bashrc
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;hermes-agent-常用命令&#34;&gt;Hermes Agent 常用命令
&lt;/h2&gt;&lt;p&gt;平时最常用的是下面几个：&lt;/p&gt;
&lt;h3 id=&#34;启动&#34;&gt;启动
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;重新进入配置&#34;&gt;重新进入配置
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes setup
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;配置聊天平台网关&#34;&gt;配置聊天平台网关
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes setup gateway
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;更新&#34;&gt;更新
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes update
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;接入-telegram-的基础步骤&#34;&gt;接入 Telegram 的基础步骤
&lt;/h2&gt;&lt;p&gt;如果你要让 Hermes Agent 通过 Telegram 收发消息，核心还是先跑一遍：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;hermes setup gateway
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;然后准备 Telegram 侧需要的两个东西：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;用 &lt;code&gt;BotFather&lt;/code&gt; 创建机器人&lt;/li&gt;
&lt;li&gt;用 &lt;code&gt;@userinfobot&lt;/code&gt; 获取你的 &lt;code&gt;User ID&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;拿到这些基础信息后，再按 Hermes Agent 的网关配置继续填入即可。&lt;/p&gt;
&lt;h2 id=&#34;这一套方案适合什么人&#34;&gt;这一套方案适合什么人
&lt;/h2&gt;&lt;p&gt;这套方式比较适合下面几类用户：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;平时主力系统就是 Windows&lt;/li&gt;
&lt;li&gt;不想单独折腾完整 Linux 主机&lt;/li&gt;
&lt;li&gt;想先把本地 Agent 跑通，再慢慢扩展聊天平台接入&lt;/li&gt;
&lt;li&gt;希望优先用本地模型，不依赖云端 API&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果你只是想本地体验一个 Agent，而不是一开始就做复杂生产部署，这条路线已经足够实用。&lt;/p&gt;
&lt;h2 id=&#34;需要注意的几个点&#34;&gt;需要注意的几个点
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;WSL&lt;/code&gt; 本质上还是一层兼容环境，极端场景下稳定性未必和原生 Linux 完全一样&lt;/li&gt;
&lt;li&gt;大模型能不能跑得顺，最终还是取决于你的内存、显存和 CPU / GPU 条件&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gemma4:e4b&lt;/code&gt; 虽然是比较现实的起点，但具体体验还是要看机器配置&lt;/li&gt;
&lt;li&gt;Hermes Agent 的聊天平台接入属于“能力扩展”，先把本地模型链路跑通，再加 Telegram，会更稳&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;结论&#34;&gt;结论
&lt;/h2&gt;&lt;p&gt;如果你想在 Windows 上尽量简单地本地部署 Hermes Agent，比较顺的顺序就是：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;WSL -&amp;gt; Ubuntu -&amp;gt; Ollama -&amp;gt; Gemma 4 -&amp;gt; Hermes Agent -&amp;gt; Telegram&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;先把本地模型跑通，再做网关接入，成功率会高很多。&lt;br&gt;
对大多数用户来说，这比一上来就堆很多组件更容易排错，也更适合后续继续扩展。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Windows 局域网访问 Ollama API 设置指南</title>
        <link>https://knightli.com/2026/04/11/ollama-api-lan-access-windows/</link>
        <pubDate>Sat, 11 Apr 2026 16:43:52 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/11/ollama-api-lan-access-windows/</guid>
        <description>&lt;p&gt;如果你希望局域网内其他设备访问本机 Ollama API，可以按下面步骤配置。&lt;/p&gt;
&lt;h2 id=&#34;设置监听端口&#34;&gt;设置监听端口
&lt;/h2&gt;&lt;p&gt;先将 Ollama 监听地址改为所有网卡：&lt;/p&gt;
&lt;p&gt;&lt;code&gt;OLLAMA_HOST=0.0.0.0:11434&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;打开防火墙&#34;&gt;打开防火墙
&lt;/h2&gt;&lt;p&gt;打开防火墙高级设置后，新建一条入站规则并放行目标端口（例如 &lt;code&gt;8080&lt;/code&gt;）：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;按下 Win + S，搜索并打开“Windows Defender 防火墙”。&lt;/li&gt;
&lt;li&gt;点击“高级设置”。&lt;/li&gt;
&lt;li&gt;选择“入站规则” -&amp;gt; “新建规则&amp;hellip;”。&lt;/li&gt;
&lt;li&gt;规则类型选“端口”，点击“下一步”。&lt;/li&gt;
&lt;li&gt;选择协议（通常是 TCP），在“特定本地端口”输入要开放的端口号（例如 &lt;code&gt;8080&lt;/code&gt;），点击“下一步”。&lt;/li&gt;
&lt;li&gt;选择“允许连接”，点击“下一步”。&lt;/li&gt;
&lt;li&gt;在“配置文件”中勾选“域”“专用”“公用”，点击“下一步”。&lt;/li&gt;
&lt;li&gt;为规则命名（例如 &lt;code&gt;OpenPort8080&lt;/code&gt;），点击“完成”。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;运行-ollama&#34;&gt;运行 Ollama
&lt;/h2&gt;&lt;p&gt;Ollama run 模型&lt;/p&gt;
&lt;h2 id=&#34;通过-api-访问模型&#34;&gt;通过 API 访问模型
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://192.168.x.xxx:11434/api/generate -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;model&amp;#34;: &amp;#34;gemma4&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;prompt&amp;#34;: &amp;#34;这个是什么模型?&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;</description>
        </item>
        <item>
        <title>Gemma 4 本地调用指南：从一键运行到开发集成</title>
        <link>https://knightli.com/2026/04/10/gemma4-local-runtime-options/</link>
        <pubDate>Fri, 10 Apr 2026 22:54:17 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/10/gemma4-local-runtime-options/</guid>
        <description>&lt;p&gt;如果你想在本地调用 Gemma 4（Google 2026 年发布的新一代开源模型），可以按需求从这四类方案里选。&lt;/p&gt;
&lt;h2 id=&#34;1-最快上手ollama推荐&#34;&gt;1) 最快上手：Ollama（推荐）
&lt;/h2&gt;&lt;p&gt;这是门槛最低的方式，适合快速测试、日常对话和本地 API 调用。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gemma4
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;特点：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Win/Mac/Linux 都可用&lt;/li&gt;
&lt;li&gt;自动处理硬件加速&lt;/li&gt;
&lt;li&gt;提供兼容 OpenAI 风格的本地 API&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;2-图形界面lm-studio--unsloth-studio&#34;&gt;2) 图形界面：LM Studio / Unsloth Studio
&lt;/h2&gt;&lt;p&gt;如果你更习惯桌面 GUI（类似 ChatGPT），这两类工具更顺手。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;LM Studio：可直接搜索和下载 Hugging Face 上的 Gemma 4 量化模型（如 4-bit、8-bit），并查看资源占用。&lt;/li&gt;
&lt;li&gt;Unsloth Studio：除了推理，也支持低显存微调。对 6GB-8GB 显存机器更友好。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;3-低配与极致控制llamacpp&#34;&gt;3) 低配与极致控制：llama.cpp
&lt;/h2&gt;&lt;p&gt;适合老机器、纯 CPU 场景，或希望深度控制推理参数的用户。&lt;/p&gt;
&lt;p&gt;你可以使用 &lt;code&gt;.gguf&lt;/code&gt; 模型文件配合量化版本，在更低硬件门槛下运行 Gemma 4。&lt;/p&gt;
&lt;h2 id=&#34;4-开发集成transformers--vllm&#34;&gt;4) 开发集成：Transformers / vLLM
&lt;/h2&gt;&lt;p&gt;如果你要把 Gemma 4 接进自己的应用：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Transformers：适合 Python 项目内直接加载模型&lt;/li&gt;
&lt;li&gt;vLLM：适合高性能 GPU 场景和高吞吐推理服务&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;快速选型&#34;&gt;快速选型
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;需求&lt;/th&gt;
          &lt;th&gt;推荐工具&lt;/th&gt;
          &lt;th&gt;硬件门槛&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;我只想马上跑起来&lt;/td&gt;
          &lt;td&gt;Ollama&lt;/td&gt;
          &lt;td&gt;低（自动适配）&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;我更喜欢图形界面&lt;/td&gt;
          &lt;td&gt;LM Studio&lt;/td&gt;
          &lt;td&gt;中&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;显存很紧张（6GB-8GB）&lt;/td&gt;
          &lt;td&gt;Unsloth / llama.cpp&lt;/td&gt;
          &lt;td&gt;低&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;我要做本地 AI 应用开发&lt;/td&gt;
          &lt;td&gt;Ollama / Transformers / vLLM&lt;/td&gt;
          &lt;td&gt;中到高&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;我要做微调训练&lt;/td&gt;
          &lt;td&gt;Unsloth Studio&lt;/td&gt;
          &lt;td&gt;中到高&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;模型尺寸建议&#34;&gt;模型尺寸建议
&lt;/h2&gt;&lt;p&gt;Gemma 4 有多种尺寸（如 E2B、E4B、31B）。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;普通办公本优先选量化后的 E2B / E4B&lt;/li&gt;
&lt;li&gt;显存更充足时再尝试更大版本&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Ollama 云模型是什么，怎么用</title>
        <link>https://knightli.com/2026/04/09/ollama-cloud-models-guide/</link>
        <pubDate>Thu, 09 Apr 2026 18:42:32 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/09/ollama-cloud-models-guide/</guid>
        <description>&lt;p&gt;如果你平时用 &lt;code&gt;Ollama&lt;/code&gt; 跑本地模型，应该很容易理解云模型。&lt;/p&gt;
&lt;p&gt;区别只有一个核心点：&lt;br&gt;
本地模型是在你的电脑上推理，云模型是在 Ollama 的云端推理，再把结果返回给你。&lt;/p&gt;
&lt;h2 id=&#34;云模型是什么&#34;&gt;云模型是什么
&lt;/h2&gt;&lt;p&gt;Ollama 云模型保留了 Ollama 的调用方式，但把计算位置从本地换到了云端。&lt;/p&gt;
&lt;p&gt;这样做的好处是：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;本地硬件压力更小&lt;/li&gt;
&lt;li&gt;更容易使用本地机器跑不动的大模型&lt;/li&gt;
&lt;li&gt;仍然可以沿用熟悉的 Ollama 工作流&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;和本地模型的区别&#34;&gt;和本地模型的区别
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;对比项&lt;/th&gt;
          &lt;th&gt;本地模型&lt;/th&gt;
          &lt;th&gt;云模型&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;运行位置&lt;/td&gt;
          &lt;td&gt;本机&lt;/td&gt;
          &lt;td&gt;云端&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;硬件要求&lt;/td&gt;
          &lt;td&gt;高&lt;/td&gt;
          &lt;td&gt;低&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;延迟&lt;/td&gt;
          &lt;td&gt;更低&lt;/td&gt;
          &lt;td&gt;受网络影响&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;隐私性&lt;/td&gt;
          &lt;td&gt;更强&lt;/td&gt;
          &lt;td&gt;请求会发送到云端&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;如果你更在意隐私、低延迟和离线使用，本地模型更合适。&lt;br&gt;
如果你本地硬件不够，但又想体验更大的模型，云模型更方便。&lt;/p&gt;
&lt;h2 id=&#34;怎么识别云模型&#34;&gt;怎么识别云模型
&lt;/h2&gt;&lt;p&gt;当前 Ollama 的云模型一般会带 &lt;code&gt;-cloud&lt;/code&gt; 后缀，例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;gpt-oss:120b-cloud
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;可用模型列表可能会变化，实际以 Ollama 官方页面为准。&lt;/p&gt;
&lt;h2 id=&#34;怎么用&#34;&gt;怎么用
&lt;/h2&gt;&lt;p&gt;先登录：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama signin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;登录完成后，直接运行云模型：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gpt-oss:120b-cloud
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你是在代码里调用，也可以配置 API Key：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;OLLAMA_API_KEY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;your_api_key
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Python 示例：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;os&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kn&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;nn&#34;&gt;ollama&lt;/span&gt; &lt;span class=&#34;kn&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Client&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;client&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;Client&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;host&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;https://ollama.com&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;n&#34;&gt;headers&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Authorization&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Bearer &amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;os&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;environ&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;OLLAMA_API_KEY&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]},&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;role&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;user&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;为什么天空是蓝色的？&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;part&lt;/span&gt; &lt;span class=&#34;ow&#34;&gt;in&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;client&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;chat&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;gpt-oss:120b-cloud&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;messages&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;stream&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;):&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;print&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;part&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;message&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;][&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;content&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;],&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;end&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;n&#34;&gt;flush&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;kc&#34;&gt;True&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;小结&#34;&gt;小结
&lt;/h2&gt;&lt;p&gt;Ollama 云模型可以理解成一句话：&lt;/p&gt;
&lt;p&gt;命令基本没变，只是模型不在你本地跑了。&lt;/p&gt;
&lt;p&gt;如果你的电脑带不动大模型，但你又想继续用 Ollama 的方式调用模型，云模型就是一个很直接的方案。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>从 Hugging Face 下载 GGUF 模型并导入 Ollama</title>
        <link>https://knightli.com/2026/04/09/import-huggingface-gguf-into-ollama/</link>
        <pubDate>Thu, 09 Apr 2026 11:00:07 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/09/import-huggingface-gguf-into-ollama/</guid>
        <description>&lt;p&gt;如果某个模型在 Ollama 官方库里没有现成版本，或者你想使用 Hugging Face 上的特定 &lt;code&gt;GGUF&lt;/code&gt; 文件，可以手动下载后再导入 Ollama。&lt;/p&gt;
&lt;h2 id=&#34;第-1-步从-hugging-face-下载-gguf-文件&#34;&gt;第 1 步：从 Hugging Face 下载 GGUF 文件
&lt;/h2&gt;&lt;p&gt;先在 Hugging Face 上找到目标模型对应的 &lt;code&gt;GGUF&lt;/code&gt; 文件。通常会看到多个量化版本，例如：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Q4_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q5_K_M&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Q8_0&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;选择哪个版本，取决于你的显存、内存和你对速度、质量的取舍。下载后把 &lt;code&gt;.gguf&lt;/code&gt; 文件放到固定目录，后面在 &lt;code&gt;Modelfile&lt;/code&gt; 里直接引用。&lt;/p&gt;
&lt;h2 id=&#34;第-2-步编写-modelfile&#34;&gt;第 2 步：编写 Modelfile
&lt;/h2&gt;&lt;p&gt;在模型文件同目录新建一个 &lt;code&gt;Modelfile&lt;/code&gt;。最基本的写法如下：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FROM ./model.gguf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果文件名不同，就改成实际文件名，例如：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;FROM ./gemma-3-12b-it-q4_k_m.gguf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果只是先跑起来，通常这一行 &lt;code&gt;FROM&lt;/code&gt; 就够了。&lt;/p&gt;
&lt;h2 id=&#34;第-3-步导入到-ollama&#34;&gt;第 3 步：导入到 Ollama
&lt;/h2&gt;&lt;p&gt;然后执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama create myModelName -f Modelfile
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;myModelName&lt;/code&gt; 是你希望在 Ollama 里使用的本地模型名&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-f Modelfile&lt;/code&gt; 表示从这个配置文件创建模型&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;创建成功后，这个 GGUF 文件就会成为一个可直接调用的本地模型。&lt;/p&gt;
&lt;h2 id=&#34;第-4-步运行模型&#34;&gt;第 4 步：运行模型
&lt;/h2&gt;&lt;p&gt;创建完成后直接运行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run myModelName
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;之后它的使用方式就和 &lt;code&gt;ollama pull&lt;/code&gt; 下来的模型基本一致。&lt;/p&gt;
&lt;h2 id=&#34;如何查看现有模型的-modelfile&#34;&gt;如何查看现有模型的 Modelfile
&lt;/h2&gt;&lt;p&gt;如果你不确定 &lt;code&gt;Modelfile&lt;/code&gt; 应该怎么写，可以直接查看现有模型的配置：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama show --modelfile llama3.2
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这条命令会输出 &lt;code&gt;llama3.2&lt;/code&gt; 的 &lt;code&gt;Modelfile&lt;/code&gt; 内容，适合拿来参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FROM&lt;/code&gt; 应该怎么写&lt;/li&gt;
&lt;li&gt;模板和 system prompt 是怎么组织的&lt;/li&gt;
&lt;li&gt;参数是如何声明的&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;什么时候适合用这条路线&#34;&gt;什么时候适合用这条路线
&lt;/h2&gt;&lt;p&gt;下面这些场景适合从 Hugging Face 手动导入：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ollama 官方库里还没有你要的模型&lt;/li&gt;
&lt;li&gt;你想使用某个特定量化版本&lt;/li&gt;
&lt;li&gt;你已经手动下载好了 &lt;code&gt;GGUF&lt;/code&gt; 文件&lt;/li&gt;
&lt;li&gt;你想更精细地控制模型封装方式&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;如果官方库里已经有现成版本，直接 &lt;code&gt;pull&lt;/code&gt; 通常更省事；但当你需要特定量化或自定义封装时，&lt;code&gt;GGUF + Modelfile&lt;/code&gt; 会更灵活。&lt;/p&gt;
&lt;h2 id=&#34;常见注意点&#34;&gt;常见注意点
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FROM&lt;/code&gt; 后面的路径必须和实际 &lt;code&gt;.gguf&lt;/code&gt; 文件位置一致。&lt;/li&gt;
&lt;li&gt;文件名里如果有空格或特殊字符，建议先改成更简单的名字。&lt;/li&gt;
&lt;li&gt;不同 &lt;code&gt;GGUF&lt;/code&gt; 量化版本对内存和速度影响很大，导入成功不代表运行一定流畅。&lt;/li&gt;
&lt;li&gt;如果模型是聊天模型，后续通常还需要根据其格式调整 prompt 模板，效果才会更稳定。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;结论&#34;&gt;结论
&lt;/h2&gt;&lt;p&gt;从 Hugging Face 下载 &lt;code&gt;GGUF&lt;/code&gt; 文件再导入 Ollama 并不复杂。准备好模型文件，写一个最小可用的 &lt;code&gt;Modelfile&lt;/code&gt;，再执行 &lt;code&gt;ollama create&lt;/code&gt;，就可以把第三方 &lt;code&gt;GGUF&lt;/code&gt; 模型接入 Ollama。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>Ollama 下载模型 pull 速度很慢的排查和解决办法</title>
        <link>https://knightli.com/2026/04/09/ollama-download-slow-troubleshooting/</link>
        <pubDate>Thu, 09 Apr 2026 10:42:39 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/09/ollama-download-slow-troubleshooting/</guid>
        <description>&lt;p&gt;&lt;code&gt;ollama pull model_name:tag&lt;/code&gt; 在有些地区下载速度会很慢，而且过程并不稳定。&lt;/p&gt;
&lt;p&gt;如果你遇到的是大模型下载到一半反复中断、报错 &lt;code&gt;TLS handshake timeout&lt;/code&gt; 或 &lt;code&gt;unexpected EOF&lt;/code&gt;，那么问题很可能不只是 &lt;code&gt;registry.ollama.ai&lt;/code&gt; 本身，而是后续跳转到的实际下载链路。&lt;/p&gt;
&lt;p&gt;这篇文章记录一次简单直接的排查思路：先拿到模型文件的真实下载地址，再确认最终流量落到哪里，最后只针对关键域名做网络优化。&lt;/p&gt;
&lt;h2 id=&#34;获取模型文件的下载地址&#34;&gt;获取模型文件的下载地址
&lt;/h2&gt;&lt;p&gt;可以借助下面这个项目，把 Ollama 模型对应的 manifest 和 blob 下载地址直接提取出来：&lt;/p&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/Gholamrezadar/ollama-direct-downloader&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/Gholamrezadar/ollama-direct-downloader&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;以 &lt;code&gt;gemma4:latest&lt;/code&gt; 为例，可以提取出类似下面这些链接。&lt;/p&gt;
&lt;h3 id=&#34;manifest-地址&#34;&gt;Manifest 地址
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/manifests/latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;blob-地址&#34;&gt;Blob 地址
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:56380ca2ab89f1f68c283f4d50863c0bcab52ae3f1b9a88e4ab5617b176f71a3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你只是想快速验证，也可以直接用 &lt;code&gt;curl&lt;/code&gt; 下载 manifest 和 blob：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/manifests/latest&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;latest&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;sha256-f0988ff50a2458c598ff6b1b87b94d0f5c44d73061c2795391878b00b2285e11&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;sha256-4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl -L &lt;span class=&#34;s2&#34;&gt;&amp;#34;https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2&amp;#34;&lt;/span&gt; -o &lt;span class=&#34;s2&#34;&gt;&amp;#34;sha256-7339fa418c9ad3e8e12e74ad0fd26a9cc4be8703f9c110728a992b193be85cb2&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;跳转后的真实下载地址&#34;&gt;跳转后的真实下载地址
&lt;/h2&gt;&lt;p&gt;尝试用 &lt;code&gt;wget&lt;/code&gt; 下载其中一个 blob，会发现请求并不是一直停留在 &lt;code&gt;registry.ollama.ai&lt;/code&gt;，而是会继续跳转到一个 &lt;code&gt;Cloudflare R2&lt;/code&gt; 对象存储地址：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--2026-04-09 09:22:04--  https://registry.ollama.ai/v2/library/gemma4/blobs/sha256:4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resolving registry.ollama.ai &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;registry.ollama.ai&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;... 104.21.75.227, 172.67.182.229, 2606:4700:3034::ac43:b6e5, ...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Connecting to registry.ollama.ai &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;registry.ollama.ai&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;104.21.75.227&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;:443... connected.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;HTTP request sent, awaiting response... &lt;span class=&#34;m&#34;&gt;307&lt;/span&gt; Temporary Redirect
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Location: https://dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com/ollama/docker/registry/v2/blobs/sha256/4c/4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a/data?... &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;following&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;--2026-04-09 09:22:05--  https://dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com/ollama/docker/registry/v2/blobs/sha256/4c/4c27e0f5b5adf02ac956c7322bd2ee7636fe3f45a8512c9aba5385242cb6e09a/data?...
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Resolving dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;... 172.64.66.1, 2606:4700:2ff9::1
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Connecting to dd20bb891979d25aebc8bec07b2b3bbc.r2.cloudflarestorage.com&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;172.64.66.1&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;:443... connected.
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;HTTP request sent, awaiting response... &lt;span class=&#34;m&#34;&gt;200&lt;/span&gt; OK
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Length: &lt;span class=&#34;m&#34;&gt;9608338848&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;8.9G&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;application/octet-stream&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;从日志里可以看到几个关键信息：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;registry.ollama.ai&lt;/code&gt; 返回了 &lt;code&gt;307 Temporary Redirect&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;最终下载地址落在 &lt;code&gt;*.r2.cloudflarestorage.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;真正承载大文件传输的，实际上是后面的对象存储域名&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这一步很重要，因为它说明如果你的代理或分流规则只覆盖了 &lt;code&gt;registry.ollama.ai&lt;/code&gt;，但没有处理 &lt;code&gt;*.r2.cloudflarestorage.com&lt;/code&gt;，那下载仍然可能很慢，甚至反复中断。&lt;/p&gt;
&lt;h2 id=&#34;调整网络设置&#34;&gt;调整网络设置
&lt;/h2&gt;&lt;p&gt;确认真实下载链路之后，排查方向就会清晰很多。&lt;/p&gt;
&lt;p&gt;如果你正在使用代理、分流或自定义 DNS，建议优先检查下面几件事：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;registry.ollama.ai&lt;/code&gt; 和 &lt;code&gt;*.r2.cloudflarestorage.com&lt;/code&gt; 是否走了同一条稳定线路&lt;/li&gt;
&lt;li&gt;代理规则是否只覆盖了前者，而漏掉了后者&lt;/li&gt;
&lt;li&gt;当前出口是否适合持续下载数 GB 到数十 GB 的大文件&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;这类问题的关键并不是“能不能打开官网”，而是“跳转后的对象存储链路是否稳定、是否能长时间持续传输”。很多时候，真正需要优化的是 &lt;code&gt;Cloudflare R2&lt;/code&gt; 这一层，而不是前面的 registry 域名。&lt;/p&gt;
&lt;h2 id=&#34;调整前后的对比&#34;&gt;调整前后的对比
&lt;/h2&gt;&lt;p&gt;下面是一次实际下载 &lt;code&gt;gemma4:31b-it-q8_0&lt;/code&gt; 时的表现。&lt;/p&gt;
&lt;p&gt;调整前，下载速度较慢，而且会在中途报错：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PS C:\Users\knightli&amp;gt; ollama run gemma4:31b-it-q8_0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling manifest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling a0feadb736f5:  38% ▕██████████████████████                                    ▏  12 GB/ 33 GB  1.2 MB/s   4h40m
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Error: max retries exceeded: unexpected EOF
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;调整后，再次下载同一个模型时，速度和稳定性都有明显改善：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;PS C:\Users\knightli&amp;gt; ollama run gemma4:31b-it-q8_0
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling manifest
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pulling a0feadb736f5:  46% ▕████████████████████████████████████████████████████████████████▏ 15 GB/ 33 GB  8.5 MB/s  35m23s
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这并不意味着所有网络环境都能得到同样结果，但至少说明了一点：瓶颈很可能不在 Ollama 客户端本身，而在实际的大文件下载链路。&lt;/p&gt;
</description>
        </item>
        <item>
        <title>OpenClaw 对接本地 Gemma 4：完整配置指南</title>
        <link>https://knightli.com/2026/04/08/openclaw-connect-gemma4-local/</link>
        <pubDate>Wed, 08 Apr 2026 18:18:00 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/08/openclaw-connect-gemma4-local/</guid>
        <description>&lt;p&gt;这篇文章演示如何把 &lt;code&gt;OpenClaw&lt;/code&gt; 对接到本地 &lt;code&gt;Gemma 4&lt;/code&gt; 模型（通过 &lt;code&gt;Ollama&lt;/code&gt; 提供接口）。&lt;/p&gt;
&lt;p&gt;如果你还没完成本地部署，可先参考：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://knightli.com/2026/04/08/run-gemma4-on-laptop/&#34; &gt;如何在笔记本电脑上运行 Gemma 4：5 分钟本地部署指南&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;第-1-步启动-ollama-api-服务&#34;&gt;第 1 步：启动 Ollama API 服务
&lt;/h2&gt;&lt;p&gt;先启动 Ollama 服务：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama serve
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;你可以用下面的命令快速测试 API 是否正常：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;curl http://localhost:11434/api/generate -d &lt;span class=&#34;s1&#34;&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;model&amp;#34;: &amp;#34;gemma4:12b&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;  &amp;#34;prompt&amp;#34;: &amp;#34;你好&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果能返回模型输出，说明本地 API 已可用。&lt;/p&gt;
&lt;h2 id=&#34;第-2-步配置-openclaw-接入-ollama&#34;&gt;第 2 步：配置 OpenClaw 接入 Ollama
&lt;/h2&gt;&lt;p&gt;OpenClaw 配置文件路径通常为：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.openclaw/config.yaml
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;编辑 &lt;code&gt;config.yaml&lt;/code&gt;，在 &lt;code&gt;models&lt;/code&gt; 中新增一个本地模型条目：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;models&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;c&#34;&gt;# 你已有的模型配置...&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;  &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;gemma4-local&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;provider&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;ollama&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;base_url&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;http://localhost:11434&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;gemma4:12b&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;w&#34;&gt;    &lt;/span&gt;&lt;span class=&#34;nt&#34;&gt;timeout&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;120s&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;第-3-步设置默认模型可选&#34;&gt;第 3 步：设置默认模型（可选）
&lt;/h2&gt;&lt;p&gt;如果你希望默认走 Gemma 4，可添加：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-yaml&#34; data-lang=&#34;yaml&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nt&#34;&gt;default_model&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;:&lt;/span&gt;&lt;span class=&#34;w&#34;&gt; &lt;/span&gt;&lt;span class=&#34;l&#34;&gt;gemma4-local&lt;/span&gt;&lt;span class=&#34;w&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;第-4-步重启并验证-openclaw&#34;&gt;第 4 步：重启并验证 OpenClaw
&lt;/h2&gt;&lt;p&gt;重启 OpenClaw：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaw restart
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;查看模型列表：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaw models list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;发起一次对话测试：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;openclaw chat --model gemma4-local &lt;span class=&#34;s2&#34;&gt;&amp;#34;你好&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果对话返回正常，说明 OpenClaw 已成功接入本地 Gemma 4。&lt;/p&gt;
&lt;h2 id=&#34;常见排查&#34;&gt;常见排查
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;connection refused&lt;/code&gt;：先确认 &lt;code&gt;ollama serve&lt;/code&gt; 是否在运行。&lt;/li&gt;
&lt;li&gt;模型找不到：检查模型名是否与 &lt;code&gt;ollama list&lt;/code&gt; 一致（例如 &lt;code&gt;gemma4:12b&lt;/code&gt;）。&lt;/li&gt;
&lt;li&gt;响应超时：可适当提高 &lt;code&gt;timeout&lt;/code&gt;，并优先测试较小模型。&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>如何在笔记本电脑上运行 Gemma 4：5 分钟本地部署指南</title>
        <link>https://knightli.com/2026/04/08/run-gemma4-on-laptop/</link>
        <pubDate>Wed, 08 Apr 2026 18:06:00 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/08/run-gemma4-on-laptop/</guid>
        <description>&lt;p&gt;如果你想在笔记本上本地运行 Gemma 4，&lt;code&gt;Ollama&lt;/code&gt; 是目前最省事的方式之一。即使不折腾复杂环境，通常 5 分钟左右也能跑起来。&lt;/p&gt;
&lt;h2 id=&#34;第-1-步安装-ollama&#34;&gt;第 1 步：安装 Ollama
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;打开 &lt;code&gt;https://ollama.com&lt;/code&gt;，下载对应系统的安装包。&lt;/li&gt;
&lt;li&gt;按系统完成安装：&lt;/li&gt;
&lt;/ol&gt;
&lt;ul&gt;
&lt;li&gt;macOS：拖到 &lt;code&gt;Applications&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;Windows：运行 &lt;code&gt;.exe&lt;/code&gt; 安装程序。&lt;/li&gt;
&lt;li&gt;Linux：使用官网提供的安装脚本。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;安装完成后，Ollama 会以后台服务形式运行。除初次安装外，日常可以只用简单命令。&lt;/p&gt;
&lt;h2 id=&#34;第-2-步下载-gemma-4-模型&#34;&gt;第 2 步：下载 Gemma 4 模型
&lt;/h2&gt;&lt;p&gt;打开终端，执行：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama pull gemma4:4b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你的机器性能更强，可以改成 &lt;code&gt;12b&lt;/code&gt; 或 &lt;code&gt;27b&lt;/code&gt;。下载完成后，模型会保存在本地。&lt;/p&gt;
&lt;p&gt;查看已下载模型：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;第-3-步启动模型&#34;&gt;第 3 步：启动模型
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama run gemma4:4b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;这会在终端打开交互式对话。输入问题后回车即可；结束会话可输入：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/bye
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果你更喜欢网页聊天界面，可以配合 &lt;code&gt;Open WebUI&lt;/code&gt; 使用。它可以把 Ollama 包装成浏览器端 UI，通常通过 Docker 几分钟即可完成配置。&lt;/p&gt;
&lt;h2 id=&#34;笔记本性能优化建议&#34;&gt;笔记本性能优化建议
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Apple Silicon（M2/M3/M4）：默认走 Metal，加速效果通常很好，&lt;code&gt;12B&lt;/code&gt; 也有不错体验。&lt;/li&gt;
&lt;li&gt;NVIDIA 显卡：检测到兼容 GPU 时会自动使用 CUDA，建议提前更新驱动。&lt;/li&gt;
&lt;li&gt;仅 CPU 推理：可以运行，但大模型会明显变慢；多数 CPU-only 场景建议优先 &lt;code&gt;4B&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;释放内存：加载大模型前尽量关闭占内存应用。经验上每 10 亿参数大约需要 &lt;code&gt;0.5GB 到 1GB&lt;/code&gt; 内存。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;模型怎么选&#34;&gt;模型怎么选
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 1B&lt;/code&gt;：适合轻量问答、基础摘要、快速查询；复杂推理能力有限。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 4B&lt;/code&gt;：适合多数日常任务（写作辅助、代码辅助、资料总结），速度和质量平衡较好。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 12B&lt;/code&gt;：适合更长上下文和更复杂任务，在代码与推理场景更稳。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Gemma 4 27B&lt;/code&gt;：适合高要求任务，效果更接近云端大模型，但对硬件要求明显更高。&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>如何判断 Ollama 模型是否已加载到 GPU</title>
        <link>https://knightli.com/2026/04/06/check-ollama-model-loaded-on-gpu/</link>
        <pubDate>Mon, 06 Apr 2026 10:15:18 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/06/check-ollama-model-loaded-on-gpu/</guid>
        <description>&lt;p&gt;想确认 Ollama 模型有没有真正跑在 GPU 上，最直接的方法是查看当前已加载模型的处理器占用信息。&lt;/p&gt;
&lt;h2 id=&#34;使用命令&#34;&gt;使用命令
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ollama ps
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;示例输出&#34;&gt;示例输出
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;NAME        ID            SIZE    PROCESSOR   UNTIL
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;llama3:70b  bcfb190ca3a7  42 GB   100% GPU    4 minutes from now
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;如何解读-processor-列&#34;&gt;如何解读 &lt;code&gt;PROCESSOR&lt;/code&gt; 列
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;100% GPU&lt;/code&gt;：模型完全加载在 GPU 显存中。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;100% CPU&lt;/code&gt;：模型完全加载在系统内存中（未使用 GPU 推理）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;48%/52% CPU/GPU&lt;/code&gt;：模型部分在内存、部分在显存中，属于混合加载。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;实用建议&#34;&gt;实用建议
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;如果你预期使用 GPU，但看到 &lt;code&gt;100% CPU&lt;/code&gt;，先检查显卡驱动、CUDA/ROCm 环境和 Ollama 运行参数。&lt;/li&gt;
&lt;li&gt;模型参数量较大、显存不足时，通常会出现 CPU/GPU 混合加载。&lt;/li&gt;
&lt;li&gt;排查性能问题时，先执行 &lt;code&gt;ollama ps&lt;/code&gt; 再看速度数据，能更快定位瓶颈。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;总结&#34;&gt;总结
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;ollama ps&lt;/code&gt; 是判断模型是否真正使用 GPU 的第一步。重点看 &lt;code&gt;PROCESSOR&lt;/code&gt; 列即可快速确认当前加载位置，并据此决定后续优化方向。&lt;/p&gt;
&lt;!-- ollama-related-links:start --&gt;
</description>
        </item>
        <item>
        <title>Ollama 模型默认存储位置与迁移方法（防止 C 盘爆满）</title>
        <link>https://knightli.com/2026/04/06/ollama-model-storage-path-and-migration/</link>
        <pubDate>Mon, 06 Apr 2026 09:38:00 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/06/ollama-model-storage-path-and-migration/</guid>
        <description>&lt;p&gt;本地跑大模型时，最容易先爆掉的往往是系统盘。Ollama 默认会把模型下载到用户目录或系统目录，如果不提前规划路径，C 盘很快就会吃满。&lt;/p&gt;
&lt;h2 id=&#34;ollama-常见默认模型目录&#34;&gt;Ollama 常见默认模型目录
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Windows：&lt;code&gt;C:\Users\&amp;lt;用户名&amp;gt;\.ollama\models&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;macOS：&lt;code&gt;~/.ollama/models&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Linux：&lt;code&gt;/usr/share/ollama/.ollama/models&lt;/code&gt;（部分安装方式可能不同）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;windows把模型目录迁移到非系统盘&#34;&gt;Windows：把模型目录迁移到非系统盘
&lt;/h2&gt;&lt;p&gt;建议把模型目录迁移到例如 &lt;code&gt;D:\OllamaModels&lt;/code&gt;，核心方法是设置系统环境变量 &lt;code&gt;OLLAMA_MODELS&lt;/code&gt;。&lt;/p&gt;
&lt;h2 id=&#34;1-新建目标目录&#34;&gt;1. 新建目标目录
&lt;/h2&gt;&lt;p&gt;例如先创建：&lt;code&gt;D:\OllamaModels&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;2-配置系统环境变量&#34;&gt;2. 配置系统环境变量
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;变量名：&lt;code&gt;OLLAMA_MODELS&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;变量值：&lt;code&gt;D:\OllamaModels&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;可在“系统属性 -&amp;gt; 高级 -&amp;gt; 环境变量”中添加，也可用命令行设置（管理员 PowerShell）：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-powershell&#34; data-lang=&#34;powershell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;[&lt;/span&gt;&lt;span class=&#34;no&#34;&gt;System.Environment&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;]::&lt;/span&gt;&lt;span class=&#34;n&#34;&gt;SetEnvironmentVariable&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;OLLAMA_MODELS&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;D:\OllamaModels&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Machine&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;3-重启-ollama或重启系统&#34;&gt;3. 重启 Ollama（或重启系统）
&lt;/h2&gt;&lt;p&gt;环境变量生效后，重新启动 Ollama 服务/应用。若不确定是否已生效，直接重启电脑最稳妥。&lt;/p&gt;
&lt;h2 id=&#34;4-验证新目录是否生效&#34;&gt;4. 验证新目录是否生效
&lt;/h2&gt;&lt;p&gt;下载或拉取任意模型后，检查 &lt;code&gt;D:\OllamaModels&lt;/code&gt; 下是否出现新文件。&lt;/p&gt;
&lt;h2 id=&#34;5-清理旧目录确认无误后&#34;&gt;5. 清理旧目录（确认无误后）
&lt;/h2&gt;&lt;p&gt;确认模型已在新目录正常工作，再删除旧目录内容，回收 C 盘空间。&lt;/p&gt;
&lt;h2 id=&#34;常见问题&#34;&gt;常见问题
&lt;/h2&gt;&lt;h3 id=&#34;设置后仍写入-c-盘怎么办&#34;&gt;设置后仍写入 C 盘怎么办
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;先确认环境变量是“系统变量”而不是“当前会话临时变量”。&lt;/li&gt;
&lt;li&gt;确认 Ollama 进程已重启。&lt;/li&gt;
&lt;li&gt;检查变量名是否准确：必须是 &lt;code&gt;OLLAMA_MODELS&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;是否需要迁移旧模型文件&#34;&gt;是否需要迁移旧模型文件
&lt;/h3&gt;&lt;p&gt;如果你不想重复下载，可在停止 Ollama 后手动复制旧模型到新目录，再启动 Ollama 验证。&lt;/p&gt;
&lt;!-- ollama-related-links:start --&gt;
</description>
        </item>
        <item>
        <title>在 Linux 上彻底卸载 Ollama（含残留清理）</title>
        <link>https://knightli.com/2026/04/06/uninstall-ollama-on-linux/</link>
        <pubDate>Mon, 06 Apr 2026 09:16:29 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/06/uninstall-ollama-on-linux/</guid>
        <description>&lt;p&gt;如果你需要在 Linux 上彻底移除 Ollama，可以按下面顺序执行。本文会清理服务、可执行文件、模型目录，以及 &lt;code&gt;ollama&lt;/code&gt; 用户和用户组。&lt;/p&gt;
&lt;h2 id=&#34;卸载前提醒&#34;&gt;卸载前提醒
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;以下命令会删除本机 Ollama 模型文件（通常在 &lt;code&gt;/usr/share/ollama&lt;/code&gt;），请先确认是否需要备份。&lt;/li&gt;
&lt;li&gt;命令默认使用 &lt;code&gt;sudo&lt;/code&gt;，请确保当前账号有管理员权限。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;1-停止并移除-systemd-服务&#34;&gt;1. 停止并移除 systemd 服务
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl stop ollama
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl disable ollama
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rm -f /etc/systemd/system/ollama.service
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;2-删除-ollama-可执行文件&#34;&gt;2. 删除 Ollama 可执行文件
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;OLLAMA_BIN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; -v ollama&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$OLLAMA_BIN&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  sudo rm -f &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$OLLAMA_BIN&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;3-删除-ollama-相关库目录如存在&#34;&gt;3. 删除 Ollama 相关库目录（如存在）
&lt;/h2&gt;&lt;p&gt;如果你的安装方式在 &lt;code&gt;lib&lt;/code&gt; 目录写入了 Ollama 文件，可按下面方式清理：&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;for&lt;/span&gt; d in /usr/local/lib/ollama /usr/lib/ollama /lib/ollama&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -d &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$d&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo rm -rf &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$d&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;4-删除模型与数据目录&#34;&gt;4. 删除模型与数据目录
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo rm -rf /usr/share/ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;5-删除系统用户与组如存在&#34;&gt;5. 删除系统用户与组（如存在）
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;id -u ollama &amp;gt;/dev/null 2&amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo userdel ollama
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;getent group ollama &amp;gt;/dev/null 2&amp;gt;&lt;span class=&#34;p&#34;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; sudo groupdel ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;6-验证是否已卸载完成&#34;&gt;6. 验证是否已卸载完成
&lt;/h2&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;command&lt;/span&gt; -v ollama &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;ollama binary not found&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;systemctl status ollama &lt;span class=&#34;o&#34;&gt;||&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;true&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;如果以上检查没有再找到 &lt;code&gt;ollama&lt;/code&gt;，说明已经卸载完成。&lt;/p&gt;
&lt;!-- ollama-related-links:start --&gt;
</description>
        </item>
        <item>
        <title>大模型量化详解：FP16、Q8、Q5、Q4 到 Q2 怎么选？</title>
        <link>https://knightli.com/2026/04/05/llm-quantization-guide-fp16-q4-q2/</link>
        <pubDate>Sun, 05 Apr 2026 22:09:11 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/05/llm-quantization-guide-fp16-q4-q2/</guid>
        <description>&lt;p&gt;量化的核心目标很简单：用少量精度损失，换取更小体积、更低显存占用和更快推理速度。&lt;br&gt;
对本地部署用户来说，选对量化版本，往往比盲目追求大参数更重要。&lt;/p&gt;
&lt;h2 id=&#34;什么是量化&#34;&gt;什么是量化
&lt;/h2&gt;&lt;p&gt;量化是指把模型参数从高精度格式（如 &lt;code&gt;FP16&lt;/code&gt;）压缩为更低位宽格式（如 &lt;code&gt;Q8&lt;/code&gt;、&lt;code&gt;Q4&lt;/code&gt;）。&lt;/p&gt;
&lt;p&gt;可以把它理解为：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;原始模型：像高精度照片，清晰但文件大。&lt;/li&gt;
&lt;li&gt;量化模型：像压缩照片，细节略损但更轻更快。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;常见量化版本对比&#34;&gt;常见量化版本对比
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;量化版本&lt;/th&gt;
          &lt;th&gt;精度/位宽&lt;/th&gt;
          &lt;th&gt;体积&lt;/th&gt;
          &lt;th&gt;质量损失&lt;/th&gt;
          &lt;th&gt;推荐场景&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;FP16&lt;/td&gt;
          &lt;td&gt;16 位浮点&lt;/td&gt;
          &lt;td&gt;最大&lt;/td&gt;
          &lt;td&gt;几乎无损&lt;/td&gt;
          &lt;td&gt;研究、评测、追求极致质量&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q8_0&lt;/td&gt;
          &lt;td&gt;8 位整数&lt;/td&gt;
          &lt;td&gt;较大&lt;/td&gt;
          &lt;td&gt;几乎无损&lt;/td&gt;
          &lt;td&gt;高配电脑，兼顾质量与性能&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q5_K_M&lt;/td&gt;
          &lt;td&gt;5 位混合&lt;/td&gt;
          &lt;td&gt;中等&lt;/td&gt;
          &lt;td&gt;轻微损失&lt;/td&gt;
          &lt;td&gt;日常主力，平衡方案&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q4_K_M&lt;/td&gt;
          &lt;td&gt;4 位混合&lt;/td&gt;
          &lt;td&gt;较小&lt;/td&gt;
          &lt;td&gt;可接受损失&lt;/td&gt;
          &lt;td&gt;通用默认，性价比高&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q3_K_M&lt;/td&gt;
          &lt;td&gt;3 位混合&lt;/td&gt;
          &lt;td&gt;很小&lt;/td&gt;
          &lt;td&gt;明显损失&lt;/td&gt;
          &lt;td&gt;低配设备，能跑优先&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Q2_K&lt;/td&gt;
          &lt;td&gt;2 位混合&lt;/td&gt;
          &lt;td&gt;最小&lt;/td&gt;
          &lt;td&gt;较大损失&lt;/td&gt;
          &lt;td&gt;极限资源场景，临时可用&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;量化命名规则&#34;&gt;量化命名规则
&lt;/h2&gt;&lt;p&gt;以 &lt;code&gt;gemma-4:4b-q4_k_m&lt;/code&gt; 为例：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;gemma-4:4b&lt;/code&gt;：模型名称与参数规模。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;q4&lt;/code&gt;：4 位量化。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;k&lt;/code&gt;：K-quants（改进量化方法）。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;m&lt;/code&gt;：medium（中等级别，常见还有 &lt;code&gt;s&lt;/code&gt;/small、&lt;code&gt;l&lt;/code&gt;/large）。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;如何按显存快速选型&#34;&gt;如何按显存快速选型
&lt;/h2&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;内存/显存&lt;/th&gt;
          &lt;th&gt;推荐量化&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;4 GB&lt;/td&gt;
          &lt;td&gt;Q3_K_M / Q2_K&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;8 GB&lt;/td&gt;
          &lt;td&gt;Q4_K_M&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;16 GB&lt;/td&gt;
          &lt;td&gt;Q5_K_M / Q8_0&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;32 GB+&lt;/td&gt;
          &lt;td&gt;FP16 / Q8_0&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;建议先从能稳定跑起来的版本开始用，再逐步提高精度，而不是一上来就追求最大模型。&lt;/p&gt;
&lt;h2 id=&#34;实战建议&#34;&gt;实战建议
&lt;/h2&gt;&lt;ol&gt;
&lt;li&gt;默认从 &lt;code&gt;Q4_K_M&lt;/code&gt; 开始，先验证真实任务效果。&lt;/li&gt;
&lt;li&gt;如果答案质量不够，再升到 &lt;code&gt;Q5_K_M&lt;/code&gt; 或 &lt;code&gt;Q8_0&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;如果主要瓶颈是显存或速度，再降到 &lt;code&gt;Q3_K_M&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;每次切换量化版本，都用同一批测试问题做对比。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;结论&#34;&gt;结论
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;质量优先：&lt;code&gt;FP16&lt;/code&gt; 或 &lt;code&gt;Q8_0&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;平衡优先：&lt;code&gt;Q5_K_M&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;通用默认：&lt;code&gt;Q4_K_M&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;低配兜底：&lt;code&gt;Q3_K_M&lt;/code&gt; 或 &lt;code&gt;Q2_K&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;选型的本质不是“越大越好”，而是“在你的硬件条件下，达到最稳定可用的效果”。&lt;/p&gt;
&lt;!-- ollama-related-links:start --&gt;
</description>
        </item>
        <item>
        <title>谷歌 Gemma 4 模型对比：2B/4B/26B/31B 怎么选？</title>
        <link>https://knightli.com/2026/04/05/google-gemma-4-model-comparison/</link>
        <pubDate>Sun, 05 Apr 2026 08:30:00 +0800</pubDate>
        
        <guid>https://knightli.com/2026/04/05/google-gemma-4-model-comparison/</guid>
        <description>&lt;p&gt;Gemma 4 主打 &lt;code&gt;多模态&lt;/code&gt; 与 &lt;code&gt;本地离线运行&lt;/code&gt;，并提供从轻量端到高性能端的完整模型梯度。对大多数本地部署用户来说，关键不是“选最大”，而是“选最匹配硬件与任务的版本”。&lt;/p&gt;
&lt;h2 id=&#34;gemma-4-各模型对比&#34;&gt;Gemma 4 各模型对比
&lt;/h2&gt;&lt;blockquote&gt;
&lt;p&gt;下表用于快速选型参考；具体性能与资源占用请以实际部署环境测试为准。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;模型&lt;/th&gt;
          &lt;th&gt;参数规模&lt;/th&gt;
          &lt;th&gt;定位&lt;/th&gt;
          &lt;th&gt;主要优势&lt;/th&gt;
          &lt;th&gt;主要限制&lt;/th&gt;
          &lt;th&gt;推荐场景&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Gemma 4 2B&lt;/td&gt;
          &lt;td&gt;20 亿&lt;/td&gt;
          &lt;td&gt;超轻量&lt;/td&gt;
          &lt;td&gt;延迟低、资源占用小、部署门槛最低&lt;/td&gt;
          &lt;td&gt;复杂推理与长链路任务能力有限&lt;/td&gt;
          &lt;td&gt;移动端、IoT、轻量问答、简单自动化&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Gemma 4 4B&lt;/td&gt;
          &lt;td&gt;40 亿&lt;/td&gt;
          &lt;td&gt;轻量增强&lt;/td&gt;
          &lt;td&gt;比 2B 更稳的理解与生成能力，仍易本地部署&lt;/td&gt;
          &lt;td&gt;高强度编码/复杂 Agent 任务上限有限&lt;/td&gt;
          &lt;td&gt;本地助手、基础文档处理、多语言日常任务&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Gemma 4 26B&lt;/td&gt;
          &lt;td&gt;260 亿&lt;/td&gt;
          &lt;td&gt;高性能（专家混合）&lt;/td&gt;
          &lt;td&gt;推理和工具调用能力明显提升，适合生产工作流&lt;/td&gt;
          &lt;td&gt;显存需求显著上升，硬件门槛更高&lt;/td&gt;
          &lt;td&gt;编程助手、复杂工作流、企业内部 Agent&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Gemma 4 31B&lt;/td&gt;
          &lt;td&gt;310 亿&lt;/td&gt;
          &lt;td&gt;高性能（稠密）&lt;/td&gt;
          &lt;td&gt;综合能力最强，复杂任务稳定性更好&lt;/td&gt;
          &lt;td&gt;资源消耗最高，部署与调优成本最大&lt;/td&gt;
          &lt;td&gt;高要求推理、复杂代码任务、重度自动化&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id=&#34;怎么选按硬件和任务倒推&#34;&gt;怎么选：按硬件和任务倒推
&lt;/h2&gt;&lt;p&gt;如果你主要看“能不能跑、跑得顺不顺”，可以按下面选：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;8GB&lt;/code&gt; 显存：优先 &lt;code&gt;2B/4B&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;12GB&lt;/code&gt; 显存：优先 &lt;code&gt;4B&lt;/code&gt; 或更高模型的量化版本。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;24GB&lt;/code&gt; 显存：可重点考虑 &lt;code&gt;26B&lt;/code&gt;，并按任务评估 &lt;code&gt;31B&lt;/code&gt; 量化版。&lt;/li&gt;
&lt;li&gt;更高显存或多卡：可尝试 &lt;code&gt;31B&lt;/code&gt; 的高精度配置。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;建议优先保证稳定性和推理速度，再逐步提升模型规模。&lt;/p&gt;
&lt;h2 id=&#34;四类典型使用场景&#34;&gt;四类典型使用场景
&lt;/h2&gt;&lt;h3 id=&#34;1-本地通用助手&#34;&gt;1) 本地通用助手
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;优先模型：&lt;code&gt;4B&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;原因：成本和效果平衡好，适合长期常驻运行。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;2-代码与自动化&#34;&gt;2) 代码与自动化
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;优先模型：&lt;code&gt;26B&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;原因：在多步骤任务、工具调用、脚本生成上更稳。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;3-高难度推理与复杂-agent&#34;&gt;3) 高难度推理与复杂 Agent
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;优先模型：&lt;code&gt;31B&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;原因：复杂上下文下的稳定性更高，容错更好。&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;4-边缘设备与轻量离线&#34;&gt;4) 边缘设备与轻量离线
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;优先模型：&lt;code&gt;2B&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;原因：最容易在资源受限设备落地。&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;部署建议ollama-方向&#34;&gt;部署建议（Ollama 方向）
&lt;/h2&gt;&lt;p&gt;最实用的做法是“小步快跑”：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;先用 &lt;code&gt;4B&lt;/code&gt; 建立可运行基线（速度、内存、效果）。&lt;/li&gt;
&lt;li&gt;把你的真实任务做成固定测试集（例如 20 条常见问题 + 10 个自动化任务）。&lt;/li&gt;
&lt;li&gt;再升级到 &lt;code&gt;26B/31B&lt;/code&gt; 对比准确率、时延和显存成本。&lt;/li&gt;
&lt;li&gt;只在“收益明显”时升级大模型。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;这样可以避免一上来就追求大参数，结果出现卡顿、吞吐低、维护复杂的问题。&lt;/p&gt;
&lt;h2 id=&#34;结论&#34;&gt;结论
&lt;/h2&gt;&lt;p&gt;Gemma 4 的真正价值，不是单纯“参数更大”，而是给了从轻量到高性能的一整套可落地梯度：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;想低成本快速上线：从 &lt;code&gt;2B/4B&lt;/code&gt; 开始。&lt;/li&gt;
&lt;li&gt;想把本地 AI 真正接入生产流程：优先 &lt;code&gt;26B&lt;/code&gt;。&lt;/li&gt;
&lt;li&gt;想冲复杂推理与重度自动化：再上 &lt;code&gt;31B&lt;/code&gt;。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Gemma 4 的最佳选择通常不是参数最大，而是与硬件条件和任务目标匹配度最高的版本。&lt;/p&gt;
&lt;!-- ollama-related-links:start --&gt;
</description>
        </item>
        
    </channel>
</rss>
