在 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 容器,你还可以方便地管理和切换不同的模型,提升工作效率。

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


相关推荐
小白也想学C2 小时前
ubuntu22.04下载QQ音乐闪退问题
ubuntu
ZzzZZzzzZZZzzzz…2 小时前
RHCSA---权限管理
linux·运维·权限管理·特殊权限·rhcsa·acl权限·权限掩码原理
TinyPiXOS开发者联盟2 小时前
轻量级嵌入式系统的 Lottie 动画实现
linux·c++·动画·嵌入式开发·lottie·tinypixos·tpgui
海蓝可知天湛2 小时前
Ubuntu24.10禁用该源...+vmware无法复制黏贴“天坑闭环”——从 DNS 诡异解析到 Ubuntu EOL 引发的 apt 404排除折
linux·ubuntu
SoulKuyan3 小时前
android su执行命令
linux·运维·服务器
Zhao_yani3 小时前
Centos 7安装Apache Drill
linux·centos·drill
一叶飘零_sweeeet3 小时前
Linux 安装 Elasticsearch:避坑指南 + 性能调优实战
linux·运维·elasticsearch
梁正雄4 小时前
linux-shell-基础与变量和运算符-1
linux·运维
HIT_Weston4 小时前
23、【Ubuntu】【远程开发】内网穿透:SSH 反向隧道
linux·ubuntu·ssh