Ollama 简介
Ollama 是一个开源平台,旨在简化在本地环境中启动和运行大型语言模型(LLM)的过程。它提供了一个类似 OpenAI 的 API 接口,但无需复杂的开发配置即可直接通过命令行或集成工具与模型交互。Ollama 支持热切换模型,允许用户在同一会话中灵活加载不同的模型权重,为开发者提供了极大的便利性和多样性。
环境准备
在开始部署之前,请确保您的系统满足以下基本要求:
- 操作系统:macOS (11 Big Sur 及以上), Windows (10/11), Linux (Ubuntu 20.04+, CentOS 7+ 等)。
- 硬件要求:建议至少 8GB 内存,若运行较大参数模型(如 Llama-3-8B),推荐 16GB 以上;GPU 非必须,但能显著提升推理速度。
- 依赖软件:安装 Docker 及 Docker Compose(用于部署 OpenWebUI)。
安装 Ollama
macOS 用户
对于 macOS 用户,可以直接访问 Ollama 官网下载页面获取安装包。双击下载的 .dmg 文件并按照提示完成安装。安装完成后,终端将自动配置环境变量。
Windows 用户
Windows 用户可下载官方提供的 MSI 安装包。安装过程中建议勾选'添加到 PATH'选项,以便在任何目录使用 ollama 命令。安装后重启终端以生效。
Linux 用户
Linux 系统推荐使用官方脚本进行一键安装,该脚本会自动处理依赖关系并配置 systemd 服务。
curl -fsSL https://ollama.com/install.sh | sh
安装成功后,服务将自动启动并在后台运行。
模型管理
查看可用模型
Ollama 提供了丰富的模型库,涵盖多种架构和参数量级。您可以通过以下命令列出已安装的模型:
ollama list
输出示例:
NAME ID SIZE MODIFIED
gemma:2b b50d6c999e59 1.7 GB About an hour ago
llama2:latest 78e26419b446 3.8 GB 9 hours ago
qwen:latest d53d04290064 2.3 GB 8 hours ago
拉取与运行模型
使用 pull 命令从仓库下载模型,使用 run 命令启动对话。
# 下载 Qwen 模型
ollama pull qwen
# 运行模型进入交互式对话
ollama run qwen
在对话模式下,您可以输入自然语言指令,模型会实时生成回复。按 Ctrl+C 退出对话模式。
自定义 Modelfile
Ollama 支持通过 Modelfile 自定义模型行为,例如设置系统提示词、温度参数或指定上下文窗口大小。
创建一个名为 Modelfile 的文件:
FROM qwen:latest
SYSTEM "你是一个专业的编程助手,请用简洁的代码回答。"
PARAMETER temperature 0.7
PARAMETER num_ctx 4096
构建自定义模型:
ollama create my-qwen -f Modelfile
ollama run my-qwen
部署 OpenWebUI
OpenWebUI 是一个功能丰富且用户友好的自托管 Web 界面,完全兼容 Ollama API。它支持多模型对比、知识库检索(RAG)以及插件扩展。
基础部署
确保 Ollama 服务正在运行,然后使用 Docker 启动 OpenWebUI。
docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
此命令将容器映射到本地 3000 端口,并挂载数据卷以持久化聊天记录和配置。
跨服务器连接
如果 Ollama 运行在另一台服务器上,需设置环境变量指向远程地址:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://<服务器 IP>:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
访问界面
部署完成后,在浏览器访问 http://localhost:3000。首次登录通常无需密码,可直接进入主界面。
配置与高级功能
模型选择与对比
在 OpenWebUI 左侧菜单中,点击"Select a model",可以切换当前对话使用的模型。支持同时添加多个模型,开启"Compare"模式,直观对比不同模型对同一问题的回答差异。
系统提示词设置
在设置中,您可以定义全局默认的系统提示词(System Prompt),规范模型的输出风格。例如,强制模型始终使用 Markdown 格式或限制回答长度。
API 兼容性
OpenWebUI 内置了标准的 OpenAI API 兼容层。第三方应用(如 Chatbot UI, LangChain 等)可以通过配置 http://localhost:3000/api/v1 作为 Base URL 接入,实现更复杂的自动化流程。
常见问题排查
- 端口冲突:如果 3000 端口被占用,修改
-p参数中的宿主机端口号,如-p 3001:8080。 - 模型加载失败:检查磁盘空间是否充足,大模型需要数 GB 空间。确认 GPU 驱动正常(Linux 下)。
- 无法连接 Ollama:确保 Ollama 服务未处于休眠状态,可通过
ollama serve手动启动测试。 - 网络问题:跨设备部署时,请确保防火墙允许相应端口的入站流量。
总结
通过 Ollama 与 OpenWebUI 的组合,用户可以低成本、高隐私地构建私有化的大模型应用。这种本地化部署方案避免了云端 API 的费用和数据泄露风险,适合个人开发者、企业内网研究及教育场景。随着社区生态的发展,更多插件和模型优化将持续提升用户体验。


