引言
文档/节点
概念
Document
和 Node
对象是 LlamaIndex 中的核心抽象。
文档(Document) 是任何数据源(例如 PDF、API 输出或从数据库检索的数据)的通用容器。它们可以手动构建,也可以通过Llama-index的数据加载器自动创建。默认情况下,文档会存储 文本 以及 其他一些属性。下面列出了其中一些属性。
- metadata: 可以附加到文本的注释词典。
- relationships: 包含与 其他文档/节点 的 关系 的字典。
节点表示源文档的“块”,可以是文本块、图像或其他。与文档类似,它们包含元数据和与其他节点的关系信息。
节点(Node)是 LlamaIndex 中的一等公民。您可以选择直接定义节点及其所有属性。您也可以选择通过我们的 NodeParser
类将源文档“解析”为节点。默认情况下,从文档派生的每个节点都将从该文档继承相同的元数据(例如,文档中归档的“file_name”会传播到每个节点)。
使用模式
以下是一些有关文档和节点的简单代码片段。
文档 Documents
Python
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)
节点 Nodes
Python
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)
文档/节点使用方式
请查看我们的深入指南,了解有关如何使用文档/节点的更多详细信息。
- 使用文档
- 使用节点
- 插入到流程