Markdown 版本
AI-translated from English; not yet reviewed by a fluent editor.
# 运行本地 Ollama 模型并检查其聊天 API
> 安装 Ollama,选择下载到本机的模型,检查终端回答,再把同一问题发给本机聊天 API。在称其为仅本地运行前,核实模型及云端边界。
By BIG CHANGE Editorial
Published: 2026-10-20T14:31:39.416Z
Updated: 2026-10-20T14:31:39.416Z
Canonical: https://bigchange.ai/blog/run-local-ollama-model-chat-api-guide

AI-generated conceptual illustration by BIG CHANGE.
Ollama 可以在你的电脑上运行已下载模型,并通过本地 HTTP 地址提供服务。本指南从安装开始,使用同一模型名称完成终端聊天和完整 API 回复。这是依据文档编写的流程:BIG CHANGE 没有安装软件,也没有观察你机器上的结果。
## 关键变化
- **发生了什么变化:** Ollama 提供从已下载模型直接使用终端聊天和本地 API 的路径。初学者可以逐个界面核对模型名和回答,而不用假定聊天窗口就能证明推理在哪里运行。
- **为什么重要:** 本地服务器与 Ollama 云端 API 是不同目的地。处理获准的工作或个人任务时,可以选择已下载模型并访问 `localhost`,让练习留在自己的电脑上,同时另行检查服务器配置。
- **需要关注:** 本地 URL 本身不能证明每项功能或连接的应用都留在本机。Ollama 也能通过本地服务器使用云模型。关键检查包括已安装模型标签、请求目的地、服务器绑定地址;若要求严格仅本地运行,还须重启后查看禁用云功能的日志。
## 开始之前
使用允许安装软件的电脑。选择一个无风险的事实问题,答案能在你已打开的原始文档中核查。命令要求练习提示时粘贴该问题;不要仅为测试而输入私人或受监管材料。保留文档以检查回答,流畅回复并不证明准确。
你需要存放 Ollama 和模型的磁盘空间、足够加载所选模型的内存,以及用于安装和下载的网络连接。[Ollama 快速入门](https://docs.ollama.com/quickstart)以 `gemma4:e2b` 作为本地示例,建议有 8 GB 可用显存,或 Mac 上的统一内存。Ollama 表示可退回系统内存运行,但回答会更慢。继续前查看[当前模型页面](https://ollama.com/library/gemma4:e2b),确认精确标签、下载大小和许可证。下载大小不能证明电脑能运行模型。如果不适合你的机器或获准用途,从*可下载的本地*模型中选择更小的一个,见[模型库](https://ollama.com/library),并把 `gemma4:e2b` 在下方**所有**命令中替换为其精确标签。此练习不要选择 `:cloud` 标签。
## 1. 安装 Ollama 并检查本地服务器
从[官方下载页面](https://ollama.com/download)获取 Ollama,并按照你的操作系统说明安装:[Windows](https://docs.ollama.com/windows)、[macOS](https://docs.ollama.com/macos)或[Linux](https://docs.ollama.com/linux)。在 Windows 和 macOS 上打开已安装应用。在 Linux 上按照选择的安装方式启动服务;若没有运行中的服务,[快速入门](https://docs.ollama.com/quickstart)说明可在另一个终端运行 `ollama serve`。已有应用或服务监听时,不要再启动第二个服务器。
在新终端检查安装版本,并确认本地服务器有响应:
```shell
ollama -v
ollama ls
```
记录实际版本和操作系统。首次下载前模型列表可能为空;命令或连接报错时,应先解决安装或服务器启动问题再继续。Ollama 的[常见问题](https://docs.ollama.com/faq)说明默认监听地址为 `127.0.0.1:11434`。本练习保持回环地址,不要配置网络绑定、代理或隧道。
## 2. 下载一个标签明确的本地模型
核对模型页面后运行:
```shell
ollama pull gemma4:e2b
ollama ls
```
下载后,精确标签必须出现在 `ollama ls` 中。记录标签、列出的大小和模型页面的许可证。下载失败或没有标签时,先核对当前模型库中的拼写、可用磁盘、网络,以及代理或权限错误,再重试。部分下载不算设置成功。
## 3. 检查交互式与单次终端聊天
启动交互式聊天:
```shell
ollama run gemma4:e2b
```
在聊天提示处粘贴获准的练习问题。将回答与用来构造问题的文档对照,再输入 `/bye` 退出。保存问题和真实回复供自己核查;本文没有提供示例结果。
另行执行单次运行时,使用**同一个**问题。Windows 上在 PowerShell 中运行:
```powershell
$practicePrompt = Read-Host 'Paste your approved practice question'
ollama run gemma4:e2b $practicePrompt
```
macOS 或 Linux 上在 Bash 终端运行:
```bash
read -r -p 'Paste your approved practice question: ' practice_prompt
ollama run gemma4:e2b "$practice_prompt"
```
将真实的单次回答与同一来源对照。两次回答不必措辞相同;有效检查是两条命令都运行了预期标签,且每项事实陈述都经得起来源比对。
## 4. 通过 localhost 询问同一模型
这个[聊天 API](https://docs.ollama.com/api/chat)在 `POST /api/chat` 接收模型名和消息。默认流式返回;`stream: false` 会请求一个完整 JSON 响应。[API 简介](https://docs.ollama.com/api/introduction)区分本地基础 URL `http://localhost:11434/api` 与直接云端 URL `https://ollama.com/api`。本地请求不需要 API 密钥。
Windows 上可用 PowerShell 根据粘贴的问题安全构造 JSON:
```powershell
$practicePrompt = Read-Host 'Paste the same approved practice question'
$body = @{ model = 'gemma4:e2b'; messages = @(@{ role = 'user'; content = $practicePrompt }); stream = $false } | ConvertTo-Json -Depth 5
$response = Invoke-RestMethod -Uri 'http://localhost:11434/api/chat' -Method Post -ContentType 'application/json; charset=utf-8' -Body $body
$response | Select-Object model, done
$response.message.content
```
macOS 或 Linux 上的以下 Bash 示例只用 Python 3 将提示安全转义为 JSON。使用前确认已安装 `python3` 和 `curl`:
```bash
read -r -p 'Paste the same approved practice question: ' practice_prompt
export practice_prompt
python3 -c 'import json,os; print(json.dumps({"model":"gemma4:e2b","messages":[{"role":"user","content":os.environ["practice_prompt"]}],"stream":False}))' | curl -fsS 'http://localhost:11434/api/chat' -H 'Content-Type: application/json' --data-binary @-
```
请求应返回 HTTP 成功状态及一个 JSON 对象,其中 `model` 匹配已下载标签,`done` 为 `true`,且 `message.content` 非空。阅读实际回答并对照来源核查。成功响应能确定本次请求的本地目的地和所选模型;保留自己的输出,不要依靠示例对话。
## 5. 检查运行位置和仅本地边界
模型加载时运行:
```shell
ollama ps
```
这个 `PROCESSOR` 列显示模型加载在 CPU、GPU 还是两者上,依据是 Ollama 的[常见问题](https://docs.ollama.com/faq)。记录自己机器实际显示的内容。若模型已卸载,发一个新提示再检查。结束时可通过 `ollama stop gemma4:e2b` 卸载模型;用 `ollama rm gemma4:e2b` 删除模型只是保存观察后可选的磁盘清理。
若要求 Ollama 严格仅本地运行,请遵循[官方禁用云功能说明](https://docs.ollama.com/faq):将 `disable_ollama_cloud` 放入 `~/.ollama/server.json`,使用的应是**运行 Ollama 服务器**的账户(Windows 上该账户用户配置文件中的 `.ollama` 文件夹),保留已有其他 JSON 设置:
```json
{
"disable_ollama_cloud": true
}
```
Linux 上,[文档所述 systemd 服务](https://docs.ollama.com/linux)以 `User=ollama` 运行,其主目录为 `/usr/share/ollama`;编辑你自己的主目录文件不能配置这个服务。使用 systemd 安装时,也可以采用 Ollama 文档中的 `OLLAMA_NO_CLOUD=1` 方式,在服务覆盖配置中设置。先用 `systemctl cat ollama.service` 查看现有服务,再用 `sudo systemctl edit ollama.service` 打开覆盖配置。将以下内容加在 `[Service]` 下,并保留其他覆盖设置:
```plaintext
[Service]
Environment="OLLAMA_NO_CLOUD=1"
```
保存覆盖配置,再重新加载并重启服务:
```bash
sudo systemctl daemon-reload
sudo systemctl restart ollama.service
```
Windows 或 macOS 上修改配置后重启 Ollama 应用。在服务器日志中查找精确的一行 `Ollama cloud disabled: true`。Windows 上文档列出的日志是 `%LOCALAPPDATA%\Ollama\server.log`;macOS 上是 `~/.ollama/logs/server.log`;Linux systemd 安装使用 `journalctl -e -u ollama`。在无关终端设置的环境变量,不一定传给已运行的应用或服务。禁用云功能会移除 Ollama 云模型和网页搜索。日志未确认设置时,先修正配置并重启,再称其为仅本地设置。
在服务器日志或操作系统监听检查工具中确认仍监听 `127.0.0.1:11434`,再用已下载标签重复本机请求。`OLLAMA_HOST` 会改变绑定地址,因此应检查运行中的服务器,而非假定默认值。独立 Python 库、浏览器界面、编码代理或其他连接应用,都需要各自的端点和数据路径检查;Ollama 的本地回复不能证明这些应用的隐私行为。
Windows 上在 PowerShell 检查监听地址:
```powershell
Get-NetTCPConnection -LocalPort 11434 -State Listen | Select-Object LocalAddress, LocalPort
```
macOS 上使用 `lsof -nP -iTCP:11434 -sTCP:LISTEN`;Linux 上使用 `ss -ltn '( sport = :11434 )'`。平台工具不可用时,查看服务器日志。在将 API 视为仅限本机之前,必须调查通配地址或非回环监听。
## 检查失败时
如果 `ollama -v` 或 `ollama ls` 失败,返回相应操作系统的安装和启动页面。拒绝本机连接通常表示应用或服务已停止,或监听别处;核实日志和绑定地址,不要将 API 暴露到网络上。如果响应是多行 JSON,确认请求包含 `"stream": false`。模型内存不足或慢得无法实用时,检查 `ollama ps`,从模型库选择真正更小的本地标签,再用该单一标签重复下载、终端和 API 检查。任何未完成阶段都视为未验证。
本地练习需要硬件、电力和下载存储,但无需 Ollama API 密钥或付费 API 账户。模型许可证可能限制预期用途。云模型和可选第三方客户端有各自条款及数据路径。要进一步比较购买硬件,可看我们的[128 GB 本地模型指南](https://bigchange.ai/blog/run-local-models-128gb-memory-cost);要完成使用 Ollama 与 Claude Code 的另一项编码任务,可看[经检查的代码变更指南](https://bigchange.ai/blog/claude-code-local-ollama-checked-change-guide)。
## 来源与延伸阅读
- [Ollama 快速入门](https://docs.ollama.com/quickstart)说明安装路线、本地 `gemma4:e2b` 示例和内存建议。其示例是文档,不是对你机器的测试。
- [命令行参考](https://docs.ollama.com/cli)列出这里使用的当前 `pull`、`run`、`ls`、`ps`、`stop`、`rm` 和 `serve` 命令。
- [API 简介](https://docs.ollama.com/api/introduction)和[聊天端点](https://docs.ollama.com/api/chat)区分本地与云端地址,定义非流式请求及响应字段。
- [常见问题](https://docs.ollama.com/faq)说明回环绑定、处理器运行位置、禁用云功能设置及日志检查。
- [Gemma 4 E2B 页面](https://ollama.com/library/gemma4:e2b)提供当前精确模型标签、大小及许可证材料,供下载前核查。
## Sources
- [Ollama 快速入门](https://docs.ollama.com/quickstart) — 官方安装入口及本地 gemma4:e2b 示例,含 pull、run、/bye、API 请求和内存建议。它不能证明读者硬件是否合适或实际结果如何。
- [Ollama 命令行参考](https://docs.ollama.com/cli) — 当前 pull、run、ls、ps、stop、rm 和 serve 命令。本文没有执行终端运行。
- [Ollama API 简介](https://docs.ollama.com/api/introduction) — 区分本机与直接云端基础 URL,以及本地免密钥访问。启用云功能时,本地服务器仍能访问云模型。
- [Ollama 聊天端点](https://docs.ollama.com/api/chat) — 定义 model/messages 请求、默认流式响应、stream:false 及完整 model、done、message.content 字段。它不能证明读者实际收到的响应。
- [Ollama 常见问题](https://docs.ollama.com/faq) — 说明默认回环绑定、处理器位置、禁用云功能配置、重启和日志标记。其他客户端应用有独立数据路径。
- [Ollama Gemma 4 E2B 页面](https://ollama.com/library/gemma4:e2b) — 提供精确示例标签和当前模型文件、许可证材料。下载前读者必须核查实时大小、使用权利及机器容量。
- [Ollama Windows 安装](https://docs.ollama.com/windows) — 平台安装、命令行和后台服务器行为、服务器日志位置;不能确定读者实际安装版本。
- [Ollama macOS 安装](https://docs.ollama.com/macos) — 平台安装、应用与命令行行为、服务器日志位置;不能确定读者实际安装版本。
- [Ollama Linux 安装](https://docs.ollama.com/linux) — 平台安装、手动或服务启动及日志说明;读者须遵循实际配置。
BIG CHANGE 新闻通讯
纵览全局,按自己的节奏。
关于人工智能和机器人技术的近期报道、值得关注的变化以及可采用的实用想法。选择每日简报、每周摘要或每月视角。
下次计划发送时间(UTC): . 确认订阅后,您将在下一个计划发送时间收到第一期通讯。