封面

ByteGrad · 22:54 · 发布 2025-12-22 · 2.8万次观看(截至抓取) · 观看原视频

主旨

从零演示用 Ollama 做引擎、Open WebUI 做前端,在本机(Docker)与云服务器上自托管开源大模型,并接通 RAG 知识库和 API 供自建应用调用。

核心论点

  1. 自托管的价值是省钱、数据隐私与可控——不再把每次推理付费给云厂商,数据不出机器。(→ 详解1)
  2. 架构是分层的:LLM runner 是引擎,Open WebUI 是操作台——模型下载/运行归 Ollama 一类工具,日常交互都在 Open WebUI。(→ 详解1)
  3. 本地部署走 Docker 拉镜像,镜像仓库 ghcr 需先登录——用 GitHub 用户名 + personal access token(只需 read packages 权限)登录才能拉取。(→ 详解2)
  4. 模型大小要匹配硬件,否则又慢又难用——机器带不动大模型时换小模型(如 Llama 3.1 8B、Phi-3),不用的模型要删掉释放空间。(→ 详解3)
  5. 上传文档建知识库即得 RAG,回答会检索并标注来源——文档被切块做 embedding,提问时只召回相关片段喂给 LLM,并给出引用出处。(→ 详解4)
  6. Open WebUI 暴露 API,自建应用可直接调本地/云端模型——开启 API key 后向 /api/chat/completions 发请求,应用的 AI 功能不再依赖云厂商。(→ 详解5)
  7. 本地跑吃资源且难共享,团队场景应上云自托管——本地占内存、外人难访问;云端服务器解决多人访问与算力。(→ 详解6)

知识点详解

1. 为什么自托管 + 引擎与前端的分层 00:10

自托管 AI 的三个动机:更便宜(不按云厂商 token 计费)、数据隐私(数据留在自己机器)、更可控。作者认为开源模型正变得更好、更高效,过去 Windows 上的问题也基本解决,自托管已是有竞争力的选项。

关键是理清两类工具的分工。真正下载和运行模型的是 LLM runner——Ollama 是流行的一个,同类还有 LM Studio、Llama.cpp,它们负责把 GPT 开源模型这类权重拉到本地跑。

Open WebUI 则是你花大部分时间待着的交互界面:一个舒服的聊天台,还能围绕模型搭 RAG、开 API 等工作流。一句话——Ollama 是引擎盖下的发动机,Open WebUI 是驾驶舱。

2. 本地安装:Ollama + Docker 拉 Open WebUI 05:18

先装 Ollama:官网下载、拖进应用程序即可,它自带一个简易 UI 能直接聊天(区分带 cloud 与不带 cloud 的选项,后者才是本地跑)。过去必须用终端 ollama list 之类命令,现在有了图形界面。

Open WebUI 作者选 Docker 方式安装:装好 Docker Desktop 并保持运行,粘贴官方给的命令去拉镜像(image,即打包好一切依赖的运行包)。

这里有个真实的坑:直接拉会被 registry 拒绝(denied)。镜像来自 GitHub 容器仓库 ghcr,解法是先 docker login 到该仓库,用户名填 GitHub 用户名,密码填 personal access token(不是账号密码)——token 在 GitHub 开发者设置里生成,只勾 read packages 权限、设短有效期即可。登录成功后重跑命令,镜像下载完,浏览器开 localhost:3000 就是本机版 Open WebUI,首个注册账号即管理员。

3. 模型管理:按硬件选大小、装与删 08:20

作者亲测大模型(GPT 开源版)在他机器上极慢,因为模型对硬件太大。经验:想快速试用就从小模型起步,如 Llama 3.1 8B(约 5GB)、微软的 Phi-3。性能随机器规格浮动。

装模型不必先进 Ollama 再回来——在 Open WebUI 的模型选择框里直接搜、直接 pull from Ollama 就会自动下载。

删模型同样重要:大模型不再用就会白占空间。可 ollama list 看已装、ollama rm <名字> 删除;云端版则走 admin panel → settings → models → manage 里删。作者还断网演示,证明断网后本地聊天照样有回复——这才是真正的自托管 AI。

4. RAG 知识库:上传文档、切块检索、标注来源 10:05

每次聊天手动传 PDF 很麻烦,还要给别人共享、要在大量文档里高效检索——这就需要 RAG。在 Knowledge 里新建知识库(如”报销单”),上传多个 PDF,Open WebUI 会自动建索引、生成 embedding。

机制:文档被切成小块(chunk),提问(如”coffee”)时把 prompt 与这些块做 embedding 匹配,只召回最相关片段喂给 LLM。admin panel → settings → documents 里可调 chunk、embedding 模型、PDF 提取图片(OCR)、召回条数;换 embedding 模型后必须 reindex。

