Skip to content

文档 / 节点#

概念#

文档(Document)和节点(Node)对象是 LlamaIndex 中的核心抽象。

文档是围绕任何数据源的通用容器 - 例如 PDF、API 输出或从数据库中检索的数据。它们可以手动构建,也可以通过我们的数据加载器自动生成。默认情况下,文档存储文本以及一些其他属性。以下是其中一些属性。

  • metadata - 可以附加到文本的注释字典。
  • relationships - 包含与其他文档 / 节点的关系的字典。

: 我们正在测试允许文档存储图像,并积极努力改进其多模态能力。

节点表示源文档的“块”,无论是文本块、图像还是其他内容。与文档类似,它们包含元数据和与其他节点的关系信息。

节点是 LlamaIndex 中的一等公民。您可以选择直接定义节点及其所有属性。您还可以选择通过我们的 NodeParser 类将源文档“解析”为节点。默认情况下,从文档派生的每个节点都会继承该文档的相同元数据(例如,文档中的“文件名”字段会传播到每个节点)。

使用模式#

以下是一些简单的代码片段,可帮助您开始使用文档和节点。

文档#

from llama_index.core import Document, VectorStoreIndex

text_list = [text1, text2, ...]
documents = [Document(text=t) for t in text_list]

# 构建索引
index = VectorStoreIndex.from_documents(documents)

节点#

from llama_index.core.node_parser import SentenceSplitter

# 加载文档
...

# 解析节点
parser = SentenceSplitter()
nodes = parser.get_nodes_from_documents(documents)

# 构建索引
index = VectorStoreIndex(nodes)

文档 / 节点使用#

查看我们的深入指南,了解有关如何使用文档 / 节点的更多详细信息。