RAG 與知識庫
Chunking 文本切片是什麼?切片邊界決定檢索品質
Chunking(文本切片)是把長篇文本切分成多個較小的片段,並為每個片段建立索引,讓系統在檢索時能更精準地找到相關內容,提升 RAG 系統的準確性與效率。切太大會讓相關度被稀釋、檢索不精準,切太小又容易切斷語意,讓上下文變得不完整。實務上常搭配重疊區段一起切,避免切在句子中間,兼顧檢索精準度與語意完整。切片切得好不好,直接決定一套知識庫查得準不準。
Chunking 文本切片是什麼?切片邊界決定檢索品質
一份一萬字的文件直接丟進知識庫,檢索出來的往往是一大段不相干的內容。
Chunking 就是先把長文切成一小段一小段,檢索才能精準命中你要的那一段。
你將學到什麼
定義
把長篇文本切成較小片段並建立索引,提升檢索精準度。
白話比喻
像把一本厚字典拆成一頁頁索引卡,翻卡片比翻整本書快得多。
跟誰容易搞混
常跟 Overlap 切片重疊度搞混。Overlap 是切片之間保留的重複區塊,避免語意斷裂。
定義
Chunking 是將長篇文本切分成多個較小的片段,並為每個片段建立索引,讓 RAG 系統檢索時能更精準地找到相關內容。
常見切片策略有四種:固定長度切片,簡單快速好控制;滑動視窗切片,固定長度加重疊區域,保留脈絡不易切斷語意;段落切片,依段落或標題換行切分,語意完整結構清晰;語意切片,依語意邊界切分,最符合語意邏輯但需要額外模型支援。
白話比喻
Chunking 像是把一本厚厚的字典拆成一張張索引卡片,每張卡片只寫一個主題。要查資料時翻卡片,比翻整本書快得多,也更容易找到剛好對應的那一段。
為什麼要做 Chunking
| 好處 | 說明 |
|---|---|
| 提升檢索精準度 | 小塊更容易對應到使用者的問題,減少雜訊 |
| 提高召回率 | 更多切片代表更多命中機會,不錯過重要資訊 |
| 保留語意脈絡 | 適當重疊可避免切到一半,導致語意不完整 |
| 降低成本 | 檢索與生成時只處理相關小段,省下不必要的花費 |
實際用例
以 RAG 應用為例,實際流程是:匯入文件,做 Chunking 設定切片長度與重疊,向量化每個切片,建立索引存入向量資料庫,之後才是使用者提問、檢索相關切片、組合上下文、生成回答。切得好,答得才準。
常見誤解
最常見的誤解是以為切片設定一次就好,不用再調整。實務上切片長度與重疊比例需要依實際檢索效果持續測試與微調,這也是 RAG 檢索增強生成 成效好壞的關鍵基礎。
本文源起本文內容出自酒Ann 的「AI 實戰陪跑班」課程教材,由酒Ann 編寫成彙編條目。想系統性搞懂 AI 名詞,歡迎追蹤 酒Ann 的 Facebook。
延伸學習
常見問答
切片要切多長比較好?
沒有絕對答案,實務建議每段落在 200 到 500 字之間,依模型與文件類型調整。切太長會讓相關度被稀釋、檢索不精準;切太短又容易失去上下文,這個平衡需要依實際檢索效果調整。
為什麼切片之間要保留重疊區段?
因為固定長度切片容易把一句話從中間切斷,導致語意不完整。保留 10% 到 20% 的重疊區段,可以避免切到一半、語意斷裂的問題,同時還能保留前後脈絡。
Chunking 跟 Embedding 向量化是同一步嗎?
不是,是接續的兩步。Chunking 先把文件切成小段落,<a href="/blog/glossary-embedding">Embedding 向量化</a> 才是把每個切片轉成向量表示,再存進向量資料庫供檢索使用,切片是向量化之前的準備工作。
