使用Docker安装Ollama及Open-WebUI完整教程

作者:吴业亮
博客:wuyeliang.blog.ZEEKLOG.net

一、Ollama 简介及工作原理

1. Ollama 简介及原理

  • 简介:Ollama 是一款轻量级、开源的大语言模型(LLM)运行工具,旨在简化本地部署和运行大语言模型的流程。它支持 Llama 3、Mistral、Gemini 等主流开源模型,用户无需复杂配置即可在本地设备(CPU 或 GPU)上快速启动模型,适用于开发测试、本地智能应用搭建等场景。
  • 工作原理
    • 采用模型封装机制,将大语言模型的运行环境、依赖库及推理逻辑打包为标准化格式,实现模型的一键下载、启动和版本管理。
    • 通过优化的推理引擎适配硬件架构,支持 CPU 基础运行和 GPU 加速(如 NVIDIA CUDA),减少资源占用并提升响应速度。
    • 提供简洁的 REST API 和命令行接口,降低开发者集成门槛,无需深入了解模型底层细节即可调用。
    • 支持容器化部署,确保跨环境一致性,避免依赖冲突问题。

2. Open-WebUI 简介及原理

  • 简介:Open-WebUI 是一款开源的可视化界面工具,专为 Ollama 设计,提供直观的交互界面用于管理和使用大语言模型。它支持模型切换、对话历史记录、参数调整等功能,让本地大语言模型的使用更便捷。
  • 工作原理
    • 作为前端交互层,通过 API 与 Ollama 后端通信,接收用户输入并将其转发给 Ollama 进行模型推理。
    • 解析 Ollama 返回的结果并以自然语言对话形式展示给用户,同时记录对话历史并支持上下文关联。
    • 提供模型管理功能,可直接在界面中下载、启动、停止 Ollama 支持的模型,简化模型运维流程。
    • 支持容器化部署,与 Ollama 容器通过网络互通,实现快速搭建完整的本地大语言模型交互系统。

二、安装Docker

1. 安装Docker依赖

apt-getinstall ca-certificates curl gnupg lsb-release 

2. 添加阿里云Docker软件源

curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg |sudo apt-key add - 

3. 配置系统软件源

编辑/etc/apt/sources.list文件,添加以下内容(清华大学Ubuntu镜像源):

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse # 安全更新软件源 deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse # deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse # 预发布软件源,不建议启用 # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse # # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-proposed main restricted universe multiverse 

4. 添加Docker软件源并更新密钥

add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DDCAE044F796ECB0 

5. 安装Docker

apt-getinstall docker-ce docker-ce-cli containerd.io 

6. 验证Docker安装

docker -v 

7. 配置Docker国内镜像源

7.1 编辑配置文件/etc/docker/daemon.json
{"registry-mirrors":["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com","https://docker.m.daocloud.io","https://ghcr.io","https://mirror.baidubce.com","https://docker.nju.edu.cn"]}
7.2 重新加载并重启Docker
systemctl daemon-reload systemctl restart docker 

三、安装英伟达显卡驱动(GPU支持)

1. 配置存储库

curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey |sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg 

2. 设置源

创建并编辑nvidia-container-toolkit.list文件:

# 内容如下 deb https://mirrors.ustc.edu.cn/libnvidia-container/stable/deb/$(ARCH) / deb https://mirrors.ustc.edu.cn/libnvidia-container/stable/ubuntu18.04/$(ARCH) / #deb https://mirrors.ustc.edu.cn/libnvidia-container/experimental/deb/$(ARCH) /#deb https://mirrors.ustc.edu.cn/libnvidia-container/experimental/ubuntu18.04/$(ARCH) /

3. 更新包列表

sudoapt-get update 

4. 安装NVIDIA Container Toolkit

apt-getinstall -y nvidia-container-toolkit 

5. 配置Docker以支持Nvidia驱动

nvidia-ctk runtime configure --runtime=docker 

6. 重启Docker服务

systemctl restart docker.service 

四、使用Docker安装Ollama

1. 拉取Ollama镜像

官方镜像:

docker pull ollama/ollama:latest 

国内镜像(推荐):

docker pull dhub.kubesre.xyz/ollama/ollama:latest 

2. 启动Ollama容器

docker run -d \ --gpus=all \ --restart=always \ -v /root/project/docker/ollama:/root/project/.ollama \ -p 11434:11434 \ --name ollama \ ollama/ollama 
说明:此配置会让Ollama将模型保持加载在内存(显存)中

五、使用Docker安装Open-WebUI

1. 安装Main版本

docker run -d \ -p 15027:8080 \ --gpus all \ --add-host=host.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.nju.edu.cn/open-webui/open-webui:main 

2. 安装CUDA版本(GPU加速)

