定义和自定义文档(Defining and Customizing Documents)
定义文档(Defining Documents)
文档可以通过数据加载器自动创建,也可以手动构造。
默认情况下,我们所有的数据加载器(包括 LlamaHub 提供的那些)通过 load_data
函数返回 Document
对象。
from llama_index.core import SimpleDirectoryReader
documents = SimpleDirectoryReader("./data").load_data()
你也可以选择手动构造文档。LlamaIndex 暴露了 Document
结构体。
from llama_index.core import Document
text_list = [text1, text2, ...] # 假设 text1, text2 等是你的文本数据
documents = [Document(text=t) for t in text_list]
为了加快原型设计和开发,你还可以使用一些默认文本快速创建文档:
document = Document.example()
自定义文档(Customizing Documents)
本节介绍各种自定义 Document
对象的方法。由于 Document
对象是 TextNode
对象的子类,所有这些设置和细节也适用于 TextNode
对象类。
元数据(Metadata)
文档还提供了包含有用元数据的机会。使用每个文档上的 metadata
字典,可以包含额外的信息,以帮助通知响应并跟踪查询响应的来源。这些信息可以是任何内容,例如文件名或类别。如果你与向量数据库集成,请记住一些向量数据库要求键必须是字符串,值必须是平面的(字符串、浮点数或整数)。
每个文档的 metadata
字典中设置的任何信息都会出现在从文档创建的每个源节点的元数据中。此外,这些信息包含在节点中,使索引能够在查询和响应中利用它。默认情况下,元数据会注入到文本中