不联网,也能跑大模型

AI 应用架构演进实践 · 第 04 集

前几篇里,我们虽然在电脑上操作,真正负责回答的模型却一直住在云端。

今天把它搬回来。最终你会亲眼看到同一个本地模型完成三次回复:

  1. 在 Ollama 应用里回复;
  2. 在 Windows 终端里回复;
  3. 通过 PowerShell 发出一条程序请求,并收到回复。

本集主线:安装 Ollama、让轻量模型开口、再用本地 API 调用它

先不用研究显卡、参数量和英文缩写。我们从最轻的路线开始,20~30 分钟跑通主线,模型下载时间另算。

开始前,看看电脑是否合适

你需要 Windows 10 22H2 或更新版本、稳定网络和约 5 GB 可用磁盘空间。

主线不需要独立显卡,也不需要安装 Python、VS Code。模型不大,普通电脑也可以先试;速度快慢则取决于硬件和当前内存占用。

第一步:安装 Ollama

Ollama 是本地模型的运行工具,负责下载、加载模型,并给聊天窗口和程序提供统一入口。

打开 Ollama 官网,下载 Windows 安装程序并完成安装。尽量不要用来历不明的网盘包——给电脑请管家,至少先看看工牌。

从 Ollama 官方网站下载 Windows 安装程序

安装后按 Windows 键,搜索并普通打开 PowerShell。它是 Windows 自带的命令窗口,不需要额外安装,也不用以管理员身份运行。

执行:

ollama --version

预期结果: PowerShell 显示 Ollama 版本号。

如果提示找不到命令,先关闭 PowerShell,启动一次 Ollama,再重新打开终端。Windows 版本要求可查看 Ollama 官方说明

第二步:下载一个轻量模型

打开 Ollama 应用,在模型选择器里搜索并选中:

qwen2.5:0.5b

在模型选择器中搜索并选择 qwen2.5:0.5b

这是一个约 398 MB 的轻量模型,任务不是参加“最聪明模型总决赛”,而是帮我们快速确认本地链路能运行。模型信息可在 Ollama 模型库查看。

第一次选择时会自动下载:

第一次使用时,Ollama 会先把模型下载到本地

界面和体积可能随版本略有变化,只要下载进度继续前进,最后出现聊天输入框即可。

预期结果: 下载完成,Ollama 中可以向模型发送消息。

第三步:先在应用里收到回复

输入:

做首诗

Ollama 应用已经能完成一轮基础对话

回复内容不必和截图相同。只要正常输出,就说明模型文件已经下载,Ollama 也成功把它加载进电脑。

预期结果: Ollama 应用里出现一条完整回复。

如果回复偏慢,先等它说完。本地模型用的是自己的硬件,速度自然不再由云端服务器包办。

第四步:换到终端,再叫它一次

打开 PowerShell,先查看已下载的模型:

ollama list

列表里应该能看到 qwen2.5:0.5b。接着运行:

ollama run qwen2.5:0.5b

进入对话后输入:

只回复:终端也连接成功

终端列出本地模型并运行 qwen2.5:0.5b

预期结果: PowerShell 出现“终端也连接成功”或意思相同的回复。

输入 /bye 可以退出对话。今天只需记住:ollama list 查看模型,ollama run 模型名 运行模型。其他命令用到再查,不必把教程上成单词听写课。

第五步:让本地程序也能调用它

前两次是人直接聊天。现在验证程序入口。

Ollama 默认在这台电脑上提供地址:

http://localhost:11434

localhost 就是“当前这台电脑”。先执行一个最小检查:

Invoke-RestMethod http://localhost:11434/api/version

预期结果: PowerShell 返回 Ollama 的版本信息。

接着完整复制这段命令:

$body = @{
    model = "qwen2.5:0.5b"
    messages = @(
        @{
            role = "user"
            content = "只回复:Ollama 本地调用成功"
        }
    )
    stream = $false
} | ConvertTo-Json -Depth 5

$result = Invoke-RestMethod `
    -Uri "http://localhost:11434/api/chat" `
    -Method Post `
    -ContentType "application/json; charset=utf-8" `
    -Body $body

$result.message.content

第一次不用逐行背。它只做了四件事:指定模型、放入一句话、发给 Ollama、取回回答。字段详情可查看 Ollama Chat API 文档

预期结果: PowerShell 最后一行输出“Ollama 本地调用成功”或意思相同的回答。

三次回复,分别证明了什么

刚才的主链路:程序通过 Ollama 调用电脑里的模型;联网能力是另一条支线

  • 应用回复:模型已经下载并能运行;
  • 终端回复:同一个模型可以通过命令行使用;
  • API 回复:其他本地程序也能把问题交给它。

这里有两个容易混淆的角色:

  • 模型文件负责理解和生成;
  • Ollama负责下载、加载模型,并提供聊天和 API 入口。

换句话说,Ollama 不是模型本身,更像本地模型的“运行管家”。和调用云端模型相比,最大的变化是模型文件与推理计算回到了自己的电脑。

“本地”也不等于永远断网。下载模型、更新软件、网页搜索仍可能需要网络;它只说明这次模型推理主要发生在本机。

本机访问 Ollama 通常不需要 API Key,详见 官方认证说明。方便归方便,不要把 11434 端口直接暴露到公网

卡住时,从报错所在的一层开始

PowerShell 找不到 ollama

确认 Ollama 已启动,关闭当前终端,再重新打开 PowerShell。

提示找不到模型

先执行 ollama list。列表里没有时再下载:

ollama pull qwen2.5:0.5b

不要漏掉冒号后的 0.5b

本地 API 无法访问

重新执行:

Invoke-RestMethod http://localhost:11434/api/version

仍失败时,再检查 Ollama 是否在后台运行。

ollama serve 提示端口被占用

桌面版 Ollama 很可能已经启动服务。不是没人上班,而是工位已经有人了。只要版本接口能访问,就不用重复运行 ollama serve

回答慢,电脑也很卡

执行 ollama ps 查看正在运行的模型,关闭占用大量内存的程序,并继续使用轻量模型。链路稳定后,再挑战更大的模型。

模型忘了上一句话

不同窗口的记录不会自动共享。程序通过 /api/chat 调用时,需要在 messages 中一并发送必要的历史消息。

收尾:模型真的住进电脑了

核心通关:本地模型已经能在聊天窗口、终端和 API 中回复

今天的主线只有三步:

Ollama 应用 → 命令行 → 本地 API

它们让我们看清一件很实用的事:模型不是某个聊天网页,它可以被不同工具调用;能聊天和能被程序调用,也需要分别验收。

如果三次回复都已经出现,建议先截个图。它也许只回了一小句话,但这是你的电脑第一次亲自把大模型“养活”。


下一集,把 Codex 装进国内云服务器并接上 DeepSeek。进阶内容和完整排错见:AI 应用架构演进实践

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