理解LangChain的RecursiveCharacterTextSplitter

博客推荐

Understanding LangChain’s RecursiveCharacterTextSplitter讲得真的很好

from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
import os

# 加载 .env 文件中的环境变量
load_dotenv()

llm = ChatOpenAI(
    openai_api_key=os.getenv("OPENAI_API_KEY"),
    openai_api_base=os.getenv("OPENAI_API_BASE_URL"),
)

res = llm.invoke("hello")
print(res.content)

先运行上面这段代码能输出后再去输入文中的代码(主要是为了确保你用了正确的api_key和api_base)

如果你不了解怎么创建.env文件,看这篇文章如何创建和使用.env文件(当然,方法也不止这一种,你只要用了正确的key和base即可)
在这里插入图片描述

  • 6
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RecursiveCharacterTextSplitter 是一个递归字符文本拆分器,可以将一个长字符串按照指定的长度进行拆分,并且支持递归拆分。这个工具通常用于将长文本拆分成多个短文本,以便于处理或者显示。 RecursiveCharacterTextSplitter 的使用方法如下: 1. 首先,导入 RecursiveCharacterTextSplitter 类: ``` from langchain import RecursiveCharacterTextSplitter ``` 2. 创建 RecursiveCharacterTextSplitter 对象,并且传入需要拆分的文本和拆分长度: ``` splitter = RecursiveCharacterTextSplitter(text, max_length) ``` 其中,text 是需要拆分的文本,max_length 是每个拆分出来的文本的最大长度。 3. 调用 split 方法进行文本拆分: ``` result = splitter.split() ``` 这个方法会返回一个列表,包含了拆分出来的所有文本。如果拆分后的文本长度超过了指定的最大长度,会自动递归进行拆分,直到所有的文本长度都小于等于最大长度为止。 举个例子,如果有一个长文本 "This is a sample text that needs to be split into multiple parts",需要将其拆分成每个长度不超过 10 的短文本,可以这样做: ``` from langchain import RecursiveCharacterTextSplitter text = "This is a sample text that needs to be split into multiple parts" max_length = 10 splitter = RecursiveCharacterTextSplitter(text, max_length) result = splitter.split() print(result) ``` 运行结果如下: ``` ['This is a ', 'sample te', 'xt that n', 'eeds to b', 'e split i', 'nto multi', 'ple parts'] ``` 可以看到,将长文本拆分成了多个长度不超过 10 的短文本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值