
我用微調模型替換了 n8n 工作流程中的每個 OpenAI 調用
一位開發者將 12 個 n8n 工作流程從 OpenAI 遷移到本地運行的微調模型的親身經歷。成本、坑點以及 60 天後的結果。
三個月前,我的 n8n 實例運行著 12 個工作流程,所有這些都調用 OpenAI API。我的月費是 $487。今天,這個數字在 API 成本上是 $0。我的總 AI 支出是 $44.50/月——一個運行 Ollama 的 $30 VPS 加上 Ertas 的 $14.50。以下是我確切做了什麼,哪裡出了問題,以及在完全本地運行 60 天後讓我驚訝的是什麼。
我不是機器學習工程師。我是一個使用 n8n 自動化從客戶引導到內容管道的一切的開發者。我在 2025 年中期開始使用 OpenAI 的 API,因為這是向工作流程添加智能的最簡單方式。確實如此— —直到費用開始增長,一次速率限制事故讓我的生產工作流程宕機了三個小時,我意識到我距離整個業務崩潰只差一次 API 政策更改。
這是遷移的完整故事:規劃、訓練、測試、切換,以及兩個月生產使用後的誠實結果。
遷移前的設置
我經營一個小型自動化代理機構。我的 n8n 實例處理內部運營和客戶項目的工作流程。以下是調用 OpenAI API 的 12 個工作流程:
| # | 工作流程 | 使用的模型 | 日量 | 月成本 |
|---|---|---|---|---|
| 1 | 電子郵件分類(將收件電子郵件分類到 6 個類別) | GPT-4o-mini | 約 180 封郵件 | $18 |
| 2 | 潛在客戶評分(分析表單提交,分配 1–10 分) | GPT-4o | 約 45 個潛在客戶 | $32 |
| 3 | 內容摘要(為電子報摘要文章) | GPT-4o | 約 30 篇文章 | $28 |
| 4 | 支援工單分類(路由到正確的團隊) | GPT-4o-mini | 約 120 張工單 | $14 |
| 5 | 發票資料提取(從 PDF 文字中提取明細) | GPT-4o | 約 200 張發票 | $67 |
| 6 | 會議記錄摘要(將轉錄內容轉為行動項目) | GPT-4o | 約 40 個會議 | $45 |
| 7 | 社交媒體內容生成(從簡報草稿帖子) | GPT-4o | 約 25 個簡報 | $38 |
| 8 | 客戶反饋分析(情感 + 主題提取) | GPT-4o-mini | 約 90 條回應 | $12 |
| 9 | 合同條款提取(識別關鍵術語) | GPT-4o | 約 15 份合同 | $52 |
| 10 | 產品描述標準化(標準化房源) | GPT-4o-mini | 約 300 個房源 | $35 |
| 11 | 聊天機器人響應生成(面向客戶的支援機器人) | GPT-4o | 約 250 個對話 | $98 |
| 12 | 資料豐富(從名稱 + URL 研究公司) | GPT-4o | 約 60 家公司 | $48 |
| 總計 | 約 1,355/天 | $487/月 |
隨著我的客戶為工作流程添加更多量,$487 每月增長約 12%。按照這個軌跡,到夏天我每月的費用將達到 $650,到年底超過 $800。
為什麼我決定遷移
三件事促使我做出決定。
費用在增長。 $487 聽起來可能不是災難性的,但我是一個小型運營商。那 $487 是我第二大的業務費用,僅次於我自己的薪水。而且與租金或軟件訂閱不同,我無法預測它——每個月的波動高達 15–20%,取決於量。
速率限制事故。 2025 年 12 月,OpenAI 經歷了容量問題,在一個週二下午的三個小時內導致延遲升高和速率限制錯誤。我的三個面向客戶的工作流程——電子 郵件分類、支援工單分類和聊天機器人——都開始失敗。工單堆積。電子郵件未被分類。聊天機器人返回錯誤。我花了一下午向客戶道歉並手動處理佇列。我沒有備用方案。我的整個 AI 層是一個單點故障。
我想擁有這些模型。 我在別人的基礎設施上建立我的業務。我花了幾個月完善的提示在沒有背後模型的情況下毫無用處。如果 OpenAI 更改定價,棄用模型,或決定我的用例違反了他們的條款,我沒有 B 計劃。對於業務的核心部分,這感覺是不可接受的。
遷移計劃
我沒有一次性遷移所有東西。我按任務類型和複雜度將 12 個工作流程分組:
第 1 組:分類(4 個工作流程) — 電子郵件分類、支援工單分類、客戶反饋分析、潛在客戶評分。這些接受文字輸入並輸出類別或分數。最容易微調。
第 2 組:提取(3 個工作流程) — 發票資料提取、合同條款提取、產品描述標準化。這些接受非結構化文字並輸出結構化資料。中等複雜度。
第 3 組:生成(5 個工作流程) — 內容摘要、會議記錄、社交媒體生成、聊天機器人響應、資料豐富。這些生成自由格式文字。最高複雜度。
我的計劃是按這個順序處理它們,每組花費約一週時間,最後一週進行並行測試和切換。
第 1 週:資料收集
這是最繁瑣的部分。我需要訓練資料——每個工作流程的輸入和正確輸出示例。
幸運的是,n8n 存儲執行歷史。我有幾個月的成功執行,包括發送給 OpenAI 的輸入和收到的輸出。我寫了一個簡單的腳本將這些導出為 JSONL 文件。
對於每個工作流程,我導出了過去 3 個月的成功執行並清理了它們:
| 工作流程組 | 原始執行 | 清理後 | 最終訓練集 |
|---|---|---|---|
| 分類(4 個工作流程) | 12,400 | 8,200 | 800(每個工作流程 200 個) |
| 提取(3 個工作流程) | 6,150 | 4,800 | 600(每個工作流程 200 個) |
| 生成(5 個工作流程) | 5,600 | 3,900 | 750(每個工作流程 150 個) |
「清理」意味著刪除重複項,丟棄輸出明顯錯誤的執行(我在幾個月裡手動標記了一些),修復格式不一致,並確保輸入-輸出對是自包含的(沒有對提示中不會存在的背景的引用)。
我最終得到了三個整合資料集:
- 分類資料集(800 個示例):輸入文字 + 類別/分數標籤。覆蓋所有 4 個分類工作流程。
- 提取資料集(600 個示例):輸入文字 + 結構化 JSON 輸出。覆蓋發票、合同和產品標準化工作流程。
- 生成資料集(750 個示例):輸入簡報/文字 + 生成的輸出。覆蓋摘要、社交媒體、聊天機器人和豐富工作流程。
清理工作在 3 天內分散進行了約 6 小時。這不是迷人的工作,但這一步決定了您的微調模型是否真正起作用。垃 圾進,垃圾出。
第 2 週:微調
我使用 Ertas 微調了三個模型:
模型 1:用於分類的 Qwen 2.5 7B。 我為分類選擇 Qwen,因為它在推理時速度快,且處理結構化輸出良好。上傳了 800 個示例的分類資料集。訓練需要 35 分鐘。我運行了內置評估,立即在保留測試集上得到了 94% 的精確度。老實說,我很震驚——我以為需要多次訓練運行。
模型 2:用於提取的 Llama 3.3 8B。 提取需要理解文件結構並產生有效的 JSON,所以我選擇了稍大的 Llama 基礎。上傳了 600 個示例的提取資料集。訓練需要 42 分鐘。評估顯示提取任務的精確度為 91%。主要錯誤在邊緣案例上——多幣種發票和格式不尋常的合同。
模型 3:用於生成的 Llama 3.3 8B。 生成是最難的任務類型,因為「正確」的輸出是主觀的。我再次使用 Llama 3.3 8B。在 750 個示例的資料集上訓練需要 48 分鐘。評估更難——我不能只比較輸出是否完全匹配。我手動審查了 50 個生成的輸出,發現大約 82% 可以立即使用,14% 需要少量編輯,4% 沒有達標。
總微調成本:Ertas Builder 計劃 $14.50(涵蓋所有三次訓練運行及更多)。總時間:約 2 小時的主動工作加上訓練時 間。
我將所有三個模型導出為 GGUF 文件。每個量化為 Q4_K_M 後約為 4.5–5GB。
第 3 週:測試
這是最重要的一週。我在開發機器上設置了 Ollama,加載了所有三個模型,並進行了並行測試。
對於每個工作流程,我取了最後 100 個生產執行,並通過 OpenAI 模型和我的微調模型運行它們。然後比較輸出。
分類結果
| 工作流程 | GPT-4o/mini 精確度 | 微調 Qwen 7B 精確度 | 勝者 |
|---|---|---|---|
| 電子郵件分類 | 88% | 96% | 微調 |
| 支援工單分類 | 85% | 95% | 微調 |
| 客戶反饋分析 | 90% | 93% | 微調 |
| 潛在客戶評分(1 分以內) | 72% | 84% | 微調 |
微調模型在每個分類任務上都勝過了 GPT-4o-mini。這是有道理的——微調模型在這些確切類別上進行了訓練,示例來自我的特定領域。GPT-4o-mini 是從系統提示中猜測的。
潛在客戶評分的改進是最大的驚喜。GPT-4o(不是 mini——我為這個支付了全模型的費用)不一致地給潛在客戶評分。相同的潛在客戶描述一天可能得 6 分,第二天可能得 8 分。微調模型更加一致,因為它從 200 個示例中學習了我的具體評分標準。
提取結果
| 工作流程 | GPT-4o 精確度 | 微調 Llama 8B 精確度 | 勝者 |
|---|---|---|---|
| 發票提取(所有字段正確) | 76% | 92% | 微調 |
| 合同條款提取 | 71% | 88% | 微調 |
| 產品描述標準化 | 83% | 95% | 微調 |
同樣,微調模型全面勝出。最大的改進是在發票上——GPT-4o 在一致的字段命名方面有困難,偶爾幻覺出值。微調模型學習了我的確切 JSON schema,幾乎從不偏離它。
合同條款提取是最具挑戰性的。一些合同具有微調模型沒有見過的不尋常格式。我記錄了這些以便之後獲得更多訓練資料。
生成結果
| 工作流程 | GPT-4o 品質(手動評分 1–5) | 微調 Llama 8B 品質 | 勝者 |
|---|---|---|---|
| 內容摘要 | 4.2 | 3.9 | GPT-4o(稍微領先) |
| 會議記錄轉行動項目 | 3.8 | 4.1 | 微調 |
| 社交媒體帖子起草 | 4.0 | 3.5 | GPT-4o |
| 聊天機器人響應 | 3.6 | 4.3 | 微調 |
| 資料豐富 | 3.4 | 2.8 | GPT-4o |
生成結果參差不齊。微調模型在具有可預測結構的任務上表現出色——會議記錄和聊天機器人響應,格式一致,內容特定於領域。GPT-4o 在創意任務(社交媒體帖子)和需要外部知識的任務(資料豐富)上有優勢。
對於社交媒體帖子起草,微調模型產生了功能性但公式化的帖子。它們完美地匹配了我們的品牌語氣(因為這正是它的訓練內容),但缺乏 GPT-4o 帶來的多樣性。我決定這對於無論如何都需要人工審查的初稿是可以接受的。
對於資料豐富,微調模型無法與 GPT-4o 媲美,因為任務本身需要關於公司的廣泛知識。這是我考慮保留在 API 上的一個工作流程。稍後詳述。
第 4 週:切換
我配置了一個 Hetzner CPX41 VPS——8 vCPU(AMD EPYC)、16GB RAM、240GB NVMe SSD。成本:$30.49/月。安裝了 Ubuntu 24.04,設置了 Ollama,並加載了所有三個 GGUF 模型。
我配置 n8n 使用 Ollama 端點而不是 OpenAI API。由於 Ollama 公開了與 OpenAI 相容的 API,這在 字面上是在 n8n HTTP 請求節點中更改基本 URL 和 API 密鑰。對於大多數工作流程,切換是一行更改。
我按信心順序遷移工作流程:
第 1–2 天:分類工作流程(最高信心)。將所有 4 個分類工作流程切換到微調 Qwen 模型。保持 OpenAI 作為影子管道並行運行——兩個模型都處理每個輸入,但只使用微調模型的輸出。
第 3–4 天:提取工作流程。切換所有 3 個提取工作流程。相同的影子管道設置。監控 JSON 解析錯誤,因為下游工作流程依賴乾淨的結構化輸出。
第 5 天:生成工作流程(除資料豐富外)。切換 5 個生成工作流程中的 4 個。對於聊天機器人工作流程,我很緊張——它面向客戶。我讓影子管道多運行了 3 天。
第 6–7 天:資料豐富。這是棘手的。我的微調模型無法與 GPT-4o 在公司研究方面的廣博知識相媲美。我做了一個務實的決定:我切換到混合方法。微調模型處理格式化和結構化輸出,而我使用 Serper API($5/月)獲取饋送到模型的實際網路研究資料。這個工作流程的總成本從每月 $48 降至約 $7。
完成全面切換後,我將 OpenAI API 密鑰保持活躍一週作為手動備用。我從未需要它。在第 14 天,我刪除了 API 密鑰。
60 天後的結果
以下是兩個完整月份生產使用後的誠實比較。
成本
| 指標 | 之前(OpenAI) | 之後(自托管) | 變化 |
|---|---|---|---|
| 月度 AI API 成本 | $487 | $0 | -100% |
| 月度 VPS 成本 | $0 | $30.49 | +$30.49 |
| 月度 Ertas 成本 | $0 | $14.50 | +$14.50 |
| 月度 Serper API(豐富) | $0 | $5 | +$5 |
| 月度 AI 總支出 | $487 | $49.99 | -$437.01 |
| 年度 AI 支出 | $5,844 | $599.88 | -$5,244.12 |
我每月節省 $437。一年下來,那是 $5,244。對於小型自動化代理機構,這很重要——大約相當於一個月的兼職承包商費用,或新設備,或直接的利潤。
性能
| 指標 | 之前(OpenAI) | 之後(自托管) | 變化 |
|---|---|---|---|
| 平均分類精確度 | 84% | 95% | +11 個百分點 |
| 平均提取精確度 | 77% | 92% | +15 個百分點 |
| 平均生成品質(1–5) | 3.8 | 3.9 | +0.1 |
| 每個請求的平均延遲 | 1,100ms | 185ms | -83% |
| 超時/錯誤率 | 1.8% | 0.1% | -94% |
| 正常運行時間(AI 層) | 99.2% | 99.95% | +0.75 個百分點 |
分類和提取的精確度改進是真實且持續的。60 天後,微調模型在我的特定任務上持續優於 GPT-4o 的表現。
延遲改進是巨大的。我的工作流程明顯更快。以前每封電子郵件需要 3–4 秒的電子郵件分類工作流程現在在 500ms 以內完成。支援工單分類器在 120ms 內響應。用戶注意到了——我的在我的 n8n 實例上運行支援機器人的客戶評論說「機器人感覺更敏捷了」。
正常運行時間改進比任何事情都更重要。60 天內零 API 中斷。零速率限制錯誤。零「模型過載」響應。我的工作流程就是能運行。唯一的停機時間是我重啟 VPS 進行內核更新的 12 分鐘——而且我把它安排在凌晨 3 點。
量
| 指標 | 之前 |
|---|