切换语言
切换主题

Ollama + Open WebUI:搭建本地 ChatGPT 界面(完整指南)

说实话,我第一次用本地跑大模型的时候挺忐忑的。心里想着:这玩意儿能跑得起来吗?我那台老笔记本会不会卡死?结果——比想象中顺利多了。

这篇文章会教你用 Ollama 和 Open WebUI 在本地搭一个 ChatGPT 风格的对话界面。整个过程,大概 30 分钟搞定。


为什么选本地部署?

ChatGPT、Claude 都挺好用,但有几个地方让我不太舒服。

费用这事儿。每个月 20 美元,一年下来 240 美元。如果是重度用户还行,但我就偶尔问问代码问题、查查资料,这笔钱有点冤枉。本地跑模型,下载完就免费了,没 Token 计费,不用操心续费。

隐私这块。你输入的东西会上传到 OpenAI 或 Anthropic 的服务器。工作文档、个人笔记、私密对话——说实话,我不太放心。本地部署后,数据全在我自己的硬盘上,哪都不去。

离线这个。出门旅行、网不好的时候,云端 AI 就废了。本地模型下载后完全离线跑,没网照样用。

定制这块。云端服务的参数都锁死了。Temperature、Prompt 模板——你都没法调。本地跑的话,想怎么改就怎么改。


核心概念速览

先搞清楚俩工具是啥,不然后面容易迷糊。

Ollama 就是个模型运行器。帮你下载、管理、跑大语言模型,顺便还提供一个 API(默认端口 11434)。你可以把它当成”本地版的 OpenAI API”。

Open WebUI 是个 Web 界面。ChatGPT 风格的对话窗口、模型切换、历史管理——全都有。它通过 API 连到 Ollama,把命令行操作变成浏览器里的图形界面。

架构长这样

浏览器 (localhost:3000)

Open WebUI (Docker 容器)
    ↓ HTTP API
Ollama (本地服务, 端口 11434)

本地模型 (存 ~/.ollama 里)

打开浏览器 → Open WebUI 调 Ollama API → Ollama 加载模型推理 → 结果返回给你。就这么简单。


系统要求与准备

部署前先看看你的硬件够不够劲儿。

最低要求

  • 处理器:Intel i5 或差不多性能的
  • 内存:8GB RAM(16GB 以上更稳)
  • 存储:至少 10GB 空闲(模型文件挺大)
  • 系统:Windows 10+、macOS 11+、Linux

推荐配置

  • GPU:NVIDIA RTX 3060 或更好(推理快很多)
  • Apple Silicon Mac:M1/M2/M3 系列,内存统一架构,天生适合跑模型

软件依赖

  • Docker:跑 Open WebUI 用的(也可以不用,但 Docker 省事)

检查 Docker 装没装:

docker --version
docker compose version

输版本号就说明装了。没输的话,先装 Docker Desktop(Windows/macOS)或 Docker Engine(Linux)。


Step 1: 安装 Ollama

Ollama 安装——一条命令就完事儿。

1.1 macOS 和 Linux 安装

打开终端,跑这个:

curl -fsSL https://ollama.com/install.sh | sh

脚本会自动下载 Ollama 并装到系统里。装完后,后台服务自动启动。

1.2 Windows 安装

PowerShell 里跑这个:

irm https://ollama.com/install.ps1 | iex

或者直接去 ollama.com/download 下个 Windows 安装包,双击运行。都行。

1.3 Docker 安装(可选)

想把 Ollama 也放容器里?用 Docker:

docker pull ollama/ollama:latest
docker run -d -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

-v ollama:/root/.ollama 把模型存到 Docker 卷里——容器重启后模型不会丢。

1.4 验证安装

装完了,确认下 Ollama 正常跑着:

ollama --version

应该输出类似 ollama version is 0.1.x 的版本号。

服务没自动启动的话,手动跑一下:

ollama serve

这会在后台启动 Ollama API 服务,监听 http://localhost:11434


Step 2: 下载并跑模型

Ollama 装好了,接下来下个模型。

2.1 模型咋选

不同大小的模型需要不同的硬件。下面这个表帮你快速选:

硬件配置推荐模型参数量磁盘占用命令
8GB RAM,没 GPULlama 3.2 1B1B740MBollama run llama3.2:1b
8GB RAM,没 GPUGemma 3 2B2B1.4GBollama run gemma3:2b
16GB RAMLlama 3.2 3B3B2GBollama run llama3.2
16GB RAMQwen 2.5 7B7B4GBollama run qwen2.5:7b
16GB RAM + GPULlama 3.1 8B8B4.7GBollama run llama3.1:8b
32GB RAM + GPUDeepSeek R1 14B14B8GBollama run deepseek-r1:14b
64GB RAM + GPULlama 3.3 70B70B39GBollama run llama3.3:70b

