LangChain初体验之文档拆分

本文介绍了LangChain中的文本拆分功能,包括按字符、代码(如Python)和Markdown格式拆分文档,以便适应不同应用场景。通过自定义参数调整块的大小和重叠,保持语义相关性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

文档拆分器

加载文档后,您通常希望对其进行转换以更好地适应您的应用程序。最简单的例子是,您可能希望将长文档拆分为适合模型上下文窗口的较小块。LangChain有许多内置的文档转换器,可以轻松拆分、组合、过滤和以其他方式操作文档。

当您想处理长文本时,有必要将该文本拆分为块。尽管这听起来很简单,但这里有很多潜在的复杂性。理想情况下,您希望将语义相关的文本片段放在一起。“语义相关”的含义可能取决于文本的类型。本笔记本展示了几种方法来做到这一点。

在高级别上,文本拆分器的工作方式如下:

  1. 将文本拆分为语义上有意义的小块(通常是句子)。
  2. 开始将这些小块组合成一个更大的块,直到您达到一定的大小(由某些函数测量)。
  3. 一旦你达到了这个大小,让这个块成为自己的文本块,然后开始创建一个有一些重叠的新文本块(以保持块之间的上下文)。

这意味着有两个不同的轴,您可以沿着它们自定义文本拆分器:

  • 文本是如何拆分的
  • 如何测量块大小
按字符拆分

这是最简单的方法。这基于字符(默认为“”)进行拆分,并通过字符数测量块长度。

  1. 文本如何拆分:按单个字符。
  2. 如何测量块大小:通过字符数。
from langchain_text_splitters import CharacterTextSplitter

with open("text_spliter.txt", "r") as f:
    state_of_the_union = f.read()

text
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值