n8n 教學 (八):整合 n8n 與 Qdrant,打造在地化 RAG 工作流
發布日期:2025年8月
前言:無縫接軌,從雲端到地端
我們已經分別學會了如何使用 Supabase (雲端) 和 Qdrant (地端) 作為向量資料庫。本章的目標是將先前為 Supabase 建立的資料上傳工作流,改造成適用於 Qdrant 的版本。透過這個過程,您將學會如何靈活地切換不同的向量資料庫節點,並了解它們在 n8n 中的具體設定差異,包括刪除節點與寫入節點,最終實現一個完全在地化的資料處理流程。
重要提醒: 如果您的 Gemini API key 綁定在免費方案 (free tier) 且未啟用帳單,則 Gemini 處理的資料可能被用於模型訓練。若涉及機敏資訊且必須使用 Gemini,請務必升級至付費方案,或使用地端 LLM,亦或是公司提供的 API。
步驟一:複製並重塑工作流
為了保留原始版本,我們從複製現有的 Supabase 工作流開始。
- 在 n8n 中,找到先前建立的
n8nDocIntoVectorDB
工作流。 - 點擊右上角的 "..." 選單,選擇 "Duplicate"。
- 將新工作流命名為
Local_Qdrant_Embeddings
,然後點擊 "Duplicate"。 - 在新開啟的分頁中,選取並刪除 "Supabase" 和 "Supabase Vector Store" 兩個節點。


步驟二:設定 Qdrant 刪除節點
與 Supabase 流程類似,我們首先加入一個節點,以便在每次上傳新檔案時刪除舊的同名資料。
- 在 "Extract from File" 節點後新增 "Qdrant" 節點。如果尚未安裝,請先點擊 "Install" 安裝社群節點。
- 選擇操作 "Delete Points"。
- 設定 Credential:
- 點擊 "Create New"。
- API Key 留空,REST URL 輸入
http://127.0.0.1:6333
。 - 儲存後,正常會看到綠色成功提示。
- 設定刪除條件:
- "Collection Name" 輸入我們之前建立的
nhi_text-embedding-004_768
。 - 點擊 "Add Option" -> "Filter"。
- 啟用 "Expression" 並貼上以下 JSON 內容,用於比對檔案名稱:
- "Collection Name" 輸入我們之前建立的
{
"must": [
{
"key": "metadata.file_name",
"match": {
"value": "{{ $('On form submission').item.json.data.filename }}"
}
}
]
}

步驟三:設定 Qdrant 寫入節點
現在,我們加入真正執行寫入操作的節點。
- 再次於 "Extract from File" 節點後新增 "Qdrant Vector Store" 節點。
- 選擇操作 "Add documents to vector store"。
- "Collection Name" 同樣輸入
nhi_text-embedding-004_768
。 - 連接 Embedding 模型:
- 將節點左下的 "Embedding" 接口,連接到 "Embeddings Google Gemini" 節點。
- 確認模型為
models/text-embedding-004
。
- 連接 Data Loader:
- 將節點右下的 "Data Loader" 接口,連接到 "Default Data Loader" 節點。


步驟四:執行與驗證
所有節點都已就緒,讓我們執行工作流並檢查結果。
- 點擊 "Execute workflow",並上傳一份 PDF 檔案。
- 工作流執行完畢後,回到 Qdrant Web UI。
- 您應該會看到對應的 Collection 中 "Points" 的數量增加了。
- 點擊數字,可以進一步查看寫入的資料點 (Points),確認
payload
中包含了文字內容 (content) 與元資料 (metadata)。 - 再次上傳同一個檔案,確認 Points 數量不變,代表刪除邏輯正常運作。



重要提醒: 如果您的 Gemini API key 綁定在免費方案 (free tier) 且未啟用帳單,則 Gemini 處理的資料可能被用於模型訓練。若涉及機敏資訊且必須使用 Gemini,請務必升級至付費方案,或使用地端 LLM,亦或是公司提供的 API。
本章總結
做得非常出色!您已成功將一個雲端資料庫的工作流,改造成為完全在地端運行的版本。這項技能在處理敏感資料或需要高度客製化的場景中至關重要。本章重點回顧:
- 學會了如何複製並修改現有的 n8n 工作流。
- 掌握了 n8n 中 Qdrant 節點的基本設定,包括 Credential、刪除與新增操作。
- 理解了如何設定 Filter 來實現「先刪除後新增」的資料更新邏輯。
- 成功將 n8n 與本地的 Qdrant 資料庫串接,並完成資料寫入。
現在,您已經擁有一個強大的在地化資料管道。在最後一篇教學中,我們將改造問答機器人,讓它從本地的 Qdrant 資料庫中檢索資訊來回答問題,完成整個私有化 RAG 應用的最後一塊拼圖。