按用途选

  • 日常对话、简单任务:Llama 3.2 1B 或 3B
  • 中文要好:Qwen 2.5 系列(阿里出的,中文效果好)
  • 写代码:DeepSeek R1 系列(推理强,适合代码生成)
  • 通用高性能:Llama 3.1 8B 或 Mistral 7B

2.2 下载模型

ollama pull 命令下:

# 下 Llama 3.2(默认 3B 版)
ollama pull llama3.2

# 下 DeepSeek R1 7B
ollama pull deepseek-r1:7b

# 下 Qwen 2.5 7B(中文好)
ollama pull qwen2.5:7b

第一次下可能要几分钟——看模型大小和网速。我下 Llama 3.2 的时候大概等了 2 分钟,DeepSeek R1 7B 多等了一会儿。

2.3 跑模型对话

下完了,直接跑:

ollama run llama3.2

你会进到一个对话界面:

>>> Send a message (/? for help)

输入问题,模型会实时回:

>>> 你好,介绍一下你自己

你好!我是基于 Llama 3.2 模型的本地 AI 助手...

退出来用 Ctrl + d 或者输 /bye

2.4 常用管理命令

看看已下载的模型:

ollama list

删掉某个模型:

ollama rm llama3.2:1b

复制模型(起个别名):

ollama cp llama3.2 my-llama

看模型详情:

ollama show llama3.2

Step 3: 安装 Open WebUI

命令行够用了。但如果你想体验 ChatGPT 风格的图形界面——那就装 Open WebUI 吧。

3.1 Docker 单容器部署(快得很)

先确保 Ollama 服务跑着(ollama serve),然后执行:

docker run -d -p 3000:8080 \
  --add-host=host.docker.internal:host-gateway \
  -v open-webui:/app/backend/data \
  --name open-webui \
  --restart unless-stopped \
  ghcr.io/open-webui/open-webui:main

参数解释下:

  • -p 3000:8080:把容器的 8080 端口映射到本机的 3000 端口
  • --add-host=host.docker.internal:host-gateway:让容器能访问宿主机的 Ollama 服务
  • -v open-webui:/app/backend/data:持久化存数据(对话历史、用户账户)
  • --restart unless-stopped:Docker 重启后容器自动启动

部署完了,打开浏览器访问:

http://localhost:3000

3.2 Docker Compose 部署(推荐)

想把 Ollama 和 Open WebUI 都用 Docker 管?Docker Compose 更方便。

先建个目录:

mkdir open-webui-project
cd open-webui-project

建个 compose.yaml 文件:

services:
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    ports:
      - "3000:8080"
    volumes:
      - ./data:/app/backend/data
    environment:
      - "OLLAMA_BASE_URL=http://ollama:11434"
    restart: unless-stopped
    depends_on:
      - ollama

  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    volumes:
      - ./ollama:/root/.ollama
    ports:
      - "11434:11434"
    restart: unless-stopped

启动服务:

docker compose up -d

看看状态:

docker compose ps

俩容器都显示 running 就成功了。

3.3 首次访问与配置

打开浏览器访问 http://localhost:3000,第一次会看到账户创建页面。

创建管理员账户

  • 输用户名、邮箱、密码
  • 点”Sign Up”

登录后,Open WebUI 会自动检测 Ollama 服务,列出可用模型。如果你已经下了模型,下拉菜单里会显示类似:

llama3.2:latest
deepseek-r1:7b
qwen2.5:7b

没自动检测到?去 Settings → Connections,手动填 Ollama API 地址:

http://host.docker.internal:11434

如果用 Docker Compose,填:

http://ollama:11434

Step 4: 基础使用

界面搭好了,看看咋用。

4.1 ChatGPT 风格对话

界面跟 ChatGPT 很像:

  • 左边是对话列表,能新建、删、重命名
  • 顶上是模型选择下拉菜单
  • 底下是输入框,输完按 Enter 发

选个模型(比如 llama3.2),输问题,回复会实时显示——跟 ChatGPT 一样流式输出。挺爽的。

4.2 模型切换

同一个对话能切模型。点顶上的模型下拉菜单,选另一个模型,再继续聊。

这功能适合对比不同模型的回答。比如:

  • 问同一个问题,先让 Llama 3.2 回
  • 切到 DeepSeek R1,看它回得更深不深

4.3 对话管理

  • 新建对话:点左边的”New Chat”
  • 重命名对话:点对话标题,直接改
  • 删对话:右键点对话,选删除
  • 搜历史对话:左上角有搜索框

所有对话都存本地 Docker 卷里,不上传云端。

4.4 参数调整

点输入框右边的设置图标,能调模型参数:

  • Temperature(温度):控制输出的随机性。低值(0.1-0.3)更稳,高值(0.7-0.9)更有创意
  • Top P:控制词汇选择的范围
  • 最大输出长度:限回复字数

