RAG-分塊策略

分塊策略在檢索增強生成(RAG)方法中起著至關重要的作用,它使文檔能夠被劃分為可管理的部分,同時保持上下文。每種方法都有其特定的優勢,適用于特定的用例。將大型數據文件拆分為更易于管理的段是提高LLM應用效率的最關鍵步驟之一。目標是向LLM提供完成特定任務所需的確切信息,不多也不少。

什么是分塊

分塊涉及將文本劃分為可管理的單元或“塊”,以實現高效處理。這種分割對于語義搜索、信息檢索和生成式 AI 應用等任務至關重要。每個塊都保留上下文和語義完整性,以確保結果連貫。

分塊技術及其策略

策略名稱描述優點缺點實施建議

固定長度分塊

將文本按預定義長度(如基于令牌或字符)分割,適合簡單文檔或快速處理。

簡單性、統一性、效率

上下文丟失、相關性問題、潛在信息丟失

選擇合適大小,考慮使用重疊窗口以保持上下文

基于句子的分塊

按句子邊界分割,確保每個塊是完整的思想,適合短響應如客戶查詢。

保持上下文、易于實現、更好的可讀性

塊大小不一致、不適合長句、控制力弱

使用NLP庫檢測句子,必要時合并短句

段落分塊

將文檔按段落分割,每個段落通常包含完整想法或主題,適合結構化文檔。

更豐富的上下文、邏輯分割

大小不一致、可能超出行牌限制

監控塊大小,必要時分割大段落以保持上下文

文檔分塊

將整個文檔視為一個塊或最小分割,保持完整結構和上下文,適合法律或醫學文檔。

保持完整上下文、適合結構化文本、簡單

可擴展性問題、效率低、缺乏細節提取

適用于不希望分割影響流程的場景

滑動窗口分塊

通過滑動窗口創建重疊塊,確保相鄰塊共享內容,適合需保持跨部分上下文的文檔。

上下文連續性、提高檢索效果

冗余、計算成本高

優化窗口大小和重疊,使用去重技術處理冗余

語義分塊

使用嵌入或機器學習模型按語義意義分割,確保每個塊主題連貫。

上下文相關性、靈活性、提高檢索準確性

復雜性、處理時間長、計算成本高、閾值調整

利用預訓練模型,平衡成本和粒度

遞歸分塊

使用層次分隔符或多個分隔符逐步分割為小塊,適合大型結構化文檔。

層次上下文、可擴展性、意義塊、細粒度控制

實現復雜、可能丟失上下文、復雜性高、計算開銷大

使用文檔結構標識層次,存儲塊位置元數據

上下文增強分塊

為每個塊添加周圍塊的摘要或元數據,保持序列間的上下文,適合長文檔。

增強上下文、提高連貫性

復雜性、存儲開銷大

生成簡潔摘要,考慮用關鍵術語或概念作為元數據

模式特定分塊

按內容類型(如文本、表格、圖像)分別處理,每個類型按其性質分塊。

定制方法、提高準確性

實現復雜、集成困難

使用OCR處理圖像,將表格轉為結構化數據,保持索引一致

代理分塊

使用AI(如大型語言模型)按內容結構和語義建議塊邊界,或按代理角色任務組織。

任務導向效率、聚焦相關數據、靈活性、智能分割

復雜設置、計算密集、成本高、可能過分專業化、丟失全局上下文

選擇性使用,優化LLM提示,明確代理角色和任務規則

子文檔分塊

總結整個文檔或大節并將摘要作為元數據附加到單個塊,適合大型文檔集。

層次檢索、上下文深度

額外處理、元數據管理復雜

自動化摘要生成,高效存儲摘要

混合分塊

結合多種分塊策略,動態適應不同查詢類型或文檔結構,適合多用途系統。

靈活性、優化性能

邏輯復雜、維護難度大

制定選擇策略的標準,廣泛測試以確保可靠性

基于令牌的分塊

按預定義令牌數(如單詞或子詞)分割,確保塊在模型令牌限制內。

優化語言模型、精確控制塊大小、一致性

上下文碎片化、忽略語義結構、靈活性有限