作者示范问”11 月饮料零食花了多少”,聊天里用 # 挂上该知识库,LLM 检索到 3 个来源、正确识别只有一张收据相关、算出 675(未含税),并列出引用的具体文档和查询语句。这是把 RAG 用在自己数据上的顺手做法。

5. API 端点:让自建应用调用自托管模型 13:39

作者最爱的功能:应用需要 AI 能力时,可直接向这个 Open WebUI 实例发 API 调用,拿回 LLM 回复。Ollama 本身也有 API,但他觉得 Open WebUI 的更好开。

开启方式:admin panel → settings 里找到 enable API keys、勾上并务必点保存(作者踩过忘保存导致不生效的坑),再到 account 里拿到 API key(一个 JWT,勿外泄)。

应用侧就是一个 fetch:打到 localhost:3000/api/chat/completions,带 content-type、Authorization: Bearer <token>,请求体指定 model 和 messages 数组。作者当场演示自建 AI 聊天应用返回结果——回复全部本地托管,不走昂贵云厂商。

6. 本地的局限与上云自托管:VPS vs VDS 15:29

本地全在自己电脑跑有明显代价:吃资源、大模型让电脑卡、且结果可能因硬件不够而不佳;更麻烦的是别人难访问你电脑——团队要共用 Open WebUI 时本地就不够用了。多数情况应把 Open WebUI 自托管到云端。

作者用赞助商 High Velocity 演示,并对比两种服务器:VPS 多台服务器共享物理硬件,峰值时可能互相影响;VDS(虚拟专用服务器)提供独占硬件资源、消除资源共享。

选配要点:内存决定能跑多大模型,8GB 装完操作系统、Docker、Ollama、Open WebUI 后留给模型的空间有限,只够小模型,想跑稍强模型就得升配。High Velocity 把 Open WebUI 做成一键 app,买下 VDS 就自带,省去安装配置。开出的服务器给临时 SSH 与 Open WebUI 登录凭据(建议立即改),之后云端版的 RAG、API 用法与本地完全一致。

可执行步骤

  • 装 LLM runner(Ollama):官网下载安装,先用自带 UI 跑通一次本地聊天。
  • 装 Docker Desktop 并保持运行,准备拉 Open WebUI 镜像。
  • 若拉镜像被 registry 拒绝:生成一个只含 read packages 权限、短有效期的 GitHub PAT,docker login ghcr.io 后重试。
  • 浏览器开 localhost:3000,注册首个(管理员)账号。
  • 先装一个小模型(如 Llama 3.1 8B 或 Phi-3)验证速度,不用的大模型及时删掉释放空间。
  • 建一个 Knowledge 知识库、上传几份 PDF,聊天里用 # 挂上验证 RAG 能否检索并标注来源。
  • 在 settings 里 enable API keys 并保存,取到 token,用 fetch 打 /api/chat/completions 跑通一次程序化调用。
  • 需要多人访问或更强算力时,再评估把 Open WebUI 迁到云服务器(留意 VPS 与 VDS 的硬件独占差异)。

关联

  • 复现:数据科学家转型AI工程师路线图 把 RAG 放进”第 4 步”作为超出模型训练数据、接入私有数据源的能力,与本片 Open WebUI 的 Knowledge 库 # 挂载检索是同一概念在自托管场景下的具体实现。

术语

  • Open WebUI(开源自托管大模型的 Web 前端,提供聊天/RAG/API 等工作流)
  • Ollama(本地 LLM 运行器/引擎,负责下载与运行开源模型)
  • LLM runner(跑模型权重的底层工具类别,如 Ollama、LM Studio、Llama.cpp)
  • RAG(检索增强生成:先从知识库检索相关片段再让 LLM 作答)
  • embedding(把文本块转成向量以做语义匹配检索)
  • chunk(文档被切成的小片段,RAG 检索的基本单位)
  • ghcr(GitHub 容器镜像仓库,拉私有/受限镜像需登录)
  • PAT(personal access token,GitHub 细粒度访问令牌)
  • VPS(虚拟专用服务器,多台共享物理硬件)
  • VDS(虚拟专用服务器的独占硬件版,消除资源共享)

立场与利益

云部署环节的 High Velocity 是本期赞助商,作者明说是 sponsor 且 description 里带优惠码(affiliate 性质)。因此”上云自托管”这段对具体服务商的推荐带利益绑定,应把它与”该不该上云”这个通用判断分开看。

不带利益的通用共识部分:引擎/前端分层、Docker 部署、ghcr 登录坑、按硬件选模型、RAG 机制、API 调用——这些换任何 VPS/VDS 厂商都成立,不依赖赞助商。