这些参数对结果影响挺大。写代码用低 Temperature,写创意文案用高的。


Step 5: 进阶功能

基础对话之外,Open WebUI 还有几个实用的高级功能。

5.1 RAG 知识库构建

RAG(Retrieval-Augmented Generation)——把你的文档变成 AI 可检索的知识库。

咋用

  1. 点左边的”Documents”标签
  2. 点”Upload”,选文件(支持 PDF、Markdown、TXT、DOCX)
  3. 文件上传后,系统自动处理并建索引

上传完了,对话时勾”Use Documents”,AI 会从你的文档里检索相关信息。

场景举例

  • 上传公司 API 文档,问”某个接口的参数是啥”
  • 上传个人笔记,问”上次会议的结论是啥”
  • 上传技术 PDF,问”某个概念的详细解释”

这就是本地版的”知识库对话”——文档全在你自己硬盘上。

5.2 多用户管理

多人共用这个系统?能创建不同账户。

管理员能在 Settings → Users 里:

  • 创建新用户
  • 设置用户权限(普通用户、管理员)
  • 看用户列表

每个用户的对话历史独立存,互不干扰。

5.3 API 集成

Open WebUI 和 Ollama 都提供 OpenAI 兼容的 API,能直接对接现有工具。

调 Ollama API

curl http://localhost:11434/api/chat -d '{
  "model": "llama3.2",
  "messages": [
    {"role": "user", "content": "Hello"}
  ],
  "stream": false
}'

调 Open WebUI API(要认证的话,先拿 Token):

curl http://localhost:3000/api/chat/completions \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "model": "llama3.2",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Python 示例

import requests

response = requests.post('http://localhost:11434/api/chat', json={
    'model': 'llama3.2',
    'messages': [{'role': 'user', 'content': 'Hello'}],
    'stream': False
})

print(response.json()['message']['content'])

这样一来,你就能把本地模型对接到 VS Code 插件、自动化脚本,或者其他支持 OpenAI API 的工具里。


Step 6: 性能调整

推理速度慢?内存不够?调几个参数试试。

6.1 GPU 加速

Ollama 会自动检测 GPU 并用。GPU 没被识别?检查驱动装对没。

NVIDIA GPU

确保装了 NVIDIA 驱动和 CUDA。Ollama 会自动调 nvidia-smi 检测 GPU。

Apple Silicon Mac

M1/M2/M3 Mac 不用额外配置——Ollama 会自动用 Metal 加速。

AMD GPU

Linux 上能装 ROCm 版的 Ollama:

curl -L https://ollama.com/download/ollama-linux-amd64-rocm.tgz -o ollama-linux-amd64-rocm.tgz
sudo tar -C /usr/ -xzf ollama-linux-amd64-rocm.tgz

6.2 并发设置

想让多个模型同时跑,或者提高并发处理能力?设环境变量:

# 设同时跑的模型数
OLLAMA_NUM_PARALLEL=2 ollama serve

# 设最大加载模型数
OLLAMA_MAX_LOADED_MODELS=2 ollama serve

这些参数适合多用户场景,避免频繁切模型时的加载延迟。

6.3 模型量化

大模型(像 70B)占内存太多?用量化版本减少占用:

# 下 4-bit 量化版本(占用减少约 75%)
ollama pull llama3.3:70b-q4_K_M

量化会轻微降低质量,但速度和内存占用好很多。


常见问题排查

部署过程中可能会遇到问题。这里列几个最常见的。

Q1: 模型下载很慢

原因:Ollama 官方服务器在国外,国内下可能慢。

解决

  • 用代理
  • 或者从镜像站下 GGUF 文件,手动导到 Ollama

手动导入方法:

# 下完 GGUF 文件后,建个 Modelfile
FROM ./llama3.2.gguf

# 创建模型
ollama create my-llama3.2 -f Modelfile

Q2: Open WebUI 连不上 Ollama

现象:界面显示”Ollama connection failed”。

排查

  1. 确认 Ollama 服务跑着:
curl http://localhost:11434

应该返回 "Ollama is running"

  1. 用 Docker 的话,检查网络配置:
docker exec -it open-webui curl http://host.docker.internal:11434

不通的话,可能要手动配 OLLAMA_BASE_URL 环境变量。

Q3: GPU 不被识别

现象:推理速度很慢,nvidia-smi 显示 GPU 没被用。

排查

  1. 检查 NVIDIA 驱动:
nvidia-smi

应该显示 GPU 信息。

  1. 检查 Ollama 是否识别 GPU:
ollama show llama3.2 --system

显示 CPU-only 的话,说明 GPU 没被识别。

