常见问题

什么是 Ollama?

Ollama 是一个开源的本地大语言模型运行工具。它允许你在自己的电脑上轻松下载、管理和运行各种开源模型,比如 Llama、Mistral、Gemma、Phi 等,而无需依赖云端服务。你只需要一条命令就能启动一个聊天界面或 API 服务,完全离线运行,数据不出本地。

Ollama 支持哪些操作系统?

Ollama 官方支持 macOS、Linux 和 Windows。macOS 和 Windows 用户可以直接从 ollama.com 下载安装包;Linux 用户可以通过一键安装脚本或手动安装。此外,社区也提供了 Docker 镜像,方便在服务器或容器环境中部署。

如何安装 Ollama?

访问 ollama.com,点击下载对应系统的安装包。macOS 下载 .dmg 文件,Windows 下载 .exe 安装程序,Linux 在终端执行 `curl -fsSL https://ollama.com/install.sh | sh` 即可。安装完成后,你可以在终端输入 `ollama --version` 确认是否成功。

如何下载和运行一个模型?

打开终端,输入 `ollama run <模型名称>`,例如 `ollama run llama3.2`。Ollama 会先自动下载该模型(如果你还没有的话),然后启动一个交互式聊天会话。你也可以通过 `ollama pull <模型名称>` 提前下载模型,再运行。

Ollama 支持哪些模型?

官方模型库包含 Llama、Mistral、Gemma、Phi、Qwen、DeepSeek、Mixtral 等数十个主流开源模型,并且持续更新。你可以在 ollama.com/library 查看完整列表,也可以通过 `ollama list` 查看本地已下载的模型。

Ollama 的模型文件存放在哪里?

在 macOS 和 Linux 上,模型默认存储在 `~/.ollama/models` 目录;Windows 上存储在 `C:\Users\<你的用户名>\.ollama\models`。你可以在环境变量 `OLLAMA_MODELS` 中指定自定义路径。

如何通过 API 调用 Ollama?

Ollama 默认在 `http://localhost:11434` 启动一个 REST API。你可以向 `/api/generate` 或 `/api/chat` 发送 POST 请求,传入 `model` 和 `prompt` 参数。例如使用 curl:`curl http://localhost:11434/api/generate -d '{"model": "llama3.2", "prompt": "Hello"}'`。API 文档在 ollama.com 上可以找到。

是否可以同时运行多个模型?

可以。Ollama 支持多模型并行运行,每个模型独立占用内存。你可以在不同的终端窗口中分别运行 `ollama run <模型名>`,或者通过 API 同时请求不同的模型。不过注意总内存占用不能超过你的硬件限制。

Ollama 支持 GPU 加速吗?

支持。Ollama 利用 llama.cpp 后端,自动检测 NVIDIA 和 AMD GPU(通过 ROCm),以及 Apple Silicon 的 Metal 加速。如果你有兼容的 GPU,模型推理速度会显著提升。你可以通过设置环境变量 `OLLAMA_GPU_LAYERS` 控制 GPU 使用的层数。

如何修改 Ollama 的默认端口?

通过设置环境变量 `OLLAMA_HOST` 来更改监听地址和端口。例如 `export OLLAMA_HOST=0.0.0.0:8080`(Linux/macOS)或 `set OLLAMA_HOST=0.0.0.0:8080`(Windows),然后重新启动 Ollama 服务即可。

Ollama 是否支持自定义模型或微调?

支持。你可以通过 Modelfile 创建自定义模型。Modelfile 类似 Dockerfile,你可以在其中指定基础模型、修改参数、添加系统提示词或嵌入对话历史。例如创建一个 `my-model` 文件,内容为 `FROM llama3.2` 然后 `SYSTEM "你是一个友好的助手"`,再运行 `ollama create my-model -f ./my-model` 即可创建。

如何备份或迁移 Ollama 模型?

直接复制 `~/.ollama/models` 文件夹到另一台机器的相同位置即可。注意不同操作系统或架构(如 ARM vs x86)的模型文件可能不通用,建议在目标机器上重新 pull 或使用同一个平台。

