结构感知切分(示意)
结构感知切分(示意)
from langchain_text_splitters import MarkdownHeaderTextSplitter, RecursiveCharacterTextSplitter
headers = [("#", "h1"), ("##", "h2"), ("###", "h3")]
md_splitter = MarkdownHeaderTextSplitter(headers_to_split_on=headers)
sections = md_splitter.split_text(md_text)
recursive = RecursiveCharacterTextSplitter(chunk_size=400, chunk_overlap=80)
chunks = [c for s in sections for c in recursive.split_text(s.page_content)]抽样检查首尾
抽样检查首尾
for c in random.sample(chunks, 20):
print(repr(c.text[:60]), "...", repr(c.text[-60:]))
# 人工确认没有以半个句子/半个表格开头结尾标题与页码写入元数据:即使块被切开,引用与阅读上下文仍可恢复。