確保塊在模型令牌限制內

分塊優化關鍵策略

  • 重疊塊:包括塊之間的某些重疊可以確保在段落之間不會丟失關鍵信息。這對于需要無縫過渡的任務尤其重要,如對話生成或摘要。
  • 動態塊大小:根據模型的容量或文本的復雜性調整塊大小可以提升性能。較小的塊適合 BERT 等模型,而較大的塊適用于需要更廣泛上下文的生成任務。
  • 遞歸:遞歸或多級分塊允許處理復雜的文本結構,例如將文檔拆分為章節、節和段落。
  • 向量化的對齊:分塊技術的選擇對檢索系統中的向量表示有顯著影響。句子轉換器和 BERT 或 GPT 等嵌入通常用于與分塊粒度對齊的最佳向量化

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/79437.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/79437.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/79437.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux網絡編程 深入解析TFTP協議:基于UDP的文件傳輸實戰

知識點1【TFTP的概述】 學習通信的基本:通信協議(具體發送上面樣的報文)、通信流程(按照什么步驟發送) 1、TFTP的概述 tftp:簡單文件傳輸協議,**基于UDP,**不進行用戶有效性驗證 …

「數據可視化 D3系列」入門第十一章:力導向圖深度解析與實現

D3.js 力導向圖深度解析與實現 力導向圖核心概念 力導向圖是一種通過物理模擬來展示復雜關系網絡的圖表類型,特別適合表現社交網絡、知識圖譜、系統拓撲等關系型數據。其核心原理是通過模擬粒子間的物理作用力(電荷斥力、彈簧引力等)自動計…

音頻格式轉換