解决

  • 重装 NVIDIA 驱动
  • 确认 CUDA 版本兼容
  • Linux 上可能要设 CUDA_VISIBLE_DEVICES

Q4: 内存不足错误

现象:跑大模型时报 OOM(Out of Memory)错误。

解决

  • 换更小的模型(像 1B 或 3B)
  • 用量化版本(q4_K_M
  • 增加 swap 空间(Linux)
  • 关掉其他占内存的程序

Q5: Docker 容器启动失败

现象docker ps 显示容器状态为 Exited

排查

看容器日志:

docker logs open-webui

常见原因:

  • 端口冲突(3000 端口被其他程序占了)
  • 卷权限问题
  • 内存不足

解决

  • 换个端口(像 -p 8080:8080
  • 检查 Docker 卷权限
  • 增加容器内存限制

总结

用 Ollama + Open WebUI 在本地搭 ChatGPT 界面,核心流程就这么几步:

  1. 装 Ollama(一条命令)
  2. 下合适的模型(看硬件选)
  3. 部署 Open WebUI(Docker 一键启动)
  4. 开始对话

搭完了,你就有:

  • 免费的 AI 对话助手
  • 完全隐私的数据存储
  • 离线能用
  • 可定制的模型参数
  • 可扩展的知识库(RAG)
  • 可集成的 API 接口

这套方案适合个人日常用,也适合小团队内部部署。如果想再深入,可以探索:

  • Modelfile 自定义模型行为
  • 多云端模型集成(同时用本地模型和 OpenAI API)
  • Kubernetes 生产级部署

搭建本地 ChatGPT 界面

用 Ollama 和 Open WebUI 在本地部署 ChatGPT 风格的 AI 对话界面

⏱️ 预计耗时: 30 分钟

  1. 1

    步骤1: 安装 Ollama

    根据操作系统选择安装方式:

    • macOS/Linux:curl -fsSL https://ollama.com/install.sh | sh
    • Windows:irm https://ollama.com/install.ps1 | iex
    • Docker:docker pull ollama/ollama:latest

    安装后运行 ollama --version 验证
  2. 2

    步骤2: 下载模型

    根据硬件配置选择模型:

    • 8GB RAM:ollama pull llama3.2:1b
    • 16GB RAM:ollama pull llama3.2
    • 16GB RAM + GPU:ollama pull llama3.1:8b
    • 中文优化:ollama pull qwen2.5:7b
  3. 3

    步骤3: 部署 Open WebUI

    Docker 单容器部署:

    docker run -d -p 3000:8080 \
    --add-host=host.docker.internal:host-gateway \
    -v open-webui:/app/backend/data \
    --name open-webui \
    ghcr.io/open-webui/open-webui:main

    或用 Docker Compose 管理双容器
  4. 4

    步骤4: 首次配置

    访问 http://localhost:3000:

    • 创建管理员账户
    • 自动检测 Ollama 服务
    • 选择模型开始对话
  5. 5

    步骤5: 进阶功能配置

    可选功能:

    • RAG 知识库:上传 PDF/Markdown 文档
    • API 集成:OpenAI 兼容端点
    • GPU 加速:自动检测,无需配置

常见问题

本地部署 AI 需要什么硬件配置?
最低 8GB RAM、Intel i5 处理器、10GB 存储空间。推荐 16GB RAM 以上,如有 NVIDIA RTX 3060 或 Apple Silicon Mac 性能更好。大模型(如 70B)需要 64GB RAM。
Ollama 支持哪些模型?
支持主流开源模型:

• Meta Llama 系列(1B-70B)
• DeepSeek R1 推理模型
• 阿里 Qwen 系列(中文优化)
• Google Gemma、Mistral 等

用 ollama list 查看已下载模型,ollama pull 下载新模型
Open WebUI 连不上 Ollama 怎么办?
先确认 Ollama 服务运行中(curl http://localhost:11434)。Docker 部署时检查网络配置,可能需要手动设置 OLLAMA_BASE_URL 环境变量为 http://host.docker.internal:11434
本地部署的 AI 能离线使用吗?
可以。模型下载后完全离线运行,不需要网络连接。对话历史、知识库文档都存在本地,适合出差、旅行或网络不稳定的环境
如何对接现有工具(如 VS Code 插件)?
Ollama 提供 OpenAI 兼容 API(端口 11434):

• 端点:http://localhost:11434/api/chat
• 格式与 OpenAI API 相同
• Python/Node.js 直接调用

只需把 API 地址从 OpenAI 换成本地地址即可

参考资源

有问题去 Ollama 和 Open WebUI 的 GitHub Issues 搜——社区活跃,大部分问题都有人答过。

11 分钟阅读 · 发布于: 2026年4月4日 · 修改于: 2026年4月5日

评论

使用 GitHub 账号登录后即可评论

相关文章