docker run -d \ -p 15027:8080 \ --gpus all \ --add-host=host.docker.internal:host-gateway \ -v open-webui:/app/backend/data \ --name open-webui \ --restart always \ ghcr.nju.edu.cn/open-webui/open-webui:cuda 

3. 访问Open-WebUI

打开浏览器访问以下地址进行登录:

http://192.168.1.129:15027/auth 

Read more

AI 时代,鸿蒙 App 还需要传统导航结构吗?

AI 时代,鸿蒙 App 还需要传统导航结构吗?

子玥酱(掘金 / 知乎 / ZEEKLOG / 简书 同名) 大家好,我是子玥酱,一名长期深耕在一线的前端程序媛 👩‍💻。曾就职于多家知名互联网大厂,目前在某国企负责前端软件研发相关工作,主要聚焦于业务型系统的工程化建设与长期维护。 我持续输出和沉淀前端领域的实战经验,日常关注并分享的技术方向包括前端工程化、小程序、React / RN、Flutter、跨端方案, 在复杂业务落地、组件抽象、性能优化以及多端协作方面积累了大量真实项目经验。 技术方向:前端 / 跨端 / 小程序 / 移动端工程化 内容平台:掘金、知乎、ZEEKLOG、简书 创作特点:实战导向、源码拆解、少空谈多落地 文章状态:长期稳定更新,大量原创输出 我的内容主要围绕 前端技术实战、真实业务踩坑总结、框架与方案选型思考、行业趋势解读 展开。文章不会停留在“API 怎么用”,而是更关注为什么这么设计、在什么场景下容易踩坑、

By Ne0inhk

【大模型应用】AI领域新概念“Skill”的深度解析与核心工作原理

一、 背景引入:为什么需要“Skill”? • 概念演进背景:近年来AI新名词层出不穷(提示词工程 → 智能体 → MCP → A2A → A2UI → Skill)。 • 传统提示词的痛点: • Token浪费:当积累了大量不同用途的复杂提示词(如写菜谱、读论文、写代码)时,如果一股脑全发给AI,会消耗大量Token。 • AI易迷茫(幻觉/失焦):一次性输入过多与当前问题无关的提示词信息,容易干扰AI的理解,导致回答不准确。 • 核心解决思路:需要一种机制,能够根据用户的问题,自动筛选并调出合适的提示词,这就是“Skill”诞生的初衷。 二、 “Skill”的核心物理结构 • 核心定义:一个不同用途的提示词就是一个Skill。在物理层面上,Skill本身就是一个文件夹。 • 核心文件(SKILL.md):文件夹内包含一个名为SKILL.md的文件,存放着提示词的主体内容(如写菜谱的具体要求、克数精确度等)。 • 关键组件(

By Ne0inhk
微调模型成本太高,用RAG技术,低成本实现AI升级

微调模型成本太高,用RAG技术,低成本实现AI升级

文章目录 * 大模型 RAG 技术深度解析:从入门到进阶 * 一、大语言模型(LLM)的三大痛点 * 1.1 幻觉问题:一本正经地胡说八道 * 1.2 时效性问题:知识更新不及时 * 1.3 数据安全问题:敏感信息泄露风险 * 二、RAG 技术:检索增强生成 * 2.1 RAG 的定义 * 2.2 RAG 的架构 * 2.2.1 检索器模块 * 2.2.2 生成器模块 * 三、使用 RAG 的八大优势 * 3.1 可扩展性:减少模型大小和训练成本 * 3.

By Ne0inhk
人工智能:自然语言处理在客户服务领域的应用与实战

人工智能:自然语言处理在客户服务领域的应用与实战

人工智能:自然语言处理在客户服务领域的应用与实战 学习目标 💡 理解自然语言处理(NLP)在客户服务领域的应用场景和重要性 💡 掌握客户服务领域NLP应用的核心技术(如聊天机器人、意图识别、情感分析) 💡 学会使用前沿模型(如BERT、GPT-3)进行客户服务文本分析 💡 理解客户服务领域的特殊挑战(如实时性要求、多语言处理、用户体验) 💡 通过实战项目,开发一个客户服务聊天机器人应用 重点内容 * 客户服务领域NLP应用的主要场景 * 核心技术(聊天机器人、意图识别、情感分析) * 前沿模型(BERT、GPT-3)在客户服务领域的使用 * 客户服务领域的特殊挑战 * 实战项目:客户服务聊天机器人应用开发 一、客户服务领域NLP应用的主要场景 1.1 聊天机器人 1.1.1 聊天机器人的基本概念 聊天机器人是通过自然语言与用户进行交互的程序。在客户服务领域,聊天机器人的主要应用场景包括: * 客户服务:回答客户的问题(如“如何退货”、“商品价格”

By Ne0inhk