iT邦幫忙

0

Day 17:個人知識庫構建:初探向量資料庫與文本切塊(Embeddings 基礎)

  • 分享至 

  • xImage
  •  

前幾天讓 AI 寫摘要或草擬回信時,資料量基本上就只有一篇文章或一封信,直接塞進提示詞沒什麼毛病。但如果今天你想讓 AI 讀懂你整整一年的筆記、十幾份專案 PDF,或者上百頁的課堂講義,直接複製貼上保證會超出長度限制,而且費用也會直接炸裂。這時候就得靠檢索增強生成(RAG)這套打法,而它背後的核心就是文本切塊與向量資料庫。

為什麼不能把整座山丟給 AI?
大語言模型雖然能讀長文,但輸入字數有上限,而且讀越多越容易「迷失在中間」,抓不到真正關鍵的那句話。更重要的是,我們問的問題通常只跟其中幾段有關。如果能像圖書館員一樣,先精準找出最相關的兩三頁,再把這兩三頁遞給 AI 回答,不僅速度極快、回答精準,還省下了大把 Token 成本。

第一步:文本切塊(Text Splitting)
一本幾萬字的筆記不可能直接丟進去,我們必須先拿剪刀把它剪成一段段小豆腐塊(Chunks)。切塊不能隨意一刀切,切太小會碎到沒有上下文,切太大又失去了精準定位的意義。在 n8n 裡,我們通常會設定每個區塊大概幾百字,並且保留前後三五十個字的重疊(Overlap)。這樣能確保某句話剛好被剪刀切在中間時,語意不會硬生生斷掉。

第二步:向量嵌入(Embeddings)把文字變成坐標
切好豆腐塊後,電腦其實看不懂文字背後的意思。這時候要透過 Embedding 模型,把每一段文字轉換成一長串數字組成的空間坐標(向量)。這件事妙在哪裡?在數字空間裡,「蘋果」和「香蕉」這兩個坐標會靠得非常近,因為它們都是水果;而「蘋果」和「挖土機」的坐標就會相隔十萬八千里。

第三步:向量資料庫(Vector Store)的收納與搜尋
有了這堆帶有語意坐標的文字塊,我們需要一個特殊的倉庫把他們存起來,這就是向量資料庫(比如 Pinecone、Qdrant 或輕量的記憶庫)。當使用者問了一句「上次那個專案的伺服器密碼放在哪?」,系統會先把你問的這句話也轉成空間坐標,然後去資料庫裡抓出「坐標距離最近」的那幾塊文字。

在 n8n 裡的視覺化積木
在過去,要自己寫程式串接切塊、Embedding 模型和向量資料庫,得折騰不少環境與套件。但在 n8n 裡,它把這些全部做成了專屬的子模組積木。你只要把文件載入器、文字切割器、Embedding 節點像拼積木一樣掛在向量資料庫節點下方,整個轉化存檔的鏈條就自動打通了。搞懂這些基本功後,明天我們就真正動手把這套架構接起來,打造一個能讀懂你本週筆記的私有問答助理。


*提醒邦友,使用第三方服務/API 時,請務必評估資安風險與隱私保護
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言