自建本地 AI 问答大模型:Ollama + Open WebUI 部署指南
本文介绍了如何在本地环境中使用 Docker 部署 Ollama 和 Open WebUI,实现私有化大语言模型服务。内容包括 Ollama 的镜像拉取、模型运行及交互方式,Open WebUI 的容器化配置与连接,以及通过 Modelfile 自定义系统提示词以优化中文回复效果。此外还涵盖了资源占用监控及常见调试方法,帮助用户快速搭建离线 AI 助手。

本文介绍了如何在本地环境中使用 Docker 部署 Ollama 和 Open WebUI,实现私有化大语言模型服务。内容包括 Ollama 的镜像拉取、模型运行及交互方式,Open WebUI 的容器化配置与连接,以及通过 Modelfile 自定义系统提示词以优化中文回复效果。此外还涵盖了资源占用监控及常见调试方法,帮助用户快速搭建离线 AI 助手。

Ollama 是一个开源项目,提供了部署和运行各种大型语言模型的平台和工具集。Open WebUI 则是一个基于 Web 的用户界面,允许用户通过浏览器与 Ollama 进行交互。本文将详细介绍如何结合两者在本地构建私有化的 AI 问答系统。
确保您的机器已安装 Docker 和 Docker Compose。建议使用 Linux 或 WSL2 环境以获得最佳性能。
推荐使用 Docker 方式部署,简单且易于管理。
docker pull ollama/ollama:latest
根据硬件配置选择相应的启动命令:
AMD 显卡 (ROCm)
docker run -d -v /mnt/c/ubuntu-wsl/data/ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm
英伟达显卡 (CUDA)
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
仅 CPU 模式
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
Ollama 支持多种主流开源模型。以下是常用模型列表:
| 模型名称 | 参数量 | 大小 | 启动命令 |
|---|---|---|---|
| llama3 | 8B | 4.7GB | ollama run llama3:8b |
| llama3 | 70B | 40GB | ollama run llama3:70b |
| gemma | 7B | 5.0GB | ollama run gemma:7b |
| mistral | 7B | 4.1GB | ollama run mistral:7b |
| qwen | 72B | 41GB | ollama run qwen:72b |
| phi3 | 3.8B | 2.2GB | ollama run phi3:3.8b |
| llava | 7B | 4.7GB | ollama run llava:7b |
进入容器内部运行模型,首次执行会自动下载:
docker exec -it ollama ollama run llama3
等待下载完成后,即可进入交互模式输入指令。
Open WebUI 提供友好的图形界面,支持多轮对话、文件上传等功能。
docker run -d -p 8186:8080 --add-host=host.docker.internal:host-gateway -v openwebui:/app/backend --name open-webui ollama/open-webui
*注意:请确保端口 8186 未被占用。
在设置中确认 Ollama 的连接地址。如果是本地 Docker 网络,可能需要配置环境变量 OLLAMA_HOST 指向 http://host.docker.internal:11434。
默认模型可能倾向于英文回复。可以通过创建自定义 ModelFile 来强制指定语言。
在项目目录下创建 Modelfile 文件:
from llama3
PARAMETER temperature 1
PARAMETER num_ctx 6000
PARAMETER top_k 50
PARAMETER top_p 0.95
SYSTEM """
尽你的最大可能和能力回答用户的问题。不要重复回答问题。不要说车轱辘话。语言要通顺流畅。
RULES:
- Be precise, do not reply emoji.
- Always response in Simplified Chinese, not English.
"""
ollama create cusllama3 -f Modelfile
在 Open WebUI 中选择 cusllama3 作为对话模型,即可获得更规范的中文回复。
通过 Docker 部署 Ollama 和 Open WebUI,用户可以低成本地拥有私有化大模型能力。配合自定义 System Prompt,可显著提升特定场景下的回复质量。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online