里程碑
n8n x Discord | 全本機私有知識庫,創造領域專攻私人幕僚
戴庭 @tyt0409發布於 已編輯
本地知識庫discord助手 | 不上傳雲端,也能把自己的文件化為特定專業助理
Ask your own documents — without ever leaving your computer.
在自己的電腦上,把一堆 PDF 變成「問得到、答得準」的私人discord機器人。
══════════════════════════════════════════════════════
工作流截圖
══════════════════════════════════════════════════════
💡 作者的發想
前一篇說到,我對人際關係這件事一直很著迷
手邊也慢慢蒐集了一堆相關資料:溝通技巧、關係經營、人際心理學、對話與說服……從 PDF、電子書到論文都有
而我想做的,不是又一個 AI 問答,而是把整套東西搬回自己的電腦,餵它我親自挑過的那批溝通藏書。
模型在我家、資料在我家、問答也在我家,而且它講的每一句話,都找得到我書架上的依據。
於是這個懂 特定領域資料庫 的discord機器人誕生了——你的書,你自己問,也只有你自己看得到。
(前提是不把機器人公開,設置私用的方式:安裝頁面-安裝連結-選"無"-機器人頁面-關閉公開)
══════════════════════════════════════════════════════
🎯 自建知識庫的價值:從「什麼都懂一點」變成「這領域的專科醫師」
先問一個問題:通用 AI(像 ChatGPT)不是也能聊溝通、聊人際嗎?那為什麼還要自己建?
因為通用模型是通才——它什麼都懂一點,但每一點都淺。
你問它「朋友最近都不回我訊息,怎麼辦」,它會給你一段四平八穩、放到任何情境都不會錯、但也幫不上你的答案。
更麻煩的是:這個領域沒有標準答案,網路上充斥著互相矛盾的說法——該主動還是該被動?吵架該立刻講開還是先冷靜?每一派都講得頭頭是道。
通才模型讀的是全網的雜訊,所以它吐出來的,往往是「所有說法的平均值」——聽起來很合理,實際上很空泛,偶爾還會自己打自己臉。
自建知識庫做的事完全不同:我餵進去的每一份 PDF,都是我親自挑過、信任的來源。
就像你不會隨便拉個路人問健康問題,而是去掛一位專科醫師——而這位醫師讀的文獻,還是你自己選的。
■ 來源可信,答案有據
回答會附上引用原句,你可以回頭查「這是哪本書、哪一頁說的」,而不是模型憑印象掰出來的。
通用 AI 講得再有道理,你也只能選擇相信;自建知識庫的答案,你可以查證。
■ 觀點一致,不會精神分裂
你自己挑的書單,通常屬於同一套框架(例如非暴力溝通、依附理論、談判學……)。
AI 會站在你認同的那套觀點回答,不會今天給你 A 派建議、明天換 B 派,越問越亂。
■ 把書單,沉澱成你的觀點資產
好書、好文章存得越多,這位助理就越懂那個領域。
它不是一次性消耗品,而是越養越強、完全屬於你的私人智囊——而且是那份誰也抄不走的「你到底選了什麼書」。
換句話說:通用 AI 是路邊的萬事通,自建知識庫是你養出來的專科醫師。
重點不是「能不能問」,而是「它到底讀過誰的東西、站在誰的觀點上、能不能讓你查證」——這才是自建真正的價值。
══════════════════════════════════════════════════════
🧭 整體架構
Discord 使用者
│ 直接提問(因為是自用伺服器,直接創專用頻道了,也可以設置為@bot喚醒)
▼
n8n(工作流引擎)
├─ Discord Trigger(Gateway 接收訊息)
├─ AI Agent(Ollama對話)
│ ├─ Memory:記住對話脈絡
│ └─ Tool:Qdrant 向量檢索
▼
Ollama(本機 LLM / 嵌入模型)
├─ 文字LLM → 生成回答(能跑中文的模型,此處不提供型號)
└─ bge-m3 → 文字向量化
▼
Qdrant(本機向量資料庫 pdf_knowledge)一句話總結:Discord 負責「你出張嘴」,n8n 負責「調度流程」,Ollama 負責「思考與讀字」,Qdrant 負責「記住文件」。
四個湊一桌,就是一套離線版、專讀你自己 PDF 的 AI 助理。
══════════════════════════════════════════════════════
🔧 為什麼要分「生成」跟「嵌入」兩個模型?
各元件的角色,架構圖裡都標好了,這裡只補一個最容易搞混、卻很關鍵的分工——用圖書館來比喻:
bge-m3 像圖書館的編目員,負責替每段文字貼上「座標標籤」;
Qdrant 像卡片櫃,按座標把標籤排好收好;
文字LLM 才是那位讀完資料後開口回答你的館員。
編目跟回答是兩種完全不同的工作,硬要同一個模型全包,通常兩邊都不討好。
══════════════════════════════════════════════════════
🔄 它怎麼回答你?——RAG 開卷考
(建庫步驟見後面的「建庫工作流拆解」,這裡只講「回答」這一段。)
你問一句,背後其實是:問題先拿去 Qdrant 撈出最相關的幾段 → 這幾段連同問題交給文字LLM → 生成回答,並附上引用的原句。
這就是 RAG(檢索增強生成)的核心:
不是要模型把整本 PDF 背下來(背不完,還會開始亂編),而是讓它在開口之前,先去書架翻個兩頁,翻到相關段落再回答。
就像考試從「閉卷」改成「開卷」——答案的依據,從模型腦內的模糊記憶,換成你文件裡白紙黑字的原句。
══════════════════════════════════════════════════════
✨ 實機演練
══════════════════════════════════════════════════════
💬 為什麼是 Discord?因為你根本不用做「介面」
做一套問答系統,最容易被低估的就是「介面」這件事。
你可以把模型、向量庫、流程全部接好,但最後總得有個地方讓人打字—於是有人開始刻網頁、做 App、接 LINE,光是前端就夠忙一輪
用 Discord,等於直接跳過這一關:你要的介面,Discord 早就幫你做好了,而且免費
■ 你人本來就在那裡
多數人電腦、手機早就掛著 Discord,平時聊天、追社群、看討論都在上面
把 bot 加進一個頻道,就像把新朋友拉進群組——不用另外裝 App,也不用記網址
別人是「特地開一個網站去問 AI」,你是「順手在聊天室 @一下就有答案」
■ 跨裝置、免安裝、即時同步
電腦上問一半,出門用手機接著問,訊息跟回答都在同一個頻道裡,一行都不會漏。
手機推播、已讀、搜尋歷史……這些你想得到的聊天室功能,全部免費送你。
■ 「打字中…」這種小細節也不用自己寫
Discord 內建 typing indicator,bot 在跑檢索、生成時顯示「輸入中」,
使用者就知道「它在想,不是壞了」——這種體驗自己刻要花不少工。
■ @bot 就是最直覺的開關 (創專用頻道後,改有任何訊息即觸發)
不用背指令、不用打斜線語法,@一下就是提問。
對不熟技術的人來說,「像跟朋友講話」永遠比「照著說明書打格式」友善。
說白了,這套系統的重點是「模型、資料、隱私」,而不是「做一個漂亮的網站」
能用現成的就用現成的,把力氣全部留給真正重要的那塊
而 Discord 剛好就是那個「現成、免費、又好用」的門面
══════════════════════════════════════════════════════
🧱 建庫工作流拆解
建庫這件事,其實像在做一批冷凍調理包——現在花時間備料、分裝,之後要吃的時候微波一下就能上桌。
- 讀取(Extract from File):把 PDF 的文字抽出來
- 切塊(Chunking):把長文剪成一段段小塊(像把整本食譜拆成一張張小卡)
- 向量化(Ollama Embeddings / bge-m3):把每塊轉成 1024 維向量
- 寫入(Qdrant Upsert):存進
pdf_knowledgecollection
■ 切塊大小是關鍵旋鈕
太小的塊 → 語意被切碎,檢索撈到的片段沒頭沒尾
太大的塊 → 一塊塞太多主題,向量變得模糊,反而撈不準
通常會讓相鄰的塊留一點重疊(overlap),避免橫跨兩塊的句子被硬生生切斷。
══════════════════════════════════════════════════════
🧗 遇到的困難
・Discord bot 不知道怎麼加入伺服器
Discord 開發者後台選擇OAuth2,OAuth2 URL 產生器選bot
下滑勾選提供機器人使用的權限,完成後複製並點開最下方的URL
・Discord bot 收不到訊息內容
Discord 開發者後台要記得打開 Message Content Intent,
否則 bot 只看得到「有人講話」,卻讀不到「到底講了什麼」
・Discord bot 無法傳送訊息
不建議直接使用discord節點,容易401授權錯誤
在此使用Http Request的方式來解決此問題,類似於Line機器人做法
更新:後續換成社群節點的discord action是可以的順利運作的
・第一次匯入特別久
建庫是「每一塊都要算一次向量」,PDF 越多越久。
但這是一次性的:建完之後問答只查向量、不重算,速度就回來了
══════════════════════════════════════════════════════
📝 小結:RAG、LLM與discord的結合,帶來獨一無二的體驗
整套系統說穿了,就是三件事:
把你信任的書餵進去(建庫)、讓問題先去書架翻兩頁(RAG)、再用你天天在用的聊天室把答案遞到面前(Discord)。
它其實不炫,就是一個很單純的組合:
・隱私,是自建的底線——文件從頭到尾沒離開過這台電腦
・專精,是自建的價值——它只讀你挑的東西,也只說你認同的那套觀點
・好用,是 Discord 送的紅利——現成、免費,還附帶一句「輸入中」
通用 AI 是路邊的萬事通,這套自建知識庫則是你親手養出來的專科醫師。
差別不在「能不能問」,而在「它的答案有沒有依據、你能不能查證」。
你選了哪些書,就決定了它會成為什麼樣的專家。
這大概就是自建知識庫最迷人的地方——它不是把 AI 外包給大公司,而是把「你相信什麼」留下來,變成一套只屬於你的答案。
如果你有問題或想交流,都歡迎留言 :)
══════════════════════════════════════════════════════
#n8n #Ollama #Qdrant #Discord #RAG #LocalFirst
5 個愛心0 則留言
登入並驗證手機後就能留言。登入