<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>VLLM on Intellectual Guides</title><link>https://ckw19810413.github.io/tags/vllm/</link><description>Recent content in VLLM on Intellectual Guides</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><lastBuildDate>Mon, 17 Aug 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://ckw19810413.github.io/tags/vllm/index.xml" rel="self" type="application/rss+xml"/><item><title>每日研究生概念寓言故事：推測解碼 (Speculative Decoding)</title><link>https://ckw19810413.github.io/blog/speculative-decoding-fable/</link><pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate><guid>https://ckw19810413.github.io/blog/speculative-decoding-fable/</guid><description>&lt;p&gt;晚上好！為您送上今天的「每日研究生概念寓言故事」。&lt;/p&gt;
&lt;h2 id="皇家抄寫院的機靈學徒"&gt;皇家抄寫院的機靈學徒
&lt;/h2&gt;&lt;p&gt;在帝國首都的中心，皇家抄寫院正面臨著一場前所未有的危機。&lt;/p&gt;
&lt;p&gt;帝國的首席大學士「巴爾薩澤」是全天下唯一擁有足夠智慧、能夠起草神聖法典的人。他擁有過目不忘的記憶力，腦海中裝著千萬本古籍。然而，他有一個致命的缺點：他寫字實在太慢了。&lt;/p&gt;
&lt;p&gt;大學士的嚴謹到了偏執的地步。每寫下一個詞，他都要在腦海的圖書館裡翻閱無數沉重的典籍，進行深思熟慮的推敲，然後才緩慢地落筆。寫完這個詞，他再重新根據剛剛寫下的內容，去推敲下一個詞。因此，他每分鐘只能寫出一個詞。前方戰線急需新的法令，但大學士卻只能一個詞、一個詞地往外蹦。&lt;/p&gt;
&lt;p&gt;此時，抄寫院裡有一位名叫「里奧」的年輕學徒。里奧的學識遠不如大學士，腦袋裡裝的書連大學士的百分之一都不到，但他有一個優點：他反應極快，而且很會猜測大學士的心思。&lt;/p&gt;
&lt;p&gt;里奧觀察了幾天後，向大學士提出了一個大膽的建議。&lt;/p&gt;
&lt;p&gt;「大師，與其讓您每一個詞都從頭苦思冥想，不如我們換個方式工作。」里奧說，「讓我來當您的『草稿員』。我會一口氣連續猜測您接下來可能要寫的五個詞，迅速寫在石板上。然後，您再來看這塊石板。」&lt;/p&gt;
&lt;p&gt;大學士皺起眉頭：「荒唐！你學識淺薄，寫出來的詞如果錯了，會毀了法典的莊嚴！」&lt;/p&gt;
&lt;p&gt;「大師，您誤會了。」里奧笑著解釋，「您**『從無到有構思一個詞』需要花費巨大的力氣去搬運腦海中的典籍；但是，您『一眼掃過並判斷幾個詞是否符合您的心意』**，卻是極度輕鬆且快速的。如果您覺得我寫的詞沒錯，您就直接蓋章；只要發現一個詞跟您想的不一樣，您就把那個詞連同後面的字全部擦掉，親自補上正確的那個詞，然後我再根據您改的詞繼續往下猜。」&lt;/p&gt;
&lt;p&gt;大學士半信半疑地答應了。&lt;/p&gt;
&lt;p&gt;工作開始了。里奧飛快地在石板上寫下：「帝國、將、對、北方、徵稅」。&lt;/p&gt;
&lt;p&gt;大學士一眼掃過去，大腦瞬間完成了驗證，這五個詞竟然完美契合他的思路！他立刻蓋上大印。原本需要五分鐘才能熬出來的句子，現在幾秒鐘就完成了。&lt;/p&gt;
&lt;p&gt;里奧接著又飛快地寫下：「稅率、為、每年、五十、枚、金幣」。&lt;/p&gt;
&lt;p&gt;大學士看了一眼，眉頭一皺，指著第四個詞說：「不對。不是五十，是『一百』。」&lt;/p&gt;
&lt;p&gt;大學士立刻大筆一揮，把「五十、枚、金幣」全部擦掉，親筆寫下「一百」。&lt;/p&gt;
&lt;p&gt;接著，里奧看著「一百」這個詞，再次開始他快速的猜測與草稿。&lt;/p&gt;
&lt;p&gt;儘管里奧有時會猜錯，但大部分常規的句型他都能精準命中。最奇妙的是，這份法典最終呈現出來的品質與用詞，和大學士自己一個詞一個詞熬出來的結果「完全一模一樣」，沒有任何妥協，但整體起草的速度卻整整提升了好幾倍。&lt;/p&gt;
&lt;h2 id="概念揭曉推測解碼-speculative-decoding"&gt;概念揭曉：推測解碼 (Speculative Decoding)
&lt;/h2&gt;&lt;p&gt;這個故事講述的是當代大型語言模型 (LLM) 推理加速領域中，一個極為優雅且關鍵的研究生水平演算法：&lt;strong&gt;推測解碼 (Speculative Decoding)&lt;/strong&gt;，它也是現代高效能推理引擎（如 vLLM）中用來突破硬體效能瓶頸的核心技術之一。&lt;/p&gt;
&lt;p&gt;在傳統的 LLM 文字生成中，模型必須採用「自迴歸 (Autoregressive)」的方式，一個 Token 接著一個 Token 地生成。對於參數動輒數百億（如 Qwen 35B 等級）的大模型來說，每一次生成單一 Token，都需要將數十 GB 的權重從 GPU 的記憶體搬運到運算核心。這導致大模型推理的瓶頸根本不在於「算力 (Compute)」，而在於**「記憶體頻寬 (Memory Bandwidth)」**——這就像故事中大學士為了寫一個詞，必須辛苦地去搬運沉重的典籍。&lt;/p&gt;
&lt;p&gt;「推測解碼」巧妙地打破了這個僵局：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;它引入了一個參數極小、速度極快的**「草稿模型 (Draft Model)」**（學徒里奧），讓它一次性快速生成多個連續的 Token。&lt;/li&gt;
&lt;li&gt;接著，將這些生成的 Token 交給龐大且精準的**「目標模型 (Target Model)」&lt;strong&gt;（大學士）進行一次&lt;/strong&gt;平行驗證 (Parallel Verification)**。&lt;/li&gt;
&lt;li&gt;因為目標模型在「驗證」給定的 Token 時，可以充分利用 GPU 平行運算的強大算力（Compute-bound），一瞬間就能判斷這些 Token 的機率分佈是否符合自己的輸出。&lt;/li&gt;
&lt;li&gt;如果接受，就等於在一次前向傳播 (Forward Pass) 中同時生成了多個 Token；如果遇到拒絕的 Token，就在該點修正並丟棄後續猜測，重新開始。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;最令人著迷的數學特性是：透過特定的驗證拒絕採樣演算法，推測解碼可以保證最終輸出的機率分佈，與目標模型單獨、緩慢生成時的機率分佈在數學上「百分之百等價」，完全不損失生成品質。&lt;/p&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;LLM 推理概念&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;首席大學士「巴爾薩澤」&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;目標模型 (Target Model)&lt;/td&gt;
&lt;td&gt;參數龐大、精確度高的大語言模型。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;機靈學徒「里奧」&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;草稿模型 (Draft Model / Proposer)&lt;/td&gt;
&lt;td&gt;參數極小、運算極快的小語言模型（或是近期的 MTP / Medusa 等多頭預測架構）。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;搬運沉重的典籍寫字&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;記憶體頻寬限制 (Memory-bandwidth bound)&lt;/td&gt;
&lt;td&gt;傳統自迴歸生成中，搬運模型權重所造成的延遲。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;一眼掃過石板上的句子&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;平行驗證 (Parallel Verification)&lt;/td&gt;
&lt;td&gt;目標模型利用 GPU 算力優勢，在一次 Forward Pass 中同時評估多個 Token 的機率。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;蓋章同意 / 擦掉重寫&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;接受與拒絕準則 (Acceptance/Rejection Criterion)&lt;/td&gt;
&lt;td&gt;如果草稿模型的預測落在目標模型的機率容忍範圍內則接受；若不符則從錯誤點回退 (Rollback) 並由目標模型給出正確 Token。&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;品質完全沒變&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;無損生成 (Lossless Generation)&lt;/td&gt;
&lt;td&gt;推測解碼最重要的數學保證：不改變目標模型原始的輸出機率分佈。&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description></item><item><title>本地 AI 基礎設施建置指南：從 0 到 vLLM + ComfyUI 完整部署</title><link>https://ckw19810413.github.io/blog/local-ai-infrastructure-guide/</link><pubDate>Mon, 27 Jul 2026 00:00:00 +0000</pubDate><guid>https://ckw19810413.github.io/blog/local-ai-infrastructure-guide/</guid><description>&lt;h2 id="為什麼要建置本地-ai-基礎設施"&gt;為什麼要建置本地 AI 基礎設施？
&lt;/h2&gt;&lt;p&gt;2026 年，AI 工具已經成為數位創作者、開發者和企業的基礎設施。但大多數人仍然依賴雲端 API — 每次呼叫花錢、每次傳輸冒隱私風險、每次被速率限制卡住脖子。&lt;/p&gt;
&lt;p&gt;本地 AI 基礎設施給你三樣東西：&lt;strong&gt;完全的控制權、無限制的用量、零边际成本&lt;/strong&gt;。&lt;/p&gt;
&lt;p&gt;一旦建置完成，你可以：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;無限制使用 LLM，不用擔心 API 費用&lt;/li&gt;
&lt;li&gt;處理敏感資料，不用離開你的機器&lt;/li&gt;
&lt;li&gt;同時運行多個服務，沒有速率限制&lt;/li&gt;
&lt;li&gt;與 Cowork MCP 等框架整合，打造真正的 AI 代理團隊&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;這份指南假設你已經有一台帶有 GPU 的機器（推薦 DGX GB10、RTX 4090 或更好）。我會從零開始，一步步帶你建置完整的本地 AI 環境。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;你今天會學到：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;安裝和配置本地 LLM 服務（vLLM）&lt;/li&gt;
&lt;li&gt;部署 ComfyUI 圖像生成管道&lt;/li&gt;
&lt;li&gt;管理 GPU 記憶體和服務啟動順序&lt;/li&gt;
&lt;li&gt;自動化服務管理（systemd）&lt;/li&gt;
&lt;li&gt;與 Cowork MCP 整合，打造多 Agent 系統&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;我們開始吧。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="前置需求"&gt;前置需求
&lt;/h2&gt;&lt;p&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;檢查指令&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Linux&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Ubuntu 22.04+ 或 Arch&lt;/td&gt;
&lt;td&gt;&lt;code&gt;uname -a&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;GPU&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;NVIDIA RTX 3090+/4090/GB10&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nvidia-smi&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;CUDA&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 12.4&lt;/td&gt;
&lt;td&gt;&lt;code&gt;nvcc --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Docker&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 24.0&lt;/td&gt;
&lt;td&gt;&lt;code&gt;docker --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Node.js&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 20&lt;/td&gt;
&lt;td&gt;&lt;code&gt;node --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;≥ 3.10&lt;/td&gt;
&lt;td&gt;&lt;code&gt;python3 --version&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;如果你的 GPU 記憶體不足 24GB，建議關閉不必要的圖形介面或服務再開始。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="步驟-1安裝-docker-和-nvidia-container-toolkit"&gt;步驟 1：安裝 Docker 和 NVIDIA Container Toolkit
&lt;/h2&gt;&lt;p&gt;Docker 是部署本地 AI 服務的推薦方式，因為它能隔離依賴、版本衝突和系統污染。&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安裝 Docker&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y docker.io docker-compose-v2
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安裝 NVIDIA Container Toolkit（讓 Docker 可以使用 GPU）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;distribution&lt;span style="color:#f92672"&gt;=&lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;. /etc/os-release;echo $ID$VERSION_ID&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -s -L https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | sed &lt;span style="color:#e6db74"&gt;&amp;#39;s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g&amp;#39;&lt;/span&gt; | sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo apt install -y nvidia-container-toolkit
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo nvidia-ctk runtime configure --runtime&lt;span style="color:#f92672"&gt;=&lt;/span&gt;docker
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;驗證 GPU 可用性：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run --rm --gpus all nvidia/cuda:12.4.0-base-ubuntu22.04 nvidia-smi
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果看到 GPU 資訊和記憶體使用率，就代表環境設定正確。&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id="步驟-2部署-vllm-本地語言模型"&gt;步驟 2：部署 vLLM 本地語言模型
&lt;/h2&gt;&lt;p&gt;vLLM 是當前最高效的本地 LLM 推理框架，支援多種模型格式（GGUF、GPTQ、AWQ）。&lt;/p&gt;
&lt;h3 id="21-使用-docker-部署"&gt;2.1 使用 Docker 部署
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --name vllm-server &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --gpus all &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -p 8000:8000 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v ~/.cache/huggingface:/root/.cache/huggingface &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; vllm/vllm-openai:latest &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --model &lt;span style="color:#e6db74"&gt;&amp;#34;nvidia/Llama-3.1-Nemotron-70B-Instruct&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --gpu-memory-utilization 0.9 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --max-model-len &lt;span style="color:#ae81ff"&gt;8192&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;strong&gt;引數說明：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--model&lt;/code&gt;: 要部署的模型（可替換為任何 HuggingFace 模型）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--gpu-memory-utilization&lt;/code&gt;: 使用 GPU 記憶體的比例（0.9 表示 90%）&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--max-model-len&lt;/code&gt;: 最大上下文長度&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;注意：&lt;/strong&gt; 如果你的 GPU 記憶體小於 80GB，建議從較小的模型開始（7B 或 13B），然後再嘗試更大的模型。&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id="22-測試-api-端點"&gt;2.2 測試 API 端點
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;curl -X POST http://localhost:8000/v1/completions &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -H &lt;span style="color:#e6db74"&gt;&amp;#34;Content-Type: application/json&amp;#34;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -d &lt;span style="color:#e6db74"&gt;&amp;#39;{
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;model&amp;#34;: &amp;#34;nvidia/Llama-3.1-Nemotron-70B-Instruct&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;prompt&amp;#34;: &amp;#34;解釋什麼是多 Agent AI 系統&amp;#34;,
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; &amp;#34;max_tokens&amp;#34;: 200
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt; }&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果收到回應，vLLM 已經成功部署。&lt;/p&gt;
&lt;h3 id="23-設定為系統服務自動啟動"&gt;2.3 設定為系統服務（自動啟動）
&lt;/h3&gt;&lt;p&gt;創建 systemd 服務檔案：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo tee /etc/systemd/system/vllm.service &lt;span style="color:#e6db74"&gt;&amp;lt;&amp;lt; &amp;#39;EOF&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Unit]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Description=vLLM Local LLM Server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;After=docker.service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Requires=docker.service
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Service]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;Type=oneshot
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;RemainAfterExit=yes
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;ExecStart=/usr/bin/docker start vllm-server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;ExecStop=/usr/bin/docker stop vllm-server
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;[Install]
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;WantedBy=multi-user.target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#e6db74"&gt;EOF&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;啟用並啟動服務：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl daemon-reload
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl enable vllm.service
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl start vllm.service
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="步驟-3部署-comfyui-圖像生成"&gt;步驟 3：部署 ComfyUI 圖像生成
&lt;/h2&gt;&lt;p&gt;ComfyUI 是當前最強大的本地圖像生成工具，支援 Flux、Stable Diffusion、LTX 等各種模型。&lt;/p&gt;
&lt;h3 id="31-使用-docker-部署"&gt;3.1 使用 Docker 部署
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker run -d &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --name comfyui &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; --gpus all &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -p 8188:8188 &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v ~/.cache/huggingface:/root/.cache/huggingface &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; -v ~/comfyui-output:/output &lt;span style="color:#ae81ff"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ghcr.io/ai-forest/comfyui:latest
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;這會在 &lt;code&gt;http://localhost:8188&lt;/code&gt; 啟動 ComfyUI。&lt;/p&gt;
&lt;h3 id="32-手動安裝進階選項"&gt;3.2 手動安裝（進階選項）
&lt;/h3&gt;&lt;p&gt;如果你需要更多控制，可以選擇手動安裝：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 複製 ComfyUI 倉庫&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd ~/comfyui
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/comfyanonymous/ComfyUI.git
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;cd ComfyUI
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安裝依賴&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install -r requirements.txt
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 安裝自訂節點（可選）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/Fannovel16/ComfyUI-Frame-Interpolation.git custom_nodes/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;git clone https://github.com/laksjdjoy/deforum-comfy.git custom_nodes/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 啟動服務&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;python main.py --listen 0.0.0.0 --port &lt;span style="color:#ae81ff"&gt;8188&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="33-常用模型下載"&gt;3.3 常用模型下載
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 使用 HuggingFace CLI 下載模型&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;pip install huggingface_hub
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;huggingface-cli download stabilityai/stable-diffusion-xl-base-1.0 --local-dir ~/models/sdxl
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;huggingface-cli download stabilityai/stable-diffusion-3.5-large --local-dir ~/models/sd3.5
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="步驟-4gpu-記憶體管理策略"&gt;步驟 4：GPU 記憶體管理策略
&lt;/h2&gt;&lt;p&gt;在本地部署 AI 服務時，GPU 記憶體是最大的瓶頸。以下是幾個實戰經驗：&lt;/p&gt;
&lt;h3 id="41-檢查可用記憶體"&gt;4.1 檢查可用記憶體
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;free -h
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nvidia-smi --query-gpu&lt;span style="color:#f92672"&gt;=&lt;/span&gt;memory.used,memory.free --format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;csv
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="42-服務啟動順序建議"&gt;4.2 服務啟動順序建議
&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;先啟動 vLLM&lt;/strong&gt;（語言模型通常記憶體需求較固定）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;後啟動 ComfyUI&lt;/strong&gt;（圖像生成可以動態調整記憶體使用）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;關閉不必要的圖形應用&lt;/strong&gt;（瀏覽器、Discord 等）&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id="43-記憶體監控腳本"&gt;4.3 記憶體監控腳本
&lt;/h3&gt;&lt;p&gt;創建一個簡單的監控腳本：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;#!/bin/bash
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# monitor-gpu.sh&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;while&lt;/span&gt; true; &lt;span style="color:#66d9ef"&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;=== &lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt; ===&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; nvidia-smi --query-gpu&lt;span style="color:#f92672"&gt;=&lt;/span&gt;memory.used,memory.free,temperature.gpu --format&lt;span style="color:#f92672"&gt;=&lt;/span&gt;csv
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; docker ps --filter &lt;span style="color:#e6db74"&gt;&amp;#34;name=vllm\|name=comfyui&amp;#34;&lt;/span&gt; --format &lt;span style="color:#e6db74"&gt;&amp;#34;table {{.Names}}\t{{.Status}}&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; sleep &lt;span style="color:#ae81ff"&gt;30&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="步驟-5整合-cowork-mcp-多-agent-框架"&gt;步驟 5：整合 Cowork MCP 多 Agent 框架
&lt;/h2&gt;&lt;p&gt;一旦本地 AI 基礎設施就緒，就可以連接 Cowork MCP 打造多 Agent 系統。&lt;/p&gt;
&lt;h3 id="51-註冊-vllm-作為大腦"&gt;5.1 註冊 vLLM 作為大腦
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 如果使用 Hermes Agent&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;hermes register-cowork
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 或者手動設定 MCP 端點&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 在你的 Agent 設定檔中添加：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;mcpServers&amp;#34;&lt;/span&gt;: &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;cowork&amp;#34;&lt;/span&gt;: &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;http://localhost:6868/mcp&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;transport&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;streamable-http&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;}&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;vllm&amp;#34;&lt;/span&gt;: &lt;span style="color:#f92672"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;url&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;http://localhost:8000/v1&amp;#34;&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#e6db74"&gt;&amp;#34;transport&amp;#34;&lt;/span&gt;: &lt;span style="color:#e6db74"&gt;&amp;#34;streamable-http&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#f92672"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="52-實際應用本地-ai-內容製作管道"&gt;5.2 實際應用：本地 AI 內容製作管道
&lt;/h3&gt;&lt;pre tabindex="0"&gt;&lt;code&gt;本地 vLLM (內容生成) → ComfyUI (圖像生成) → ffmpeg (後處理)
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;這個管道的每一個步驟都可以由不同的 AI 代理協調：&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;研究代理&lt;/strong&gt;：使用 vLLM 生內容內容大綱&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;寫作代理&lt;/strong&gt;：使用 vLLM 擴充為完整文章&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;圖像代理&lt;/strong&gt;：使用 ComfyUI 生成對應插圖&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;整合代理&lt;/strong&gt;：將內容和圖像組合成最終輸出&lt;/li&gt;
&lt;/ol&gt;
&lt;hr&gt;
&lt;h2 id="步驟-6自動化與備份"&gt;步驟 6：自動化與備份
&lt;/h2&gt;&lt;h3 id="61-容器備份"&gt;6.1 容器備份
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 備份 ComfyUI 容器狀態&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker commit comfyui comfyui-backup:&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 匯出映像&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker save comfyui:latest | gzip &amp;gt; ~/backups/comfyui-&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date +%Y%m%d&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;.tar.gz
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="62-模型備份"&gt;6.2 模型備份
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 定期備份 HuggingFace 快取&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rsync -avh ~/.cache/huggingface ~/backups/huggingface-cache/
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 或使用 rclone 備份到雲端&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;rclone sync ~/.cache/huggingface remote:backup-huggingface --progress
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="63-健康檢查腳本"&gt;6.3 健康檢查腳本
&lt;/h3&gt;&lt;p&gt;創建健康檢查 cron job：&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 每 5 分鐘檢查一次服務狀態&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;*/5 * * * * curl -f http://localhost:8000/v1/models &lt;span style="color:#f92672"&gt;||&lt;/span&gt; echo &lt;span style="color:#e6db74"&gt;&amp;#34;vLLM is down at &lt;/span&gt;&lt;span style="color:#66d9ef"&gt;$(&lt;/span&gt;date&lt;span style="color:#66d9ef"&gt;)&lt;/span&gt;&lt;span style="color:#e6db74"&gt;&amp;#34;&lt;/span&gt; | mail -s &lt;span style="color:#e6db74"&gt;&amp;#34;vLLM Alert&amp;#34;&lt;/span&gt; admin@example.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="常見問題排查"&gt;常見問題排查
&lt;/h2&gt;&lt;h3 id="q1-docker-無法使用-gpu"&gt;Q1: Docker 無法使用 GPU
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 檢查 NVIDIA Container Toolkit 是否安裝&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;nvidia-ctk runtime verify
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 重啟 Docker 服務&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl restart docker
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="q2-gpu-記憶體不足"&gt;Q2: GPU 記憶體不足
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 降低 vLLM 記憶體使用率&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 在 docker run 指令中加入：&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;--gpu-memory-utilization 0.7
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 或關閉不必要的服務&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;sudo systemctl stop bluetooth
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="q3-comfyui-啟動失敗"&gt;Q3: ComfyUI 啟動失敗
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 檢查 Docker 日誌&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker logs comfyui
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 嘗試重新啟動&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;docker restart comfyui
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="q4-模型下載太慢"&gt;Q4: 模型下載太慢
&lt;/h3&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;# 使用 HuggingFace 鏡像站（中国大陆用戶）&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;export HF_ENDPOINT&lt;span style="color:#f92672"&gt;=&lt;/span&gt;https://hf-mirror.com
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;hr&gt;
&lt;h2 id="下一步"&gt;下一步
&lt;/h2&gt;&lt;p&gt;你現在擁有一套完整的本地 AI 基礎設施：&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;今天：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;確認 vLLM 和 ComfyUI 都能正常運作&lt;/li&gt;
&lt;li&gt;測試 API 端點，確認可以生成內容和圖像&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;本週：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;設定 systemd 服務確保開機自動啟動&lt;/li&gt;
&lt;li&gt;建立備份和監控機制&lt;/li&gt;
&lt;li&gt;連接至少一個 LLM 後端到 Cowork MCP&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;本月：&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;探索 &lt;a class="link" href="https://github.com/slashman413/cowork" target="_blank" rel="noopener"
&gt;Cowork MCP 框架&lt;/a&gt;，打造更多 AI 代理團隊&lt;/li&gt;
&lt;li&gt;嘗試不同的模型，找出最適合你需求的配置&lt;/li&gt;
&lt;li&gt;建立自己的 AI 內容製作管道&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="常見問答"&gt;常見問答
&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Q：我需要什麼等級的 GPU 才能运行這些服務？&lt;/strong&gt;
A：建議至少 24GB 記憶體（RTX 3090/4090）。如果記憶體較小，可以運行較小的模型（7B-13B）或使用 Docker 的記憶體限制。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：可以在沒有 GPU 的機器上運行嗎？&lt;/strong&gt;
A：可以，但速度會很慢。CPU 推理是可行的，但對於大型模型（70B+）不實際。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：如何更新模型？&lt;/strong&gt;
A：使用 HuggingFace CLI：&lt;code&gt;huggingface-cli download &amp;lt;model-name&amp;gt; --local-dir &amp;lt;path&amp;gt;&lt;/code&gt;。Docker 容器會自動使用更新的本地模型。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：vLLM 和 Ollama 有什麼不同？&lt;/strong&gt;
A：vLLM 是針對高吞吐量推理優化的框架，支援更多模型格式和進階功能。Ollama 更輕量、易於使用，但功能較少。對於本地 AI 基礎設施，建議使用 vLLM。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q：ComfyUI 和 Automatic1111 有什麼區別？&lt;/strong&gt;
A：ComfyUI 採用節點式工作流程，更靈活、更高效。Automatic1111 有圖形介面，對初學者更友好。兩個都可以很好地工作，但 ComfyUI 在生產環境中更受歡迎。&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;&lt;em&gt;閱讀時間：約 15 分鐘 | 發布日期：2026-07-27&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;覺得這份指南有幫助？探索 &lt;a class="link" href="https://ckw19810413.github.io/zh-tw/" &gt;Slashman Tools&lt;/a&gt; 上的更多指南。如果你想快速部署 AI 基礎設施，查看我們的 &lt;a class="link" href="https://ckw19810413.github.io/zh-twhttps://gumroad.com/l/diwoc" &gt;AI 工具鏈模板庫&lt;/a&gt; 獲取即拿即用的設定檔。&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;[&lt;a class="link" href="https://ckw19810413.github.io/zh-tw/" &gt;- 返回首頁&lt;/a&gt;]&lt;/p&gt;</description></item></channel></rss>