使用LlamaIndex自动提取元数据
在LlamaIndex中,你可以利用大型语言模型(LLMs)来自动提取元数据。本文将介绍如何使用我们的元数据提取器模块来自动化这一过程。
元数据提取器模块
我们的元数据提取器模块包括以下“特征提取器”:
- SummaryExtractor:自动提取一组节点的摘要。
- QuestionsAnsweredExtractor:提取每个节点可以回答的一组问题。
- TitleExtractor:提取每个节点上下文的标题。
- EntityExtractor:提取每个节点内容中提到的实体(如地点、人物、事物的名称)。
使用示例
你可以将这些元数据提取器与我们的节点解析器链式结合使用。以下是一个示例:
from llama_index.core.extractors import (
TitleExtractor,
QuestionsAnsweredExtractor,
)
from llama_index.core.node_parser import TokenTextSplitter
# 定义文本分割器
text_splitter = TokenTextSplitter(
separator=" ", chunk_size=512, chunk_overlap=128
)
# 定义标题提取器和问题提取器
title_extractor = TitleExtractor(nodes=5)
qa_extractor = QuestionsAnsweredExtractor(questions=3)
# 假设文档已定义 -> 提取节点
from llama_index.core.ingestion import IngestionPipeline
pipeline = IngestionPipeline(
transformations=[text_splitter, title_extractor, qa_extractor]
)
nodes = pipeline.run(
documents=documents,
in_place=True,
show_progress=True,
)
或者,你可以将提取的元数据插入到一个索引中:
from llama_index.core import VectorStoreIndex
index = VectorStoreIndex.from_documents(
documents, transformations=[text_splitter, title_extractor, qa_extractor]
)
通过这些方法,你可以自动化地从文档中提取有用的元数据,并将其用于构建索引或其他分析任务。这不仅提高了效率,还使得数据处理更加智能化。