首页 > 其他分享 >RAG中的文本切分策略详解

RAG中的文本切分策略详解

时间:2025-01-12 21:28:48浏览次数:3  
标签:RAG text chunk 切分 详解 CharacterTextSplitter 文本

RAG中的文本切分策略详解

在这里插入图片描述

1. 选择RAG中的文本切分策略

1.1 不同的文本切分策略

  • 1. CharacterTextSplitter - 这是最简单的方法。它默认基于字符(默认为"")来切割,并且通过字符的数量来衡量块的长度

  • 2. RecursiveCharacterTextSplitter - 基于字符列表拆分文本。

  • 3. - 基于不同的文件类型使用不同的切分方法(PDF、word、Python、Markdown等等)

  • 4. - 基于滑动窗口的语义切分

那我们就开始看一下不同的textspliter切分效果如何吧!!!

1.2 CharacterTextSplitter

text = "大家好,我是双天至尊,欢迎关注我,让我们一起探索人工智能AI RAG吧!!!"

from langchain_text_splitters import CharacterTextSplitter

text_splitter = CharacterTextSplitter(
    separator="",
    chunk_size=5,
    chunk_overlap=1, 
    length_function=len,
    is_separator_regex=False
)

text_splitter.split_text(text=text)

在这里插入图片描述

切分原理
chunks = []
chunk_size = 5
chunk_overlap = 1

i = 0

while i < len(text):
    # 开始位置
    if i > 0:
        start = max

标签:RAG,text,chunk,切分,详解,CharacterTextSplitter,文本
From: https://blog.csdn.net/wtl1992/article/details/145098487

相关文章

  • 跟着问题学3.6——YOLO v1&v2&v3 详解
    目标检测任务描述(1)输入一张图片,图片上有个目标,那么该如何描述目标在图像上的位置呢?我们知道,图像是长*宽的尺寸的像素点组成的,可以在图像上设置图像坐标系(比如以左上角为坐标原点,向右向下分别为x,y轴正方向),然后就可以使用边界框选中目标,边界框使用在图像坐标系上的坐标来表......
  • 【Docker】Docker搭建一款开源的RAG聊天应用
    项目介绍Kotaemon是一个由Cinnamon开发的开源项目,旨在提供一个基于检索增强生成(RAG)技术的用户界面,使用户能够与自己的文档进行交互问答。功能特点文档问答:Kotaemon允许用户通过自然语言查询与文档进行交互,快速获取所需信息。这一功能在学术研究、企业文档管理等领域具有广泛应......
  • 网络原理一>UDP协议详解
    UDP和TCP都是应用层中的重要协议,如果做基础架构开发,会用得多一些。  这一篇我们先简单聊一下的UDPTCP格式呈现:我们知道UDP是一种无连接,面向数据报,全双工,不可靠传输特性的网络协议。   基本格式如图:  可以这样看:  也可以这样看:1.源端口和目的端口:我......
  • Cesium小知识:粒子系统的参数详解
    Cesium的粒子系统通过ParticleSystem类提供了一套丰富的参数来控制粒子的生成、行为和外观。以下是这些参数的详细说明,帮助你更好地理解和使用Cesium的粒子系统。基本参数image(String)-粒子图像的URL路径。这个图像是每个粒子在渲染时使用的纹理。startCol......
  • C语言程序环境和预处理详解
    本章重点:程序的翻译环境程序的执行环境详解:C语言程序的编译+链接预定义符号介绍预处理指令#define宏和函数的对比预处理操作符#和##的介绍命令定义预处理指令#include预处理指令#undef条件编译 程序的翻译环境和执行环境在ANSIC的任何一种实现中,存在......
  • 什么是NLP语言:一文详解
    什么是NLP语言:一文详解自然语言处理(NLP,NaturalLanguageProcessing)是计算机科学与人工智能领域的一个重要分支,旨在让计算机能够理解、解释和生成自然语言(即人类语言)。NLP结合了语言学、计算机科学和机器学习,利用统计学和算法分析、处理和生成语言。NLP语言通常指的是自然......
  • 从PyTorch入门到项目实战 | 基础知识篇 | 工欲善其事,必先利其器!详解PyTorch安装与环境
    从PyTorch入门到项目实战......
  • Shell编程详解
    文章目录一、Linux系统结构二、Shell介绍1、Shell简介2、Shell种类3、Shell查询和切换三、Shell基础语法1、注释2、本地变量3、环境变量3.1、查看环境变量3.2、临时设置环境变量3.3、永久设置环境变量4、特殊变量5、控制语句5.1、shell中的中括号5.2、if语句5.3、for循......
  • QBluetoothSocket 详解
    QBluetoothSocket是Qt框架中用于处理Bluetooth套接字的类。它为开发者提供了一种简单的方法来在应用程序中建立Bluetooth设备间的通信。通过QBluetoothSocket,开发者可以创建客户端和服务器之间的Bluetooth连接,进行数据交换等操作。在Qt中,QBluetoothSocket类属......
  • 使用 MongoDB 和 OpenAI 实现 RAG 的实战指南
    在本篇文章中,我们将深入探讨如何使用MongoDB和OpenAI实现检索增强生成(RAG,Retrieve-AugmentedGeneration)。通过结合数据库的高效检索能力和语言模型的生成能力,可以创建出功能强大的应用。接下来,我们将详细介绍如何搭建这样的系统,并提供可运行的代码示例。技术背景介绍......