Skip to content
LlamaIndex 文档版本 跟随上游 源快照 ef081a33 更新于 2026-10-15

节点解析器是一个很简单的抽象:它接收一组文档,把它们切分成 Node 对象,每个节点是父文档的一块具体内容。文档被切成节点后,它的所有属性(metadata、文本与元数据模板等)都会被子节点继承。关于 Node 与 Document 的属性,可阅读这里。

开始使用

独立使用

节点解析器可以单独使用:

from llama_index.core import Document
from llama_index.core.node_parser import SentenceSplitter

node_parser = SentenceSplitter(chunk_size=1024, chunk_overlap=20)

nodes = node_parser.get_nodes_from_documents(
    [Document(text="long text")], show_progress=False
)

作为变换使用

节点解析器可以纳入摄取流水线中的任意一组变换里。

from llama_index.core import SimpleDirectoryReader
from llama_index.core.ingestion import IngestionPipeline
from llama_index.core.node_parser import TokenTextSplitter

documents = SimpleDirectoryReader("./data").load_data()

pipeline = IngestionPipeline(transformations=[TokenTextSplitter(), ...])

nodes = pipeline.run(documents=documents)

配合索引使用

或者把它设置进 transformations 或全局配置中,这样在用 .from_documents() 构建索引时就会自动生效:

from llama_index.core import SimpleDirectoryReader, VectorStoreIndex
from llama_index.core.node_parser import SentenceSplitter

documents = SimpleDirectoryReader("./data").load_data()

# global
from llama_index.core import Settings

Settings.text_splitter = SentenceSplitter(chunk_size=1024, chunk_overlap=20)

# per-index
index = VectorStoreIndex.from_documents(
    documents,
    transformations=[SentenceSplitter(chunk_size=1024, chunk_overlap=20)],
)

模块

完整说明见模块指南。

BytesRouter 是社区翻译站点,所有译文仅供参考,一切以官方英文原文为准。