价值定位

  • 适合谁:会点命令行、想在本机或自有服务器跑开源 LLM 的开发者/独立站 builder;尤其是想给自己应用加 AI 功能又不愿长期付云 API 费的人。
  • 解决什么:给出一条可复现的端到端链路——本地 Docker 跑通 → 建 RAG 知识库 → 开 API 供应用调用 → 需要时迁云,还顺带排掉 ghcr 登录、忘保存 API key、模型过大等真实卡点。
  • 认知 vs 实操:以实操为主(照着做能落地),对自托管的架构分层也给了够用的心智模型。
  • 本片独有:把 Open WebUI 的 RAG + API + 云部署三件事在一条演示里串起来,并明确 VPS/VDS 的选配取舍;不涉及 SEO/变现方法论,是纯建造能力素材。

自检问题

  1. Open WebUI 和 Ollama 各自扮演什么角色,为什么要分开理解? 答案:Ollama 是 LLM runner(引擎),负责下载和运行模型权重;Open WebUI 是交互前端(操作台),负责聊天、RAG、API 等工作流。分清才知道模型问题查引擎、界面/功能问题查前端。见详解1。00:40
  2. 用 Docker 拉 Open WebUI 镜像被 registry 拒绝,应该怎么解决? 答案:镜像来自 GitHub 的 ghcr,需先 docker login,用户名填 GitHub 用户名、密码填只含 read packages 权限的 personal access token,登录成功后重跑拉取命令。见详解2。05:18
  3. RAG 知识库是怎么让 LLM”看懂”你上传的文档的? 答案:文档被切成 chunk 并生成 embedding 建索引;提问时把 prompt 与这些块做匹配,只召回最相关片段喂给 LLM,回答还会标注引用来源。见详解4。10:05
  4. 想让自己写的应用调用自托管模型,关键步骤是什么? 答案:在 settings 里 enable API keys 并点保存,到 account 取 token(JWT),应用侧 fetch 打 /api/chat/completions,带 Bearer token、指定 model 和 messages。见详解5。13:39
  5. VPS 和 VDS 的核心区别是什么,对跑 AI 模型有何影响? 答案:VPS 多台服务器共享物理硬件,峰值时可能相互影响;VDS 提供独占硬件资源、消除资源共享,更适合吃算力的 AI 工作负载。见详解6。16:26

💬 热门评论 top-13 主 + 3 回(抓取 2026-07-07)

[2] @Dark-Biel:视频不错,哥们!我想知道为什么通过API调用Open WebUI时,网络搜索(或其他工具)不工作。虽然通过网页聊天发送请求时搜索正常,但同样的提示词通过Open WebUI API端点发送时,总是被转发到LLM的记忆中。 👍 1 [3] @adventurer2395:6:54,为什么我需要注册或输入邮箱?我以为这是关于完全本地运行、保护隐私的? 👍 2 [7] @CubeRhinoDev:你的电脑配置是什么?或者对于3090你有什么推荐? [8] @yashsolanki069:这是一个绝对惊人的使用AI的方式。只是有一个问题,我们需要同时托管Ollama吗?还是只需要自托管Open WebUI? 👍 1 ——其他 8 条:感谢/夸赞([1]@HivelocityNet、[4]@adventurer2395、[5]@romanlunin386、[6]@FelixOrina8、[9]@ScarlettDanger、[10]@walidbeji、[12]@bufuCS、[13]@HicHic-x3k);1 条 spam 已略

英文原文[1] @HivelocityNet:This is such a solid breakdown of the AI self-hosting setup! The RAG walkthrough is super useful for devs getting started. Thanks for putting this together! 👍 4
  ↪ @ByteGrad(UP):Any time! 👍 1
[2] @Dark-Biel:Nice video, mate! I wonder why the web search (or any of tools) doesn't work when doing an API call to Open WebUI. Although the search works fine when doing requests via web chat, the same prompt always relays to LLM memory when using the Open WebUI API endpoint. 👍 1
[3] @adventurer2395:6:54, why do I need to sign up or enter an email? I thought this was about running everything locally with full privacy? 👍 2
[4] @adventurer2395:You have a gift for being concise 👏 👍 2
[5] @romanlunin386:Thank you, this is the most comprehensive guide to self-hosted solution, right what I was looking for! 👍 1
[6] @FelixOrina8:Amazing video, learnt alot in just 20 mins 👍 2
[7] @CubeRhinoDev:what is your computer build? or what would you recommend for a 3090?
[8] @yashsolanki069:This is an absolutely amazing way to use ai. just one question tho, do we need to host oolama as well or it's just openwebUI we need to self host? 👍 1
[9] @ScarlettDanger:Thank you! 👍 1
[10] @walidbeji:great content! 👍 1
[11] @VthePeople4156:Hi...bro please teach git - GitHub- cloud - terraform- jenkins - docker k8s - monitoring- grafana .. Like python and SQL tutorial... 👍 2
  ↪ @VthePeople4156:Please reply bro 👍 1
[12] @bufuCS:banger 👍 1
[13] @HicHic-x3k:lütfen türkçe dublaj seçeneğini de göz ardı etmeyin...
  ↪ @BeratKokcu-d7d:learn english brother :D kral sencede dil öğrenmen gerek değil mi 👍 2