在 Ubuntu 上安装 Ollama 并通过 Open WebUI 运行本地大语言模型

1. 引言

在这篇教程中,我们将详细介绍如何在 Ubuntu 系统上安装 Ollama ,以及如何通过 Open WebUI 进行图形化管理本地大语言模型。你将能够在本地机器上运行诸如 DeepSeek-CoderCodeLlama 之类的大型语言模型,并通过 Web 界面与它们进行交互。通过这种方法,你无需依赖外部服务器,可以在本地机器上享受私有化、大模型的推理体验。

2. 系统要求

  • 操作系统:Ubuntu 20.04 或更高版本

  • 内存要求:至少 8GB RAM(建议 16GB 或更多)

  • 显卡要求:NVIDIA GPU(可选),但如果没有显卡也可以通过 CPU 运行

  • 其他要求:Docker、Git

3. 安装步骤

3.1 安装 Docker 和 Docker Compose

首先,我们需要安装 Docker 和 Docker Compose,这些是运行 Open WebUI 容器的前提。

复制代码
# 更新系统并安装 Docker 和 Docker Compose
sudo apt update
sudo apt install docker.io docker-compose -y

安装完成后,可以检查 Docker 是否安装成功:

复制代码
docker --version
docker-compose --version

确保返回版本信息,说明 Docker 已成功安装。

3.2 配置 Docker 权限

如果在运行 Docker 命令时遇到权限错误,如 permission denied while trying to connect to the Docker daemon socket,可以通过将当前用户添加到 docker 组来解决:

复制代码
# 将当前用户加入 docker 用户组
sudo usermod -aG docker $USER

# 重新加载用户组配置并生效
newgrp docker

然后,重新启动 Docker 服务:

复制代码
sudo systemctl restart docker

3.3 安装 Ollama

Ollama 是本地化的大语言模型推理引擎,我们将通过其提供的 API 来与模型进行交互。

复制代码
# 安装 Ollama
curl -fsSL https://ollama.com/install.sh | sh

此命令将自动下载并安装 Ollama。

3.4 启动 Ollama 服务

安装完成后,启动 Ollama 服务:

复制代码
ollama serve &

该命令将在后台启动 Ollama 服务,默认监听端口 11434

3.5 拉取所需的模型

接下来,我们需要拉取本地模型。例如,拉取 DeepSeek-CoderCodeLlama 模型:

复制代码
# 拉取 DeepSeek-Coder 模型
ollama pull deepseek-coder:instruct

# 拉取 CodeLlama 模型
ollama pull codellama:13b-instruct

3.6 安装 Open WebUI

为了方便操作和管理,我们使用 Open WebUI 来提供图形化的界面。Open WebUI 将通过浏览器访问本地的 Ollama 模型。

复制代码
# 拉取并运行 Open WebUI 容器
docker run -d -p 3000:8080 --name open-webui --restart always \
  -e OLLAMA_API_BASE_URL=http://localhost:11434/api \
  ghcr.io/open-webui/open-webui:main

3.7 访问 Open WebUI

WebUI 容器启动后,你可以在浏览器中访问本地界面:

复制代码
http://localhost:3000

在该页面,你可以选择加载的模型并开始与模型进行交互。

4. 配置和使用

4.1 配置 config.py

Open WebUI 容器中,配置文件 config.py 定义了模型和 Ollama API 的连接设置。你可以按照如下方式配置:

复制代码
models_config = {
    "deepseek-chat": {
        "base_url": "https://api.deepseek.com",
        "key": "",
    },
    "gpt-4o": {
        "base_url": "",
        "key": "",
    },

    # 本地 Ollama(OpenAI 兼容 /v1)
    "ds-coder": {
        "base_url": "http://localhost:11434/v1",
        "key": "",
        "inner_model_name": "deepseek-coder:instruct"
    },
    "c13b": {
        "base_url": "http://localhost:11434/v1",
        "key": "",
        "inner_model_name": "codellama:13b-instruct"
    }
}

在这里,你可以选择模型的名称、API 地址以及 API 密钥(如果有的话)。如果模型是在本地运行,则不需要密钥。

4.2 通过 Open WebUI 进行交互

打开浏览器并访问 http://localhost:3000,你将看到一个可视化界面。你可以在界面中选择不同的模型并开始与它们进行对话。例如,选择 DeepSeek-Coder 模型并输入一些编程相关的查询,模型将返回相应的代码生成和优化建议。


5. 常见问题与解决方法

5.1 权限问题

如果遇到 Docker 权限问题(如 permission denied),请确保将当前用户添加到 docker 组并重新登录。

5.2 显存不足

如果没有 NVIDIA 显卡,或者显存不够运行较大模型(如 codellama:13b-instruct),可以考虑使用较小的模型(例如 deepseek-coder:lite-instruct)。


6. 总结

通过上述步骤,你已经成功在 Ubuntu 上安装并运行了 Ollama 与 Open WebUI。现在,你可以在本地机器上享受与大语言模型的交互体验,无需依赖外部云端服务。通过 Docker 容器,你还可以方便地管理和切换不同的模型,提升工作效率。

希望这篇教程能帮助你更好地理解如何在本地运行大语言模型,并通过图形化界面进行管理。如果你有任何问题,欢迎在评论区留言!


相关推荐
orion5716 小时前
Missing Semester Class1:course overview and introduction of shell
linux
用户120487221611 天前
Linux驱动编译与加载
linux·嵌入式
用户805533698031 天前
Input 子系统架构:Core、Handler、Driver 三层是怎么协作的
linux·嵌入式
用户805533698031 天前
RK-Forge外设系列开篇 - 把板子从「能启动」变成「能用」:Ethernet/SPI/MMC 三个纯接线外设
linux·github·嵌入式
七歌杜金房2 天前
我终于又有了自己的 Linux 电脑
linux·debian·mac
tntxia3 天前
linux curl命令详解_curl详解
linux
扛枪的书生3 天前
Linux 网络管理器用法速查
linux
顺风尿一寸3 天前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode3 天前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫3 天前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux