21 LlamaIndex中的文档和节点:核心抽象

LlamaIndex中的文档和节点:核心抽象

在LlamaIndex中,文档(Document)和节点(Node)是两个核心抽象。理解它们的概念和使用模式对于有效地利用LlamaIndex至关重要。

概念

文档(Document)

文档是一个通用容器,可以包含任何数据源,例如PDF文件、API输出或从数据库中检索的数据。文档可以手动构造,也可以通过数据加载器自动创建。默认情况下,文档存储文本以及其他一些属性,例如:

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

注意:我们正在积极改进LlamaIndex的多模态能力,目前处于beta阶段,支持文档存储图像。

节点(Node)

节点代表源文档的一个“块”,无论是文本块、图像还是其他形式。与文档类似,节点也包含元数据和与其他节点的关系信息。

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

使用模式

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

文档(Document)

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)

节点(Node)

from llama_index.core.node_parser import SentenceSplitter

# 加载文档
...

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

# 构建索引
index = VectorStoreIndex(nodes)

通过这些简单的示例,你可以开始在LlamaIndex中使用文档和节点。理解这些核心抽象将帮助你更有效地管理和查询数据。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

需要重新演唱

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值