开始使用免费开始使用

递归地拆分文档

按单个字符拆分简单且可预测,但常常会产生不理想的块。在本练习中,您将对之前加载的论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》应用递归字符拆分。

回忆一下,递归字符拆分会遍历一个字符列表,依次按每个字符进行拆分,以检查是否能在 chunk_size 限制之下生成块。

本练习是课程的一部分

使用 LangChain 的 Retrieval Augmented Generation (RAG)

查看课程

练习说明

  • 定义一个 LangChain 递归字符文本分割器,使用字符列表 ['\n', '.', ' ', ''] 进行递归拆分,chunk_size 设为 75chunk_overlap 设为 10
  • 使用您定义的 text_splitter 和合适的方法来拆分 document

交互式实操练习

通过完成这段示例代码来试试这个练习。

loader = PyPDFLoader("rag_paper.pdf")
document = loader.load()

# Define a text splitter that splits recursively through the character list
text_splitter = ____(
    ____,
    chunk_size=75,  
    chunk_overlap=10  
)

# Split the document using text_splitter
chunks = text_splitter.____
print(chunks)
print([len(chunk.page_content) for chunk in chunks])
编辑并运行代码