跳转到内容

文档 / 节点

文档和节点对象是LlamaIndex中的核心抽象概念。

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

  • metadatametadata - 一个可附加到文本的注释字典。
  • relationshipsrelationships - 包含与其他文档/节点关系的字典。

注意: 我们已提供测试版功能,允许文档存储图像,并正在积极改进其多模态能力。

一个节点代表源文档的一个“片段”,无论是文本片段、图像还是其他内容。与文档类似,它们包含元数据以及与其他节点的关系信息。

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

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

from llama_index.core import Document, VectorStoreIndex
text_list = [text1, text2, ...]
documents = [Document(text=t) for t in text_list]
# build index
index = VectorStoreIndex.from_documents(documents)
from llama_index.core.node_parser import SentenceSplitter
# load documents
...
# parse nodes
parser = SentenceSplitter()
nodes = parser.get_nodes_from_documents(documents)
# build index
index = VectorStoreIndex(nodes)

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