Ollama 的缓存机制是怎样的?

Ollama 会缓存已下载的模型,避免重复下载。此外,在运行交互会话时,Ollama 会保持模型的上下文(除非你手动退出)。你可以通过 `ollama stop <模型名称>` 卸载模型释放内存,但模型文件仍保留在硬盘上。

如何卸载 Ollama?

macOS:将应用拖入废纸篓;Windows:通过设置中的“添加或删除程序”卸载;Linux:运行安装脚本中的卸载命令 `curl -fsSL https://ollama.com/install.sh | sh` 附带有卸载选项,或者删除 `/usr/local/bin/ollama` 和 `~/.ollama` 目录。注意删除 `~/.ollama` 会清除所有模型文件,请提前备份。

Ollama 与 OpenAI API 兼容吗?

Ollama 的 API 与 OpenAI 的 chat completions API 基本兼容,但并非完全一致。许多第三方工具(如 LangChain、Continue 等)已经内置了对 Ollama 的支持,只需将 endpoint 指向 `http://localhost:11434/v1` 即可。你可以查阅官方文档了解具体映射关系。

如何在 Ollama 中设置系统提示词?

运行 `ollama run <模型>` 后,直接输入你的消息即可。若想固定系统提示词,可以在 Modelfile 中定义 `SYSTEM` 指令,或者通过 API 的 `system` 参数传入。例如使用 curl:`curl http://localhost:11434/api/chat -d '{"model":"llama3.2","messages":[{"role":"system","content":"你只说中文"}]}'`。

Ollama 的资源占用高吗?

取决于模型大小和量化版本。例如 7B 参数的模型量化版(Q4)大约需要 4-6GB 内存,13B 模型需要 8-10GB。Ollama 本身作为守护进程占用很小(约几十 MB),主要资源由模型推理消耗。你可以通过选择更小的模型或更低的量化级别来降低占用。

如何让 Ollama 开机自启?

macOS:安装后默认已设置为后台服务;Linux:安装脚本通常也会创建 systemd 服务,你可以用 `systemctl enable ollama` 启用;Windows:需手动设置计划任务或创建快捷方式到启动文件夹,官方也提供了 Windows 后台运行选项。

为什么运行模型时出现 Out of Memory 错误?

通常是因为你的显存或 RAM 不足以加载整个模型。你可以尝试使用更小的模型(如参数更少的版本),或者使用量化精度更低的模型(如 Q4 代替 Q8),甚至使用纯 CPU 模式(设置 `OLLAMA_GPU_LAYERS=0`)。如果内存依然不足,考虑增加交换空间或使用更轻量的模型。

Ollama 的代理设置如何配置?

如果你在需要代理的网络环境中,可以通过标准的环境变量配置:`HTTP_PROXY` 和 `HTTPS_PROXY`。例如在终端中 `export HTTP_PROXY=http://127.0.0.1:7890` 然后启动 Ollama。如果是 Windows,使用 `set HTTP_PROXY=http://127.0.0.1:7890`。

是否可以将 Ollama 集成到 IDE 中?

可以。许多 AI 编程助手如 Continue(VS Code 插件)原生支持 Ollama,你只需在插件设置中将 API 地址改为 `http://localhost:11434` 并选择模型即可。此外,你也可以通过 OpenAI 兼容的 API 接口与其他工具集成。

Ollama 支持流式输出吗?

支持。API 的 `/api/generate` 和 `/api/chat` 端点都支持流式响应,只需在请求中设置 `"stream": true`。响应会以纯文本流的形式逐段返回,适合实时显示大模型输出。

如何查看已下载的模型列表?

在终端中运行 `ollama list` 即可显示所有本地已下载的模型名称、大小和修改时间。如果你需要删除某个模型,使用 `ollama rm <模型名称>`。

Ollama 是否会收集用户数据?

不会。Ollama 完全本地运行,所有模型推理都在你的设备上完成,无需联网(除了下载模型时)。没有遥测或数据上传行为。你可以通过查看其开源代码来验证。