1. 下載ffmpeg https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-7.1.1-full_build.7z 2. 配置ffmpeg環境變量 3.安裝pydub pip install pydub 4.編寫轉化工具代碼 from pydub import AudioSegment def convertM4aToWav(m4a,wav):sound AudioSegment.from_file(m4a, f…

基于spring boot 集成 deepseek 流式輸出 的vue3使用指南

本文使用deepseek API接口流式輸出的文章。 環境要求 jdk17 spring boot 3.4 代碼如下: package com.example.controller;import jakarta.annotation.PostConstruct; import org.springframework.ai.chat.messages.AssistantMessage; import org.springframework.ai.chat.mes…

微博輻射源和干擾機

微波輻射源和干擾機是電子戰和通信領域中的兩個重要概念,它們在軍事、民用及科研中具有廣泛應用。以下是兩者的詳細解析及其相互關系: ?1. 微波輻射源? ?定義?: 微波輻射源是指能夠主動發射微波(頻率范圍通常為 ?300 MHz&…

2025年4月16日華為留學生筆試第三題300分

?? 點擊直達筆試專欄 ??《大廠筆試突圍》 ?? 春秋招筆試突圍在線OJ ?? 筆試突圍OJ 03. 智慧城市網絡優化 問題描述 K小姐是一家智慧城市服務提供商的網絡架構師。她負責規劃城市邊緣計算節點的布局,以提供更快速、穩定的網絡服務。 城市內有 n n

多線程編程的簡單案例——單例模式[多線程編程篇(3)]

目錄 前言 1.wati() 和 notify() wait() 和 notify() 的產生原因 如何使用wait()和notify()? 案例一:單例模式 餓漢式寫法: 懶漢式寫法 對于它的優化 再次優化 結尾 前言 如何簡單的去使用jconsloe 查看線程 (多線程編程篇1)_eclipse查看線程-CSDN博客 淺談Thread類…

pytorch基本操作2

torch.clamp 主要用于對張量中的元素進行截斷(clamping),將其限制在一個指定的區間范圍內。 函數定義 torch.clamp(input, minNone, maxNone) → Tensor 參數說明 input 類型:Tensor 需要進行截斷操作的輸入張…

一次制作參考網雜志的閱讀書源的實操經驗總結(附書源)

文章目錄 一、背景介紹二、書源文件三、詳解制作書源(一)打開Web服務(二)參考網結構解釋(三)閱讀書源 基礎(四)閱讀書源 發現(五)閱讀書源 詳細(六…

并發設計模式實戰系列(2):領導者/追隨者模式

🌟 ?大家好,我是摘星!? 🌟 今天為大家帶來的是并發設計模式實戰系列,第二章領導者/追隨者(Leader/Followers)模式,廢話不多說直接開始~ 目錄 領導者/追隨者(Leader/…

自求導實現線性回歸與PyTorch張量詳解

目錄 前言一、自求導的方法實現線性回歸1.1自求導的方法實現線性回歸的理論講解1.1.1 線性回歸是什么?1.1.2線性回歸方程是什么?1.1.3散點輸入1.2參數初始化1.2.1 參數與超參數1.2.1.1 參數定義1.2.1.2 參數內容1.2.1.3 超參數定義1.2.1.4 超參數內容1.…

2025年機電一體化、機器人與人工智能國際學術會議(MRAI 2025)

重要信息 時間:2025年4月25日-27日 地點:中國濟南 官網:http://www.icmrai.org 征稿主題 機電一體化機器人人工智能 傳感器和執行器 3D打印技術 智能控制 運動控制 光電系統 光機電一體化 類人機器人 人機界面 先進的運動控制 集成制造系…

線性代數 | 知識點整理 Ref 3

注:本文為 “線性代數 | 知識點整理” 相關文章合輯。 因 csdn 篇幅合并超限分篇連載,本篇為 Ref 3。 略作重排,未整理去重。 圖片清晰度限于引文原狀。 如有內容異常,請看原文。 《線性代數》總復習要點、公式、重要結論與重點釋…

CFD中的動量方程非守恒形式詳解

在計算流體力學(CFD)中,動量方程可以寫成守恒形式和非守恒形式,兩者在數學上等價,但推導方式和應用場景不同。以下是對非守恒形式的詳細解釋: 1. 動量方程的守恒形式 首先回顧守恒形式的動量方程&#xff…

Leetcode 1504. 統計全 1 子矩形

1.題目基本信息 1.1.題目描述 給你一個 m x n 的二進制矩陣 mat ,請你返回有多少個 子矩形 的元素全部都是 1 。 1.2.題目地址 https://leetcode.cn/problems/count-submatrices-with-all-ones/description/ 2.解題方法 2.1.解題思路 單調棧 時間復雜度&…

【Docker】運行錯誤提示 unknown shorthand flag: ‘d‘ in -d ----詳細解決方法

使用docker拉取Dify的時候遇到錯誤 錯誤提示 unknown shorthand flag: d in -dUsage: docker [OPTIONS] COMMAND [ARG...]錯誤原因解析 出現 unknown shorthand flag: d in -d 的根本原因是 Docker 命令格式與當前版本不兼容,具體分為以下兩種情況: 新…

華為OD機試真題——攀登者2(2025A卷:200分)Java/python/JavaScript/C++/C語言/GO六種最佳實現

2025 A卷 200分 題型 本文涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、測試用例以及綜合分析; 并提供Java、python、JavaScript、C、C語言、GO六種語言的最佳實現方式! 2025華為OD真題目錄全流程解析/備考攻略/經驗分享 華為OD機試真題《攀登者2…

qt硬件與軟件通信中 16進制與十進制轉化

1. 首先上代碼, 這是在qt語言上的操作 截取 01 03 0C 00 00 00 00 00 00 00 0C 00 0C 00 0C 93 70 這串16進制數值進行處理,截取這樣一段內容 00 0C 00 0C 00 0C 字節數組轉字符串。從bytearray數組轉換為string. QString CustomTcpSocket::recieveInfo() {QByteArr…

圖形變換算法

一、學習目的 (1)掌握多面體的存儲方法。 (2)掌握圖形的幾何變換及投影變換。 (3)掌握三維形體不同投影方法的投影圖的生成原理。 (4)掌握多面體投影圖繪制的編程方法。 二、學…

【JAVAFX】自定義FXML 文件存放的位置以及使用

情況 1:FXML 文件與調用類在同一個包中(推薦) 假設類 MainApp 的包是 com.example,且 FXML 文件放在 resources/com/example 下: 項目根目錄 ├── src │ └── sample │ └── Main.java ├── src/s…