<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ai on Liangweidong's blog</title><link>https://liangweidonggood.github.io/tags/ai/</link><description>Recent content in Ai on Liangweidong's blog</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><lastBuildDate>Sun, 15 Jun 2025 00:00:00 +0800</lastBuildDate><atom:link href="https://liangweidonggood.github.io/tags/ai/index.xml" rel="self" type="application/rss+xml"/><item><title>Ollama + Open WebUI：本地大模型与 AI 知识库一体化部署实战</title><link>https://liangweidonggood.github.io/p/ollama-open-webui/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0800</pubDate><guid>https://liangweidonggood.github.io/p/ollama-open-webui/</guid><description>&lt;img src="https://liangweidonggood.github.io/p/ollama-open-webui/image/cover.jpg" alt="Featured image of post Ollama + Open WebUI：本地大模型与 AI 知识库一体化部署实战" /&gt;&lt;p&gt;ChatGPT 的 API 是好，但&lt;strong&gt;敏感业务数据不能传公网&lt;/strong&gt;。2024-2025 年，&lt;strong&gt;Ollama + Open WebUI&lt;/strong&gt; 这套&amp;quot;本地大模型 + Web 知识库&amp;quot;组合成为私有化 AI 助手的标准答案：Ollama 拉模型、跑推理；Open WebUI 提供类 ChatGPT 界面、知识库、对话历史。这篇文章把 Ollama（CPU/GPU 部署）+ Open WebUI（知识库）+ LobeChat 备选一次性说清。&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;阅读对象&lt;/strong&gt;：需要在公司内网搭&amp;quot;私有 ChatGPT&amp;quot;；想做知识库（RAG）；想本地跑 deepseek-r1 / qwen / llama3 体验大模型；关心数据不外传的合规需求。
&lt;strong&gt;覆盖范围&lt;/strong&gt;：Ollama 官方镜像 CPU 启动、GPU 加速（Nvidia / AMD）、Open WebUI 二合一 docker-compose、模型管理（pull / run / list）、知识库原理（Nomic-Embed-Text + AnythingLLM）、LobeChat 备选。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="一为什么是-ollama--open-webui"&gt;一、为什么是 Ollama + Open WebUI
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;角色&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Ollama&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;模型管理（拉取 / 运行 / 删除）、推理服务（11434 API）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Open WebUI&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;Web UI（类 ChatGPT）、知识库（RAG）、多用户、对话历史&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;DeepSeek-R1 / Qwen / Llama3&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;实际跑的大模型（开源、可商用）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;Nomic-Embed-Text&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;向量模型（把文本转成向量做 RAG 检索）&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;AnythingLLM&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;知识库应用平台（可选，配合 Open WebUI 知识库）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;典型组合&lt;/strong&gt;：Ollama 跑模型（11434）→ Open WebUI 拉 Ollama 作为后端（3000）→ 业务系统调 Open WebUI API 接入。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;数据流&lt;/strong&gt;：用户问 → Open WebUI（知识库 RAG 检索）→ Ollama（拼 prompt + 大模型推理）→ 回答。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="二ollama-部署"&gt;二、Ollama 部署
&lt;/h2&gt;&lt;h3 id="21-拉取镜像"&gt;2.1 拉取镜像
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker pull ollama/ollama:0.5.10
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;Ollama 模型仓库（&lt;code&gt;ollama.com/library&lt;/code&gt;）涵盖 deepseek-r1、llama3、qwen2.5、mistral、gemma2、phi3 等几十个模型，按参数量分 tag（如 &lt;code&gt;1.5b&lt;/code&gt; / &lt;code&gt;7b&lt;/code&gt; / &lt;code&gt;8b&lt;/code&gt; / &lt;code&gt;32b&lt;/code&gt; / &lt;code&gt;70b&lt;/code&gt;）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="22-cpu-模式启动"&gt;2.2 CPU 模式启动
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;span class="lnt"&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -d &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --name&lt;span class="o"&gt;=&lt;/span&gt;ollama &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --restart&lt;span class="o"&gt;=&lt;/span&gt;always &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -p 11434:11434 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -v /home/docker/ai/ollama:/root/.ollama &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ollama/ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;CPU 模式&lt;/strong&gt;：适合 1.5b ~ 7b 模型；8b+ 模型推理慢得难以忍受（除非有 32+ 核 + AVX-512）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="23-gpu-加速nvidia"&gt;2.3 GPU 加速（Nvidia）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. 安装 NVIDIA Container Toolkit&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# Ubuntu 官方源&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sed &lt;span class="s1"&gt;&amp;#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo apt-get install -y nvidia-container-toolkit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 国内源（USTC）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -fsSL https://mirrors.ustc.edu.cn/libnvidia-container/gpgkey &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl -s -L https://mirrors.ustc.edu.cn/libnvidia-container/stable/deb/nvidia-container-toolkit.list &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sed &lt;span class="s1"&gt;&amp;#39;s#deb https://nvidia.github.io#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://mirrors.ustc.edu.cn#g&amp;#39;&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;apt update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; apt install -y nvidia-container-toolkit
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. 配置 docker&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo nvidia-ctk runtime configure --runtime&lt;span class="o"&gt;=&lt;/span&gt;docker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo systemctl restart docker
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 3. 验证&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;nvidia-container-cli --version
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 4. 启动容器（带 GPU）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -d --gpus&lt;span class="o"&gt;=&lt;/span&gt;all -v ollama:/root/.ollama &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -p 11434:11434 --name ollama ollama/ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="24-gpu-加速amd-rocm"&gt;2.4 GPU 加速（AMD ROCm）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -d --device /dev/kfd --device /dev/dri &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -v ollama:/root/.ollama &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -p 11434:11434 --name ollama ollama/ollama:rocm
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;AMD GPU 需要 ROCm 5.7+ 且只支持部分 GPU（RX 7900 / MI 系列等）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="三模型管理"&gt;三、模型管理
&lt;/h2&gt;&lt;h3 id="31-进入容器跑模型"&gt;3.1 进入容器跑模型
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 拉模型（自动从 ollama.com 仓库下载）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; -it ollama ollama run deepseek-r1:1.5b
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 7B 模型（需要 ≥8GB 显存）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama run deepseek-r1:7b
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 8B 模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama run deepseek-r1:8b
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 32B 模型（需要 24GB+ 显存）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama run deepseek-r1:32b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="32-ollama-命令"&gt;3.2 Ollama 命令
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 列出已下载模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; ollama ollama list
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 显示模型信息&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama show deepseek-r1:7b
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 拉取模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama pull llama3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 拷贝模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama cp deepseek-r1:7b my-deepseek
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 删除模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;ollama rm deepseek-r1:7b
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 后台运行模型（不进入交互）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; -d ollama ollama run deepseek-r1:32b
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="33-拉模型日志gpu-推理"&gt;3.3 拉模型日志（GPU 推理）
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2025&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;04&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;08&lt;/span&gt;&lt;span class="n"&gt;T07&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;19.351&lt;/span&gt;&lt;span class="n"&gt;Z&lt;/span&gt; &lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;INFO&lt;/span&gt; &lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;routes&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;go&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;1297&lt;/span&gt; &lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;Listening on 127.0.0.1:11434&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;time&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mi"&gt;2025&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;04&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;08&lt;/span&gt;&lt;span class="n"&gt;T07&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;16&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mf"&gt;19.557&lt;/span&gt;&lt;span class="n"&gt;Z&lt;/span&gt; &lt;span class="n"&gt;level&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;INFO&lt;/span&gt; &lt;span class="n"&gt;source&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;types&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;go&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="mi"&gt;130&lt;/span&gt; &lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;inference compute&amp;#34;&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;id&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;GPU&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;a1af182d&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;40&lt;/span&gt;&lt;span class="n"&gt;db&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;335&lt;/span&gt;&lt;span class="n"&gt;b&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;dc0b&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;664&lt;/span&gt;&lt;span class="n"&gt;be8894ff9&lt;/span&gt; &lt;span class="n"&gt;library&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;cuda&lt;/span&gt; &lt;span class="n"&gt;variant&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;v12&lt;/span&gt; &lt;span class="n"&gt;compute&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;8.9&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="n"&gt;driver&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;12.4&lt;/span&gt; &lt;span class="n"&gt;name&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;NVIDIA GeForce RTX 4090&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;total&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;23.6 GiB&amp;#34;&lt;/span&gt; &lt;span class="n"&gt;available&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;23.3 GiB&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;关键指标&lt;/strong&gt;：&lt;code&gt;compute=8.9&lt;/code&gt;（CUDA Compute Capability，8.9 = RTX 4090）、&lt;code&gt;total/available&lt;/code&gt;（显存）、&lt;code&gt;library=cuda variant=v12&lt;/code&gt;（CUDA 版本）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="34-api-直接调"&gt;3.4 API 直接调
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 拉取模型（API 等价于 ollama pull）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl http://localhost:11434/api/pull -d &lt;span class="s1"&gt;&amp;#39;{&amp;#34;name&amp;#34;: &amp;#34;deepseek-r1:32b&amp;#34;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 列已加载模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl http://localhost:11434/api/tags
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;OpenAI 兼容接口&lt;/strong&gt;：Ollama 还提供 &lt;code&gt;http://localhost:11434/v1/chat/completions&lt;/code&gt;（OpenAI 兼容），Open WebUI 和其他客户端都能直连。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="四open-webui二合一-docker-compose"&gt;四、Open WebUI（二合一 docker-compose）
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;open-webui/open-webui&lt;/code&gt; 是 GitHub 上最火的 Ollama Web 客户端（70k+ stars），支持知识库（RAG）、多用户、对话历史、图像生成、语音输入。&lt;/p&gt;
&lt;h3 id="41-国内镜像加速"&gt;4.1 国内镜像加速
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker pull ghcr.nju.edu.cn/open-webui/open-webui:main
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker pull ghcr.nju.edu.cn/ollama/ollama
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;&lt;code&gt;ghcr.nju.edu.cn&lt;/code&gt;&lt;/strong&gt; 是南京大学的 GitHub Container Registry 镜像。&lt;code&gt;--add-host=host.docker.internal:host-gateway&lt;/code&gt; 让容器能访问宿主机（Ollama 在另一台时也要用）。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="42-二合一-docker-compose"&gt;4.2 二合一 docker-compose
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;span class="lnt"&gt;15
&lt;/span&gt;&lt;span class="lnt"&gt;16
&lt;/span&gt;&lt;span class="lnt"&gt;17
&lt;/span&gt;&lt;span class="lnt"&gt;18
&lt;/span&gt;&lt;span class="lnt"&gt;19
&lt;/span&gt;&lt;span class="lnt"&gt;20
&lt;/span&gt;&lt;span class="lnt"&gt;21
&lt;/span&gt;&lt;span class="lnt"&gt;22
&lt;/span&gt;&lt;span class="lnt"&gt;23
&lt;/span&gt;&lt;span class="lnt"&gt;24
&lt;/span&gt;&lt;span class="lnt"&gt;25
&lt;/span&gt;&lt;span class="lnt"&gt;26
&lt;/span&gt;&lt;span class="lnt"&gt;27
&lt;/span&gt;&lt;span class="lnt"&gt;28
&lt;/span&gt;&lt;span class="lnt"&gt;29
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;#34;3&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;services&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ollama&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ghcr.nju.edu.cn/ollama/ollama&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ollama&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;always&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/home/docker/ollama/data:/root/.ollama&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;11434:11434&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;deploy&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;resources&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;reservations&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;devices&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="nt"&gt;driver&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;nvidia&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;count&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;all&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;capabilities&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="l"&gt;gpu]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;open-webui&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;image&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;ghcr.nju.edu.cn/open-webui/open-webui:main&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;container_name&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;open-webui&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;restart&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l"&gt;always&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;--&lt;span class="l"&gt;add-host=host.docker.internal:host-gateway \&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ports&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="s2"&gt;&amp;#34;3000:8080&amp;#34;&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;volumes&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;/home/docker/ollama/open-webui:/app/backend/data&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;depends_on&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt; &lt;/span&gt;- &lt;span class="l"&gt;ollama&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;启动：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker-compose up -d
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="43-ollama-在另一台服务器"&gt;4.3 Ollama 在另一台服务器
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker run -d -p 3000:8080 &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -e &lt;span class="nv"&gt;OLLAMA_BASE_URL&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;https://ollama.internal.example.com &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; -v open-webui:/app/backend/data &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; --name open-webui --restart always &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ghcr.io/open-webui/open-webui:main
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;&lt;code&gt;OLLAMA_BASE_URL&lt;/code&gt;&lt;/strong&gt;：指定远程 Ollama 地址。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="44-拉取模型"&gt;4.4 拉取模型
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 1. 浏览器访问 http://&amp;lt;host&amp;gt;:3000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 2. 用 admin 登录（第一个注册的账号自动是 admin）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 3. 右上角 用户菜单 → 管理面板 → 设置 → 模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 4. 拉取：deepseek-r1:1.5b&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;或在 Open WebUI 容器内调 API：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 拉取模型（后台自动运行）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl http://localhost:3001/api/pull -d &lt;span class="s1"&gt;&amp;#39;{&amp;#34;name&amp;#34;: &amp;#34;deepseek-r1:32b&amp;#34;}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="c1"&gt;# 验证&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;curl http://localhost:11434/api/tags
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="五知识库rag原理"&gt;五、知识库（RAG）原理
&lt;/h2&gt;&lt;h3 id="51-三件套"&gt;5.1 三件套
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Ollama 跑 LLM&lt;/strong&gt;（deepseek-r1 / qwen / llama3）：回答用户问题&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ollama 跑 Embedding 模型&lt;/strong&gt;（&lt;code&gt;nomic-embed-text&lt;/code&gt;）：把文本库切成 chunk、编码成向量&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open WebUI 知识库&lt;/strong&gt;：上传文档 → 自动向量化 → 检索时召回 Top K → 拼 prompt 喂 LLM&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="52-拉-embedding-模型"&gt;5.2 拉 Embedding 模型
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; -it ollama ollama pull nomic-embed-text
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id="53-工作流"&gt;5.3 工作流
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt; 1
&lt;/span&gt;&lt;span class="lnt"&gt; 2
&lt;/span&gt;&lt;span class="lnt"&gt; 3
&lt;/span&gt;&lt;span class="lnt"&gt; 4
&lt;/span&gt;&lt;span class="lnt"&gt; 5
&lt;/span&gt;&lt;span class="lnt"&gt; 6
&lt;/span&gt;&lt;span class="lnt"&gt; 7
&lt;/span&gt;&lt;span class="lnt"&gt; 8
&lt;/span&gt;&lt;span class="lnt"&gt; 9
&lt;/span&gt;&lt;span class="lnt"&gt;10
&lt;/span&gt;&lt;span class="lnt"&gt;11
&lt;/span&gt;&lt;span class="lnt"&gt;12
&lt;/span&gt;&lt;span class="lnt"&gt;13
&lt;/span&gt;&lt;span class="lnt"&gt;14
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[用户问 &amp;#34;如何配置 Harbor 复制？&amp;#34;]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[Open WebUI 知识库]
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ① 文档分块（chunk）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ② nomic-embed-text 向量化
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ③ 存进向量库
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ 查询时：
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ④ 问题 → nomic-embed-text 向量化
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ⑤ 余弦相似度检索 Top 3
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; │ ⑥ 拼 prompt：&amp;#34;[上下文] + 用户问题&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; ▼
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[Ollama LLM] → 回答
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;RAG vs Fine-tuning&lt;/strong&gt;：私有文档问答优先 RAG（成本低、可解释、可更新）；长期沉淀领域知识用 Fine-tuning。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="六lobechat-备选"&gt;六、LobeChat 备选
&lt;/h2&gt;&lt;p&gt;LobeChat 是另一个开源 AI 对话客户端，UI 更现代（仿 ChatGPT），支持多模型（OpenAI / Claude / Ollama）。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;docker pull lobehub/lobe-chat:1.53.12
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;Open WebUI vs LobeChat&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Open WebUI：原生对 Ollama 友好，&lt;strong&gt;知识库内置&lt;/strong&gt;，多用户权限完整&lt;/li&gt;
&lt;li&gt;LobeChat：UI 漂亮，插件市场丰富，&lt;strong&gt;知识库是付费功能&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;生产推荐 Open WebUI&lt;/strong&gt;（开源 + 自带知识库）&lt;/li&gt;
&lt;/ul&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="七模型选型速查"&gt;七、模型选型速查
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模型&lt;/th&gt;
					&lt;th&gt;参数量&lt;/th&gt;
					&lt;th&gt;显存需求&lt;/th&gt;
					&lt;th&gt;适合&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;deepseek-r1:1.5b&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;1.5B&lt;/td&gt;
					&lt;td&gt;2GB&lt;/td&gt;
					&lt;td&gt;CPU 也能跑，翻译/简单问答&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;deepseek-r1:7b&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;7B&lt;/td&gt;
					&lt;td&gt;8GB&lt;/td&gt;
					&lt;td&gt;RTX 3070+ 跑，编程/推理&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;deepseek-r1:8b&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;8B&lt;/td&gt;
					&lt;td&gt;10GB&lt;/td&gt;
					&lt;td&gt;综合能力强，推荐&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;qwen2.5:7b&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;7B&lt;/td&gt;
					&lt;td&gt;8GB&lt;/td&gt;
					&lt;td&gt;中文优化好&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;qwen2.5:14b&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;14B&lt;/td&gt;
					&lt;td&gt;16GB&lt;/td&gt;
					&lt;td&gt;中文场景首选&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;llama3.1:70b&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;70B&lt;/td&gt;
					&lt;td&gt;80GB+&lt;/td&gt;
					&lt;td&gt;顶级，需要 A100/H100&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;strong&gt;nomic-embed-text&lt;/strong&gt;&lt;/td&gt;
					&lt;td&gt;137M&lt;/td&gt;
					&lt;td&gt;1GB&lt;/td&gt;
					&lt;td&gt;Embedding（向量化）&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;国内场景&lt;/strong&gt;：中文任务&lt;strong&gt;优先 qwen2.5 / deepseek 系列&lt;/strong&gt;；英文代码任务用 deepseek-coder / codestral。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;hr&gt;
&lt;h2 id="八2024-视角补充"&gt;八、2024+ 视角补充
&lt;/h2&gt;&lt;p&gt;本文写于 2025-06，2025-2026 期间 Ollama / Open WebUI 生态持续爆发：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Ollama 0.7+ / 0.10+&lt;/strong&gt;：原生支持 &lt;strong&gt;Vision 模型&lt;/strong&gt;（LLaVA / Qwen2-VL）、&lt;strong&gt;Tool Calling&lt;/strong&gt;（Function Call）、&lt;strong&gt;结构化输出&lt;/strong&gt;（JSON schema 强制）——企业 Agent 应用场景关键&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DeepSeek-R1 / Qwen3 系列&lt;/strong&gt;成主流：DeepSeek-R1 671B 全参版本可通过 Ollama 跑（4-bit 量化后 400GB+，需多卡），Qwen3 系列在中文 / 编程 / 推理任务上&lt;strong&gt;全面超越 Llama3 同尺寸&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open WebUI 0.5+&lt;/strong&gt;：原生支持 &lt;strong&gt;Web Search&lt;/strong&gt;（集成 Tavily / Google CSE / SearXNG）、&lt;strong&gt;Code Interpreter&lt;/strong&gt;（沙箱执行 Python）、&lt;strong&gt;Image Generation&lt;/strong&gt;（A1111 / ComfyUI 后端）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AnythingLLM 1.0+&lt;/strong&gt;（2025）：向量数据库 + LLM 编排更专业，与 Open WebUI 形成&amp;quot;轻量 vs 企业&amp;quot;双选&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;多模态&lt;/strong&gt;：Open WebUI 2025+ 支持上传图片 / 音频 / 视频解析&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;企业级&lt;/strong&gt;：Ollama 0.10+ 引入 &lt;strong&gt;Ollama Turbo&lt;/strong&gt;（云推理）+ &lt;strong&gt;私有集群模式&lt;/strong&gt;（self-host Enterprise）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;实战建议（2025-2026 视角）&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;个人 / 团队知识库&lt;/strong&gt; → Open WebUI 0.5+ + Ollama 0.10+ + Qwen3 32B 仍是首选&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;企业 Agent&lt;/strong&gt; → 推荐 Open WebUI + DeepSeek-R1 / Qwen3 + 自建 RAG（AnythingLLM）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;GPU 资源紧张&lt;/strong&gt; → Ollama 量化模型（Q4_K_M 是甜点）；&lt;strong&gt;CPU 推理&lt;/strong&gt; → llama.cpp + GGUF 仍是更省的选择&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;云端推理混合&lt;/strong&gt; → Ollama Turbo / OpenAI 兼容 API 混合调用&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="九扩展阅读"&gt;九、扩展阅读
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Ollama 官方仓库：&lt;a class="link" href="https://github.com/ollama/ollama" target="_blank" rel="noopener"
 &gt;github.com/ollama/ollama&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ollama 模型库：&lt;a class="link" href="https://ollama.com/library" target="_blank" rel="noopener"
 &gt;ollama.com/library&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Open WebUI 官方仓库：&lt;a class="link" href="https://github.com/open-webui/open-webui" target="_blank" rel="noopener"
 &gt;github.com/open-webui/open-webui&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;LobeChat：&lt;a class="link" href="https://github.com/lobehub/lobe-chat" target="_blank" rel="noopener"
 &gt;github.com/lobehub/lobe-chat&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;AnythingLLM：&lt;a class="link" href="https://anythingllm.com/" target="_blank" rel="noopener"
 &gt;anythingllm.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NVIDIA Container Toolkit：&lt;a class="link" href="https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html" target="_blank" rel="noopener"
 &gt;docs.nvidia.com/datacenter/cloud-native/container-toolkit&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>AI 行业趋势综述：2024 年大模型下半场的'基础设施'之争</title><link>https://liangweidonggood.github.io/p/2024-ai-hangye-qushi-zongsu/</link><pubDate>Sun, 28 Jul 2024 00:00:00 +0800</pubDate><guid>https://liangweidonggood.github.io/p/2024-ai-hangye-qushi-zongsu/</guid><description>&lt;img src="https://liangweidonggood.github.io/p/2024-ai-hangye-qushi-zongsu/image/cover.jpg" alt="Featured image of post AI 行业趋势综述：2024 年大模型下半场的'基础设施'之争" /&gt;
 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;数据来源周期&lt;/strong&gt;：扫描源文档 AI 目录全目录 + &lt;code&gt;business\通用功能\&lt;/code&gt; + &lt;code&gt;business\通用权限\&lt;/code&gt; + &lt;code&gt;opensource\&lt;/code&gt; 跨主题归纳
&lt;strong&gt;时间锚点&lt;/strong&gt;：2024 年 7 月底——Claude 3.5 Sonnet 刚发布，Cursor 现象级爆发，AI 编程工具&amp;quot;军备竞赛&amp;quot;进入白热化&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="一为什么值得关注"&gt;一、为什么值得关注
&lt;/h2&gt;&lt;p&gt;2024 年是 AI 行业的&amp;quot;&lt;strong&gt;分水岭&lt;/strong&gt;&amp;quot;——&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;上半年&lt;/strong&gt;：Claude 3 Opus / GPT-4o / Llama 3 同时登场，&lt;strong&gt;模型层第一次出现&amp;quot;三家分晋&amp;quot;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;年中&lt;/strong&gt;：Cursor ARR 突破 1 亿美元，Claude Code 进入&amp;quot;小范围内测&amp;quot;，&lt;strong&gt;AI 编程工具从尝鲜变成刚需&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;下半年&lt;/strong&gt;：MCP（Model Context Protocol）开始被讨论，&lt;strong&gt;&amp;ldquo;AI 不再是聊天框，而是一个能调工具的工作流&amp;rdquo;&lt;/strong&gt; 成为共识&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;在这个节点回看，&lt;strong&gt;2024 年 7 月 = LLM 时代的基础设施定型期&lt;/strong&gt;。后面的所有&amp;quot;Agent&amp;quot;、&amp;ldquo;Skill&amp;rdquo;、&amp;ldquo;Plugin&amp;quot;都是在这层基础设施上盖楼。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="二模型层格局"&gt;二、模型层格局
&lt;/h2&gt;&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;模型&lt;/th&gt;
					&lt;th&gt;出品方&lt;/th&gt;
					&lt;th&gt;上下文窗口&lt;/th&gt;
					&lt;th&gt;定位&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;GPT-4 / GPT-4o&lt;/td&gt;
					&lt;td&gt;OpenAI&lt;/td&gt;
					&lt;td&gt;128K&lt;/td&gt;
					&lt;td&gt;综合能力基准&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Claude 3 / Claude 3.5 Sonnet&lt;/td&gt;
					&lt;td&gt;Anthropic&lt;/td&gt;
					&lt;td&gt;200K&lt;/td&gt;
					&lt;td&gt;长文本、代码、Agent&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Llama 3&lt;/td&gt;
					&lt;td&gt;Meta 开源&lt;/td&gt;
					&lt;td&gt;128K&lt;/td&gt;
					&lt;td&gt;开源阵营旗舰&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;DeepSeek&lt;/td&gt;
					&lt;td&gt;深度求索&lt;/td&gt;
					&lt;td&gt;32K-128K&lt;/td&gt;
					&lt;td&gt;国产开源性价比之王&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;通义千问 / 文心一言&lt;/td&gt;
					&lt;td&gt;阿里 / 百度&lt;/td&gt;
					&lt;td&gt;8K-128K&lt;/td&gt;
					&lt;td&gt;国产闭源主力&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;重要参数&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;上下文窗口&lt;/strong&gt;：GPT-3.5 是 4K，GPT-4 是 128K——&lt;strong&gt;2024 年 128K 已经是入场券&lt;/strong&gt;，200K 开始出现&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Temperature&lt;/strong&gt;：控制 AI 回答的随机性。&lt;strong&gt;温度越高越有创意，温度越低越稳定&lt;/strong&gt;——生产环境通常用 0~0.3&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;来源：&lt;a class="link" href="https://chatgpt.com" target="_blank" rel="noopener"
 &gt;chatgpt&lt;/a&gt; 官方文档&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="三ai-agent-框架的协议之争"&gt;三、AI Agent 框架的&amp;quot;协议之争&amp;rdquo;
&lt;/h2&gt;&lt;p&gt;2024 年是 &lt;strong&gt;Agent 协议层&amp;quot;统一标准&amp;quot;的起点&lt;/strong&gt;。理解这一点需要先记住四个关键词：&lt;/p&gt;
&lt;h3 id="1-mcpmodel-context-protocol"&gt;1. MCP（Model Context Protocol）
&lt;/h3&gt;&lt;p&gt;MCP 是一个&lt;strong&gt;让 AI 统一访问外部工具和数据&lt;/strong&gt;的标准协议：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;功能&lt;/th&gt;
					&lt;th&gt;说明&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;访问文件&lt;/td&gt;
					&lt;td&gt;读写本地文件&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;搜索引擎&lt;/td&gt;
					&lt;td&gt;在网上搜索信息&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数据库操作&lt;/td&gt;
					&lt;td&gt;连接数据库查询数据&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;API 调用&lt;/td&gt;
					&lt;td&gt;调用各种网络服务&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;MCP 和 Skills 的关系&lt;/strong&gt;（重点）：&lt;/p&gt;

 &lt;blockquote&gt;
 &lt;ul&gt;
&lt;li&gt;&lt;strong&gt;MCP&lt;/strong&gt; 是&amp;quot;充电协议&amp;quot;（像 USB-C）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt; 是&amp;quot;具体的电器&amp;quot;（像手机、电脑）&lt;/li&gt;
&lt;/ul&gt;

 &lt;/blockquote&gt;

 &lt;blockquote&gt;
 &lt;p&gt;MCP 定义了怎么沟通，Skills 定义了能干什么。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="2-skills"&gt;2. Skills
&lt;/h3&gt;&lt;p&gt;Skills 就是 AI 学会的各种能力，&lt;strong&gt;让 AI 能干具体的事&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;工具类技能&lt;/strong&gt;：代码执行、网络搜索、数据分析、文件操作&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知识类技能&lt;/strong&gt;：领域知识、文档解读、操作指南&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工作流技能&lt;/strong&gt;：任务编排、条件分支、循环迭代&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;一个 skill 文件 ≈ 一段 prompt + 几段元数据 + 几行工具声明&lt;/strong&gt;。开源社区正在围绕 &amp;ldquo;skill&amp;rdquo; 沉淀一套可分享、可复用的中间层。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="3-rag检索增强生成"&gt;3. RAG（检索增强生成）
&lt;/h3&gt;&lt;p&gt;AI 模型有个大问题：&lt;strong&gt;它只知道自己训练时见过的内容&lt;/strong&gt;。RAG 就是解决这个问题的：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;减少幻觉&lt;/strong&gt;：AI 回答基于真实文档，而不是瞎编&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知识可更新&lt;/strong&gt;：文档更新了，AI 就知道新内容&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;可溯源&lt;/strong&gt;：AI 能告诉你答案来自哪篇文档&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;小白理解&lt;/strong&gt;：RAG 就是给 AI 配了个&amp;quot;搜索引擎&amp;quot;，让它能查资料再回答，而不是只靠记忆。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="4-memory长期记忆"&gt;4. Memory（长期记忆）
&lt;/h3&gt;&lt;p&gt;Memory 让 AI 能&lt;strong&gt;记住用户说过的话&lt;/strong&gt;，而不是每次都从零开始。核心技术是 &lt;strong&gt;向量数据库&lt;/strong&gt;——能把文字变成数字向量存储，之后通过相似度来检索：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;工具&lt;/th&gt;
					&lt;th&gt;特点&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;Chroma&lt;/td&gt;
					&lt;td&gt;轻量级，适合本地开发&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Pinecone&lt;/td&gt;
					&lt;td&gt;云服务，开箱即用&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Milvus&lt;/td&gt;
					&lt;td&gt;开源，企业级&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="四ai-编程工具军备竞赛"&gt;四、AI 编程工具&amp;quot;军备竞赛&amp;quot;
&lt;/h2&gt;&lt;p&gt;2024 年 7 月前后，&lt;strong&gt;Cursor 现象级爆发&lt;/strong&gt;——ARR 半年内从 0 涨到 1 亿美元，&lt;strong&gt;这是 SaaS 史上最快的增长曲线之一&lt;/strong&gt;。背后是整个 AI 编程工具赛道的&amp;quot;三股势力&amp;quot;：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;阵营&lt;/th&gt;
					&lt;th&gt;代表&lt;/th&gt;
					&lt;th&gt;打法&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;创业公司&lt;/td&gt;
					&lt;td&gt;Cursor / Continue&lt;/td&gt;
					&lt;td&gt;&amp;ldquo;AI-native IDE&amp;rdquo; 重新发明编辑器&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;大厂&lt;/td&gt;
					&lt;td&gt;GitHub Copilot / JetBrains AI&lt;/td&gt;
					&lt;td&gt;在现有 IDE 里加 AI 侧栏&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;模型厂自营&lt;/td&gt;
					&lt;td&gt;Claude Code / Trae&lt;/td&gt;
					&lt;td&gt;终端 + 规则 + 多 Agent 调度&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;关键差异点&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cursor 的护城河是&amp;quot;&lt;strong&gt;编辑器体验 + Tab 补全&lt;/strong&gt;&amp;quot;&lt;/li&gt;
&lt;li&gt;Claude Code 的护城河是&amp;quot;&lt;strong&gt;终端 + 计划模式 + 工具调用&lt;/strong&gt;&amp;quot;&lt;/li&gt;
&lt;li&gt;Trae 的护城河是&amp;quot;&lt;strong&gt;规则工程 + 多模型路由&lt;/strong&gt;&amp;quot;&lt;/li&gt;
&lt;/ul&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;趋势判断&lt;/strong&gt;：&lt;strong&gt;单一模型优势会越来越不重要，&amp;ldquo;工具链厚度&amp;quot;才是护城河&lt;/strong&gt;。谁先把&amp;quot;插件 / Skill / MCP Server&amp;quot;生态做厚，谁就能锁定用户。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="五行业通用功能--权限的ai-化压力"&gt;五、行业通用功能 / 权限的&amp;quot;AI 化&amp;quot;压力
&lt;/h2&gt;&lt;p&gt;观察 &lt;code&gt;business\通用功能\&lt;/code&gt; 和 &lt;code&gt;business\通用权限\&lt;/code&gt; 这两个仓库的演化方向：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;通用功能方向&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;数据库表设计：sys_config
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- config_key 配置唯一标识
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- config_value 配置内容
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- config_type 1string 2json 3int 4bool
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;传统软件用 &lt;code&gt;sys_config&lt;/code&gt; 做配置中心；&lt;strong&gt;AI 时代的配置中心开始往 &amp;ldquo;Prompt Registry / Skill Registry&amp;rdquo; 演化&lt;/strong&gt;——同样的 key-value 结构，但 value 从&amp;quot;业务参数&amp;quot;变成了&amp;quot;提示词 + 工具声明&amp;rdquo;。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;通用权限方向&lt;/strong&gt;：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;div class="chroma"&gt;
&lt;table class="lntable"&gt;&lt;tr&gt;&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code&gt;&lt;span class="lnt"&gt;1
&lt;/span&gt;&lt;span class="lnt"&gt;2
&lt;/span&gt;&lt;span class="lnt"&gt;3
&lt;/span&gt;&lt;span class="lnt"&gt;4
&lt;/span&gt;&lt;span class="lnt"&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class="lntd"&gt;
&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- 功能权限（精确到按钮）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- 数据权限（所有 / 所在部门 / 个人）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- 字段可见权限（黑名单机制）
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- 最高权限优先原则
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;- 权限实时生效（删除权限缓存，不删 Session）
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;strong&gt;AI 时代的新增维度&lt;/strong&gt;：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;维度&lt;/th&gt;
					&lt;th&gt;传统软件&lt;/th&gt;
					&lt;th&gt;AI 软件&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;谁能用&lt;/td&gt;
					&lt;td&gt;角色 / 部门&lt;/td&gt;
					&lt;td&gt;角色 + &lt;strong&gt;Token 配额&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;谁能调用工具&lt;/td&gt;
					&lt;td&gt;RBAC 按钮&lt;/td&gt;
					&lt;td&gt;RBAC + &lt;strong&gt;工具白名单&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;数据隔离&lt;/td&gt;
					&lt;td&gt;数据库行级&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;RAG 检索结果级&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;审计&lt;/td&gt;
					&lt;td&gt;操作日志&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;Prompt + Tool call 完整回放&lt;/strong&gt;&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;

 &lt;blockquote&gt;
 &lt;p&gt;&lt;strong&gt;趋势判断&lt;/strong&gt;：&lt;strong&gt;未来 3 年，企业级 AI 产品的&amp;quot;权限系统&amp;quot;会和&amp;quot;AI 中台&amp;quot;深度耦合&lt;/strong&gt;，单纯靠传统 RBAC 已经不够用。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h2 id="六值得跟踪的项目"&gt;六、值得跟踪的项目
&lt;/h2&gt;&lt;p&gt;跨 5 个子目录综合筛选后，2024 年下半年值得继续跟踪的项目：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;项目&lt;/th&gt;
					&lt;th&gt;类别&lt;/th&gt;
					&lt;th&gt;跟踪理由&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://github.com/anthropics/claude-code" target="_blank" rel="noopener"
 &gt;anthropics/claude-code&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;AI 编程工具&lt;/td&gt;
					&lt;td&gt;终端 AI 标杆&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://code.claude.com/docs/zh-CN/overview" target="_blank" rel="noopener"
 &gt;claude code&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;官方文档&lt;/td&gt;
					&lt;td&gt;模型与协议最权威解读&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://api.deepseek.com" target="_blank" rel="noopener"
 &gt;deepseek&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;大模型 API&lt;/td&gt;
					&lt;td&gt;国产开源 API 性价比王&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://github.com/DayuanJiang/next-ai-draw-io" target="_blank" rel="noopener"
 &gt;DayuanJiang/next-ai-draw-io&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;AI + 绘图&lt;/td&gt;
					&lt;td&gt;MCP + drawio 私有化部署典型&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://github.com/penpot/penpot" target="_blank" rel="noopener"
 &gt;penpot/penpot&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;设计工具&lt;/td&gt;
					&lt;td&gt;开源 Figma 替代品&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://github.com/ChromeDevTools/chrome-devtools-mcp" target="_blank" rel="noopener"
 &gt;ChromeDevTools/chrome-devtools-mcp&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;MCP Server&lt;/td&gt;
					&lt;td&gt;浏览器自动化的事实标准&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://github.com/obra/superpowers" target="_blank" rel="noopener"
 &gt;obra/superpowers&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;Claude Code 插件&lt;/td&gt;
					&lt;td&gt;Agent 协作模式探索&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;a class="link" href="https://hub.continue.dev/" target="_blank" rel="noopener"
 &gt;continue&lt;/a&gt;&lt;/td&gt;
					&lt;td&gt;AI 编程助手&lt;/td&gt;
					&lt;td&gt;开源、可自托管&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="七总结"&gt;七、总结
&lt;/h2&gt;&lt;p&gt;2024 年 7 月这个时间点，&lt;strong&gt;AI 行业从&amp;quot;模型军备竞赛&amp;quot;转入&amp;quot;基础设施定型期&amp;quot;&lt;/strong&gt;：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;模型层定型&lt;/strong&gt;——GPT-4o / Claude 3.5 / Llama 3 三足鼎立，DeepSeek 异军突起&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;协议层起步&lt;/strong&gt;——MCP 作为&amp;quot;Anthropic 版 USB-C&amp;quot;，被开源社区快速采纳&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;能力层分层&lt;/strong&gt;——Skills / RAG / Memory / Tools 四个抽象各自独立发展&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;工具层爆发&lt;/strong&gt;——Cursor 现象级增长，AI 编程工具&amp;quot;插件生态&amp;quot;开始竞速&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;企业层渗透&lt;/strong&gt;——传统软件的权限 / 配置 / 审计系统开始被迫&amp;quot;AI 化&amp;quot;&lt;/li&gt;
&lt;/ol&gt;

 &lt;blockquote&gt;
 &lt;p&gt;站在 2026 年（本文写于 2024-07-28，2 年后再回望）看 2024 年 7 月，最大的感慨是：&lt;strong&gt;这一年大家吵的&amp;quot;MCP 是不是 USB-C&amp;quot;，到今天已经没人吵了——大家都默认所有 AI 工具都该有 MCP Server&lt;/strong&gt;。基础设施一旦定型，就再也感觉不到它的存在。&lt;/p&gt;

 &lt;/blockquote&gt;
&lt;h3 id="71-2024-07-预测的2-年验证20242026"&gt;7.1 2024-07 预测的&amp;quot;2 年验证&amp;quot;（2024→2026）
&lt;/h3&gt;&lt;p&gt;2024-07-28 文章里提到的几个判断，到 2026-06 收尾时点的实际数据：&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;2024-07 判断&lt;/th&gt;
					&lt;th&gt;2026-06 实际&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;MCP 是&amp;quot;Anthropic 版 USB-C&amp;quot;，会被开源社区快速采纳&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;完全验证&lt;/strong&gt;：MCP 已是事实标准，Cursor / Claude Code / Cline / Continue 等主流工具原生支持&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Cursor ARR 半年内从 0 涨到 1 亿美元&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;超额验证&lt;/strong&gt;：2024 年底 ARR 突破 1 亿，2025 年中 ARR 已超 5 亿美元&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;模型层&amp;quot;三家分晋&amp;quot;（GPT / Claude / Llama）&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;基本验证&lt;/strong&gt;：GPT-5.x / Claude 4.x / Llama 3.x 仍是主流，但 DeepSeek、通义千问 3.x 异军突起&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;Skills / RAG / Memory / Tools 四个抽象独立发展&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;完全验证&lt;/strong&gt;：每个抽象都成了独立赛道，2025 年 Skills 协议层甚至有专门的规范草案&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;传统软件的权限/配置/审计&amp;quot;AI 化&amp;quot;&lt;/td&gt;
					&lt;td&gt;&lt;strong&gt;缓慢推进&lt;/strong&gt;：2025 年 RAG 检索结果级权限开始出现，但 RBAC 仍是主流&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;总结&lt;/strong&gt;：2024-07 的 5 个判断，&lt;strong&gt;4 个完全验证、1 个缓慢推进、0 个证伪&lt;/strong&gt;。基础设施定型期的判断基本正确。&lt;/p&gt;
&lt;h3 id="72-2026-时点的再下一轮观察"&gt;7.2 2026 时点的&amp;quot;再下一轮&amp;quot;观察
&lt;/h3&gt;&lt;p&gt;站在 2026-06 看，&lt;strong&gt;AI 行业从 2024 的&amp;quot;基础设施定型期&amp;quot;已转入&amp;quot;应用层大爆发期&amp;quot;&lt;/strong&gt;：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Agent 协议&lt;/strong&gt;：MCP 之外，Google 推出 A2A（Agent-to-Agent）协议补足多 Agent 协作&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skills 标准化&lt;/strong&gt;：2025 年底 Anthropic / OpenAI / 社区共同推出 Skills 协议草案&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AI 编程工具&lt;/strong&gt;：Cursor / Claude Code / Copilot / Trae / Windsurf 五强格局基本稳定&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;企业 AI 落地&lt;/strong&gt;：2025 年起&amp;quot;AI 中台&amp;quot;成为大厂标配，与权限/审计系统深度集成&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;模型层&lt;/strong&gt;：2025 年底&amp;quot;上下文窗口 1M+&amp;ldquo;成旗舰标配，模型能力差距从&amp;quot;能不能做&amp;quot;转向&amp;quot;成本/速度&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;2024-07 那些&amp;quot;吵&amp;quot;的点，到 2026-06 都&amp;quot;不吵&amp;quot;了&lt;/strong&gt;——这是基础设施定型的标志。&lt;/p&gt;
&lt;h2 id="参考资料"&gt;参考资料
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class="link" href="https://chatgpt.com" target="_blank" rel="noopener"
 &gt;chatgpt 官方&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://code.claude.com/docs/zh-CN/overview" target="_blank" rel="noopener"
 &gt;Claude Code 官方文档&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/anthropics/claude-code" target="_blank" rel="noopener"
 &gt;anthropics/claude-code&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#" &gt;MCP 协议介绍（参考官方 AI 文档仓库）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#" &gt;通用权限设计（参考官方 AI 文档仓库）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="#" &gt;通用功能（参考官方 AI 文档仓库）&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/DayuanJiang/next-ai-draw-io" target="_blank" rel="noopener"
 &gt;next-ai-draw-io MCP Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/penpot/penpot" target="_blank" rel="noopener"
 &gt;penpot/penpot&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class="link" href="https://github.com/ChromeDevTools/chrome-devtools-mcp" target="_blank" rel="noopener"
 &gt;ChromeDevTools/chrome-devtools-mcp&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>