[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-how-to-build-advanced-rag-in-n8n-zh":3,"tags-how-to-build-advanced-rag-in-n8n-zh":34,"related-lang-how-to-build-advanced-rag-in-n8n-zh":43,"related-posts-how-to-build-advanced-rag-in-n8n-zh":47,"series-ai-agent-05d8ff3d-05df-4648-9117-ee32decd5a00":84},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":18,"translated_content":10,"views":19,"is_premium":20,"created_at":21,"updated_at":21,"cover_image":11,"published_at":22,"rewrite_status":23,"rewrite_error":10,"rewritten_from_id":24,"slug":25,"category":26,"related_article_id":27,"status":28,"google_indexed_at":29,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":30,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":20},"05d8ff3d-05df-4648-9117-ee32decd5a00","怎麼做 n8n 進階 RAG","\u003Cp data-speakable=\"summary\">這篇教你在 n8n 裡做一條可上線的進階 \u003Ca href=\"\u002Ftag\u002Frag\">RAG\u003C\u002Fa> 流程，包含切塊、混合檢索、重排序與壓縮。\u003C\u002Fp>\u003Cp>這篇給想把基本 RAG 升級成可除錯、可擴充工作流的開發者。照做完，你會得到一份可直接落地到 n8n 的流程藍圖，能分開處理擷取、檢索、重排序、壓縮與生成。\u003C\u002Fp>\u003Cp>你也會知道每一種進階技巧要解哪一類失敗，像是召回不足、上下文太吵、答案幻覺或引用不穩，方便你逐段驗證與替換。\u003C\u002Fp>\u003Ch2>開始之前\u003C\u002Fh2>\u003Cul>\u003Cli>n8n 帳號或自架 n8n 實例\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.n8n.io\u002F\" target=\"_blank\" rel=\"noopener noreferrer\">n8n 官方文件\u003C\u002Fa>\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fn8n-io\u002Fn8n\" target=\"_blank\" rel=\"noopener noreferrer\">n8n GitHub repo\u003C\u002Fa>\u003C\u002Fli>\u003Cli>Node 20+\u003C\u002Fli>\u003Cli>一組 LLM 供應商 API key\u003C\u002Fli>\u003Cli>向量資料庫，例如 Postgres + pgvector、Pinecone 或 Qdrant\u003C\u002Fli>\u003Cli>可索引文件，最好帶有 author、topic、timestamp 等 metadata\u003C\u002Fli>\u003Cli>可選：reranking 模型或 API\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Step 1: 標記 RAG 失敗點\u003C\u002Fh2>\u003Cp>這一步的產出是「失敗點對照表」，讓你先決定要修的是召回、幻覺、噪音、領域知識不足，還是答案重複。不同問題對應不同技術，避免一開始就把所有複雜度塞進同一條流程。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778209857169-u9xd.png\" alt=\"怎麼做 n8n 進階 RAG\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>把流程拆成 \u003Ca href=\"\u002Fnews\u002Fwhy-deepmind-workers-are-right-to-unionize-over-pentagon-ai-zh\">in\u003C\u002Fa>gestion、chunking、embedding、retrieval、reranking、compression、generation 七段，並在 n8n 中各自對應一個節點。這樣後面每次調整，都能只看單一節點的效果。\u003C\u002Fp>\u003Cp>驗收：你應該看到一份「問題 → 對策」清單，且每個問題都能對應到一個具名節點。\u003C\u002Fp>\u003Ch2>Step 2: 清理並切分原始文件\u003C\u002Fh2>\u003Cp>這一步的產出是「乾淨切塊檔」，讓模型更容易取回真正有用的內容。先移除重複段落、模板文字與低價值區塊，再依標題、段落、句子切塊，並保留適當 overlap 以維持語意連續。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778209856512-n6yr.png\" alt=\"怎麼做 n8n 進階 RAG\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cpre>\u003Ccode>\u002F\u002F 前處理切塊範例\n\u002F\u002F 1. 正規化文字\n\u002F\u002F 2. 依標題、段落、句子切分\n\u002F\u002F 3. 加入 overlap\n\u002F\u002F 4. 附上 metadata\n\nconst chunk = {\n  text: cleanedText,\n  metadata: {\n    author: 'team',\n    topic: 'RAG',\n    timestamp: '2026-05-07'\n  }\n};\u003C\u002Fcode>\u003C\u002Fpre>\u003Cp>驗收：你應該看到更小的 chunk，而且同一份文件在重跑時會產生一致的切邊結果。\u003C\u002Fp>\u003Ch2>Step 3: 建立帶 metadata 的向量索引\u003C\u002Fh2>\u003Cp>這一步的產出是「可過濾的向量記錄」，讓搜尋不只看語意，也能看來源與情境。先為每個 chunk 產生 embedding，再把 source、document type、recency、t\u003Ca href=\"\u002Fnews\u002Fanthropic-dreaming-claude-managed-agents-zh\">opic\u003C\u002Fa> 等 metadata 一起寫入索引。\u003C\u002Fp>\u003Cp>在 n8n 裡，建議把 ingestion 與 query path 分開。這樣當你要重新切塊或重建 embedding 時，不會影響線上查詢流程。\u003C\u002Fp>\u003Cp>驗收：你應該看到每筆向量資料同時包含 embedding 與 metadata，並且至少能用一個 metadata key 做過濾。\u003C\u002Fp>\u003Ch2>Step 4: 串接稠密與稀疏搜尋\u003C\u002Fh2>\u003Cp>這一步的產出是「混合檢索候選集」，讓系統同時處理語意匹配與精確字詞匹配。稠密搜尋負責語意相近，稀疏搜尋負責關鍵字與技術名詞，兩者合併後再交給下一階段判斷。\u003C\u002Fp>\u003Cp>在 n8n 中，把它做成兩條檢索分支，再用 merge 節點合併結果。這能讓你保留更多候選證據，避免只靠單一路徑漏掉重要內容。\u003C\u002Fp>\u003Cp>驗收：你應該看到來自兩種搜尋方式的結果，而且合併後的清單會包含單一路徑容易漏掉的項目。\u003C\u002Fp>\u003Ch2>Step 5: 加入 reranking 與壓縮\u003C\u002Fh2>\u003Cp>這一步的產出是「精簡上下文包」，把最相關的證據排到前面。先把候選 chunks 丟給 reranker，讓專門模型按 query relevance 重新排序，再做 contextual compression，刪掉低價值文字。\u003C\u002Fp>\u003Cp>這一段很重要，因為檢索結果再好也可能太長。壓縮能降低 prompt 大小、減少雜訊，還能把成本壓下來，同時保留能支撐答案的核心來源。\u003C\u002Fp>\u003Cp>驗收：你應該看到前幾個 chunk 更貼近查詢意圖，而且最終 prompt 明顯比原始檢索輸出短。\u003C\u002Fp>\u003Ch2>Step 6: 驗證來源再生成\u003C\u002Fh2>\u003Cp>這一步的產出是「可追溯回答路徑」，讓每個主張都能對回來源。加入 citation 與 source verif\u003Ca href=\"\u002Fnews\u002Fmicrosoft-365-copilot-glint-survey-summaries-zh\">ic\u003C\u002Fa>ation，先檢查引用是否真的支撐回答；若不支撐，就丟回檢索或直接移除。\u003C\u002Fp>\u003Cp>如果問題很複雜，可以再加 multi-stage retrieval 或 multi-hop retrieval，讓流程分層蒐證，再把多份文件的證據串起來後生成答案。這對跨文件問題特別有用。\u003C\u002Fp>\u003Cp>驗收：你應該看到每個引用都能連到 source chunk，且未被支持的主張會在送出前被標記。\u003C\u002Fp>\u003Ctable>\u003Cthead>\u003Ctr>\u003Cth>指標\u003C\u002Fth>\u003Cth>基準／優化前\u003C\u002Fth>\u003Cth>結果／優化後\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\u003Ctbody>\u003Ctr>\u003Ctd>Prompt 大小\u003C\u002Ftd>\u003Ctd>原始檢索上下文\u003C\u002Ftd>\u003Ctd>壓縮後上下文\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>檢索品質\u003C\u002Ftd>\u003Ctd>單一稠密搜尋\u003C\u002Ftd>\u003Ctd>混合檢索加 reranking\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>回答可靠性\u003C\u002Ftd>\u003Ctd>沒有來源檢查\u003C\u002Ftd>\u003Ctd>引用與來源驗證\u003C\u002Ftd>\u003C\u002Ftr>\u003Ctr>\u003Ctd>流程可維護性\u003C\u002Ftd>\u003Ctd>單體式 RAG 流程\u003C\u002Ftd>\u003Ctd>可視化節點式工作流\u003C\u002Ftd>\u003C\u002Ftr>\u003C\u002Ftbody>\u003C\u002Ftable>\u003Ch2>常見錯誤\u003C\u002Fh2>\u003Cul>\u003Cli>所有文件都用同一種 chunk size。修法：改用 recursive 或 hierarchical chunking，並在語意斷點加 overlap。\u003C\u002Fli>\u003Cli>只做 dense embeddings。修法：補上 sparse keyword search，讓精確術語與專有名詞也能命中。\u003C\u002Fli>\u003Cli>把太多原始上下文直接送進 LLM。修法：在生成前加入 reranking 與 contextual compression。\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>接下來可以看什麼\u003C\u002Fh2>\u003Cp>等這條流程穩定後，可以再往 agentic routing 與 multimodal retrieval 延伸，讓系統能動態選工具，也能處理圖片、音訊與影片。下一步最值得做的是把每個版本的回答品質量化，這樣你就能在不失去可視性的前提下持續調參。\u003C\u002Fp>","這篇教你在 n8n 裡做一條可上線的進階 RAG 流程，包含切塊、混合檢索、重排序與壓縮。","blog.n8n.io","https:\u002F\u002Fblog.n8n.io\u002Fadvanced-rag\u002F",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778209857169-u9xd.png",[13,14,15,16,17],"n8n","RAG","hybrid retrieval","reranking","contextual compression","zh",4,false,"2026-05-08T03:10:29.599439+00:00","2026-05-08T03:10:29.536+00:00","done","309f2cee-b6b7-41ee-a7c8-b7c291101f54","how-to-build-advanced-rag-in-n8n-zh","ai-agent","bd5df14f-0712-4a15-bc92-ce811968f1e7","published","2026-05-08T09:00:14.333+00:00",[31,32,33],"先把 RAG 問題拆成可對應的失敗點，再決定要用哪種修法。","用混合檢索、reranking 與壓縮，可以同時提升召回與上下文品質。","把 ingestion 與 query path 分開，能讓 n8n 工作流更容易維護與除錯。",[35,36,38,39,41],{"name":13,"slug":13},{"name":14,"slug":37},"rag",{"name":16,"slug":16},{"name":17,"slug":40},"contextual-compression",{"name":15,"slug":42},"hybrid-retrieval",{"id":27,"slug":44,"title":45,"language":46},"how-to-build-advanced-rag-in-n8n-en","How to Build Advanced RAG in n8n","en",[48,54,60,66,72,78],{"id":49,"slug":50,"title":51,"cover_image":52,"image_url":52,"created_at":53,"category":26},"38406a12-f833-4c69-ae22-99c31f03dd52","switch-ai-outputs-markdown-to-html-zh","怎麼把 AI 輸出改成 HTML","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778743243861-8901.png","2026-05-14T07:20:21.545364+00:00",{"id":55,"slug":56,"title":57,"cover_image":58,"image_url":58,"created_at":59,"category":26},"c7c69fe4-97e3-4edf-a9d6-a79d0c4495b4","anthropic-cat-wu-proactive-ai-assistants-zh","Cat Wu 談 Claude 的主動式 AI","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778735455993-gnw7.png","2026-05-14T05:10:30.453046+00:00",{"id":61,"slug":62,"title":63,"cover_image":64,"image_url":64,"created_at":65,"category":26},"e1d6acda-fa49-4514-aa75-709504be9f93","how-to-run-hermes-agent-on-discord-zh","如何在 Discord 執行 Hermes Agent","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778724655796-cjul.png","2026-05-14T02:10:34.362605+00:00",{"id":67,"slug":68,"title":69,"cover_image":70,"image_url":70,"created_at":71,"category":26},"4104fa5f-d95f-45c5-9032-99416cf0365c","why-ragflow-is-the-right-open-source-rag-engine-to-self-host-zh","為什麼 RAGFlow 是最適合自架的開源 RAG 引擎","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778674262278-1630.png","2026-05-13T12:10:23.762632+00:00",{"id":73,"slug":74,"title":75,"cover_image":76,"image_url":76,"created_at":77,"category":26},"7095f05c-34f5-469f-a044-2525d2010ce9","how-to-add-temporal-rag-in-production-zh","如何在正式環境加入 Temporal RAG","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778667053844-osvs.png","2026-05-13T10:10:30.930982+00:00",{"id":79,"slug":80,"title":81,"cover_image":82,"image_url":82,"created_at":83,"category":26},"10479c95-53c6-4723-9aaa-2fde5fb19ee7","github-agentic-workflows-ai-github-actions-zh","GitHub 把 AI 代理放進 Actions","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778551884342-8io7.png","2026-05-12T02:11:02.069769+00:00",[85,90,95,100,105,110,115,120,125,130],{"id":86,"slug":87,"title":88,"created_at":89},"4ae1e197-1d3d-4233-8733-eafe9cb6438b","claude-now-uses-your-pc-to-finish-tasks-zh","Claude 開始幫你操作電腦","2026-03-26T07:20:48.457387+00:00",{"id":91,"slug":92,"title":93,"created_at":94},"5bede67f-e21c-413d-9ab8-54a3c3d26227","googles-2026-ai-agent-report-decoded-zh","Google 2026 AI Agent 報告解讀","2026-03-26T11:15:22.651956+00:00",{"id":96,"slug":97,"title":98,"created_at":99},"2987d097-563f-46c7-b76f-b558d8ef7c2b","kimi-k25-review-stronger-still-not-legend-zh","Kimi K2.5 評測：更強，但還不是神作","2026-03-27T07:15:55.277513+00:00",{"id":101,"slug":102,"title":103,"created_at":104},"95c9053b-e3f4-4cb5-aace-5c54f4c9e044","claude-code-controls-mac-desktop-zh","Claude Code 也能操控 Mac 了","2026-03-28T03:01:58.58121+00:00",{"id":106,"slug":107,"title":108,"created_at":109},"dc58e153-e3a8-4c06-9b96-1aa64eabbf5f","cloudflare-100x-faster-ai-agent-sandbox-zh","Cloudflare 的 AI 沙箱跑超快","2026-03-28T03:09:44.142236+00:00",{"id":111,"slug":112,"title":113,"created_at":114},"1c8afc56-253f-47a2-979f-1065ff072f2a","openai-backs-isara-agent-swarm-bet-zh","OpenAI 挺 Isara 的 agent swarm …","2026-03-28T03:15:27.513155+00:00",{"id":116,"slug":117,"title":118,"created_at":119},"7379b422-576e-45df-ad5a-d57a0d9dd467","openai-plan-automated-ai-researcher-zh","OpenAI 想做自動化 AI 研究員","2026-03-28T03:17:42.090548+00:00",{"id":121,"slug":122,"title":123,"created_at":124},"48c9889e-86df-450b-a356-e4a4b7c83c5b","harness-engineering-ai-agent-reliability-2026-zh","駕馭工程：從「馬具」到「作業系統」，AI Agent 可靠性的終極密碼","2026-03-31T06:42:53.556721+00:00",{"id":126,"slug":127,"title":128,"created_at":129},"e41546b8-ba9e-455f-9159-88d4614ad711","openai-codex-plugin-claude-code-zh","OpenAI 把 Codex 放進 Claude Code","2026-04-01T09:21:54.687617+00:00",{"id":131,"slug":132,"title":133,"created_at":134},"96d8e8c8-1edd-475d-9145-b1e7a1b02b65","mcp-explained-from-prompts-to-production-zh","MCP 怎麼把提示詞變工作流","2026-04-01T09:24:39.321274+00:00"]