系列文章: Deeptutor (6/7)

DeepTutor Knowledge Base + RAG:讓 AI 學會你的私有資料
大多數人對 AI 的使用,有一個很大的限制:它只知道它訓練資料裡有的東西。
你公司的內部文件、你的課程筆記、你收集的學術論文——這些東西,ChatGPT 不知道。你每次需要用到這些資料時,要嘛自己找、要嘛複製貼上一大段給 AI 看、要嘛期待它能猜到正確的內容。
DeepTutor 的 Knowledge Base 是在解這個問題——讓 AI 學會你自己的資料,然後在對話、研究、測驗裡直接調用。
Knowledge Base 的運作原理
DeepTutor 的知識庫後端用的是 LightRAG——一套以知識圖譜為基礎的 RAG(Retrieval-Augmented Generation)框架。
它和傳統 RAG 的差異在哪?
傳統 RAG 是純向量搜尋:把文件切成段落、轉成向量、查詢時找最相似的段落。這個方法的問題是它處理的是「文字表面的相似度」,而不是「概念之間的關係」。
LightRAG 在向量搜尋之上,增加了知識圖譜的層——它會把文件裡的實體(人名、概念、術語)和它們之間的關係建成一張語義網絡。查詢時不只找相似段落,還會沿著概念之間的連結做推理。
實際效果就是:你問「LightRAG 和傳統 RAG 的差異」,它不只返回「LightRAG」和「RAG」這兩個詞出現的段落,還會把知識庫裡所有關聯概念的脈絡一起帶出來。
建立你的第一個 Knowledge Base
Step 1:進入知識庫管理
在 DeepTutor 左側導覽列點擊「Knowledge Base」,然後建立一個新的知識庫。
建議按主題建庫,不要把所有東西丟進同一個庫:
知識庫 A:機器學習基礎(教科書、課程筆記)
知識庫 B:系統設計(書籍整理、LeetCode 解題筆記)
知識庫 C:工作文件(內部 spec、技術 RFC)
分庫的好處是查詢時範圍更精準,召回的內容更集中,不會讓不同主題的資料互相干擾。
Step 2:上傳文件
目前支援的格式:
- PDF(最常用,支援掃描版,但純文字版效果更好)
- Markdown(.md 文件,知識圖譜建立效果最好)
- 純文字(.txt)
上傳方式:直接拖拽或點選上傳。DeepTutor 會在背景自動處理索引,不需要等待——你可以先去做別的事,幾分鐘到幾十分鐘後索引就完成了(視文件大小和數量而定)。
Step 3:確認索引狀態
在知識庫管理頁面,每個文件會顯示索引狀態:
- Processing:正在建立索引
- Ready:索引完成,可以使用
- Error:索引失敗(通常是 PDF 格式問題,試著轉換格式後重新上傳)
在對話中使用 Knowledge Base
索引完成後,在任何模式的對話中,你都可以指定要使用的知識庫:
「(使用知識庫:機器學習基礎)
根據我的筆記,解釋 Gradient Descent 和 Adam Optimizer 的差異,
特別是我筆記裡提到的 learning rate 調整策略。」
不指定知識庫時,DeepTutor 使用的是它的基礎訓練知識;指定了之後,它會優先調用你的私有資料,再補充它本身的知識。
提升召回品質的五個策略
這是很多人裝好知識庫之後發現「怎麼有時候它答的跟我的文件不一樣」的原因。RAG 的召回品質,很大程度取決於你怎麼準備資料。
1. 文件結構清晰
LightRAG 的知識圖譜建立,很依賴文件的結構信號。有清楚標題層級(H1、H2、H3)的 Markdown 文件,比沒有結構的純文字效果好得多。
如果你的資料是 PDF,可以先用工具轉成 Markdown,再上傳。
2. 一個文件專注一個主題
把「所有關於 Python 的東西」塞成一個 1000 頁的 PDF,不如把它拆成「Python 基礎語法」、「Python 資料結構」、「Python 非同步程式設計」幾個獨立文件。
主題越集中,查詢時的干擾越少。
3. 加入描述性的文件標題和摘要
在文件開頭加一個簡短的說明,告訴 DeepTutor 這份文件是什麼:
# Python Pandas 進階操作筆記
這份文件記錄了 Pandas groupby、pivot_table、merge 和
時間序列處理的進階用法,適合有 Pandas 基礎的讀者。
涵蓋版本:Pandas 2.x這個元描述會影響知識圖譜的節點標記,讓相關查詢更準確地定位到這份文件。
4. 定期更新知識庫
你的筆記會更新,你的理解會深化——知識庫也應該跟著更新。
建議的習慣:每週整理一次學習筆記,把有價值的新內容補進對應的知識庫。不需要每次都從頭建庫,DeepTutor 支援增量上傳,新文件會自動整合進現有的知識圖譜。
5. 測試召回品質
上傳完成後,試著問幾個你知道答案在文件哪裡的問題,確認 DeepTutor 能找到正確的段落。如果召回率不理想,先排查文件格式問題,再考慮是否需要拆分文件。
知識庫 + Quiz 的組合
知識庫最強大的用法之一,是結合 Quiz 模式做主動回憶測試。
「(使用知識庫:系統設計筆記)
根據我筆記裡的 CAP 定理章節,
出三道情境題考我——給我一個系統設計場景,
問我在這個場景下應該選擇 CP 還是 AP 系統,說明理由。」
DeepTutor 會根據你的實際筆記內容出題,而不是出通用的 CAP 定理題目。這個差異很關鍵——你測試的是「你是否記住了自己整理的東西」,不是「你是否知道網路上的標準答案」。
隱私考量
如果你上傳的是敏感文件(公司內部文件、個人資料),確認你的 DeepTutor 是自架的,而不是使用任何第三方托管服務。
自架版的所有知識庫資料存在你的本機或你的伺服器上,LightRAG 的語義索引也在本機處理,API 調用只有在對話推理時才發送到 LLM 提供商(OpenAI、Anthropic),而知識庫的原始資料不會被發送。
如果連 API 調用都想避免,選擇 Ollama 本地模型作為後端,可以做到完全 air-gapped 的私有知識庫問答。