文件分塊策略
文件分塊是指在嵌入長文本進行搜尋或 RAG 之前將其分割成可檢索的片段的方法。
概述
區塊大小和邊界會默默決定檢索品質,因此正確呈現往往比選擇更高級的模型更重要。
深入探討
分塊將大文檔變成適合嵌入模型並與提問方式保持一致的小段落。固定大小的分塊按標記或字元數分割,通常有重疊,因此跨越邊界的句子不會被孤立。遞歸分塊沿著分隔符號的層次結構(段落,然後是句子,然後是單字)進行分割,以尊重自然結構。語意分塊透過嵌入相似性來將句子分組,打破主題的轉移。文件感知分塊遵循格式本身,根據 Markdown 標題、HTML 標籤或程式碼函數進行拆分。核心張力是粒度:小塊提供精確匹配,但會失去周圍的上下文,而大塊則承載上下文,但會削弱相關性,並且可能會超出令牌限制。許多管道存儲小塊以供檢索,但將擴展的父段落提供給模型。
技術洞察
重疊是最簡單的可靠性技巧:在相鄰區塊之間重複大約 10% 到 20% 的標記可確保跨邊界分割的事實在至少一個區塊中仍然完好無損。語義分塊更進一步,嵌入每個句子並測量鄰居之間的餘弦距離,然後在距離峰值高於閾值的地方進行切割。這會產生主題一致的可變長度區塊,但代價是在索引期間進行額外的嵌入計算。
戰略影響
速度與規模
語言工作流程可以在不犧牲一致性的情況下更快地移動。
交通與覆蓋範圍
它擴展了跨語言和溝通方式的訪問。
更明確的決策
團隊可以花更多時間進行判斷,而自動化則可以處理重複。
文件分塊策略的未來
分塊正在從固定的預處理步驟轉向自適應和模型感知的步驟。像後期分塊這樣的方法首先嵌入整個文檔,然後池化塊向量,以便每個部分保留全域上下文。佈局感知解析器越來越多地保留表格、標題和圖形,而不是將它們扁平化為嘈雜的文字。隨著上下文視窗的成長,一些管道檢索更少但更大的區塊,但智慧分塊對於成本、延遲和精確定位仍然至關重要,而不是消失。
現實世界的實施
將 200 頁的產品手冊按章節標題分開,因此有關「保固條款」的問題只會檢索該章節,而不是整本書。
使用句子重疊,這樣跨越一個段落末尾和下一個段落開頭的定義至少在一個區塊中保持完整。
從語意上對研究論文進行分塊,使方法討論和結果討論成為獨立的、主題連貫的段落。
依函數或類別邊界對程式碼庫進行分割,以便開發人員的查詢可以擷取完整的、可運行的單元而不是半函數。
風險與防護欄
幻覺的事實可以悄悄地進入報告、支持流程或研究成果。
及時的敏感性可能會在類似的請求中產生不一致的結果。
如果存取控制薄弱,敏感文字資料可能會暴露。
實施路線圖
在推出之前定義輸出格式、語氣和品質標準。
當準確性很重要時,請使用可信任來源進行地面回應。
為高風險輸出保留人工審查檢查點。
追蹤故障模式並定期重新訓練提示或工作流程。
不斷探索
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Document Chunking Strategies quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
常見問題
什麼是文件分塊策略?
文件分塊是指在嵌入長文本進行搜尋或 RAG 之前將其分割成可檢索的片段的方法。區塊的大小和邊界悄悄地決定了檢索質量,因此正確地選擇它們通常比選擇更高級的模型更重要。
為什麼相鄰區塊之間經常會添加重疊?
重疊在鄰居之間重複令牌切片,因此跨越分割的資訊不會被切成兩半並遺失。
語意分塊使用什麼來決定分割位置?
語意分塊在鄰居之間的餘弦距離峰值處嵌入句子和中斷,從而產生主題連貫的片段。
非常小的區塊和非常大的區塊之間的主要權衡是什麼?
小塊精確匹配,但會剝離周圍的上下文,而大塊會保留上下文,但會削弱相關性並達到標記限制。
遞歸分塊如何決定在哪裡中斷文字?
遞歸分塊沿著分隔符號清單走下去,以尊重自然結構,同時保持在大小目標範圍內。
「從小到大」或父文檔檢索模式背後的想法是什麼?
您可以匹配小塊以提高精度,然後擴展到周圍的父文本,以便模型獲得完整的上下文。