博客
关于我
33 LlamaIndex中的元数据提取:增强文档处理
阅读量:798 次
发布时间:2023-03-25

本文共 1533 字,大约阅读时间需要 5 分钟。

LlamaIndex中的元数据提取:增强文档处理

在处理长文档时,文本块可能缺乏必要的上下文来区分与其他相似的文本块。为了解决这个问题,我们可以利用大型语言模型(LLMs)提取与文档相关的某些上下文信息,以更好地帮助检索和语言模型区分相似的段落。

使用方法

首先,我们定义一个元数据提取器,它接受一系列特征提取器,这些提取器将按顺序处理。然后,我们将这个元数据提取器传递给节点解析器,节点解析器将为每个节点添加额外的元数据。

以下是一个示例代码:

from llama_index.core.node_parser import SentenceSplitter
from llama_index.core.extractors import (
SummaryExtractor,
QuestionsAnsweredExtractor,
TitleExtractor,
KeywordExtractor,
)
from llama_index.extractors.entity import EntityExtractor
transformations = [
SentenceSplitter(),
TitleExtractor(nodes=5),
QuestionsAnsweredExtractor(questions=3),
SummaryExtractor(summaries=["prev", "self"]),
KeywordExtractor(keywords=10),
EntityExtractor(prediction_threshold=0.5),
]

然后,我们可以在输入文档或节点上运行这些转换:

from llama_index.core.ingestion import IngestionPipeline
pipeline = IngestionPipeline(transformations=transformations)
nodes = pipeline.run(documents=documents)

自定义提取器

如果提供的提取器不符合你的需求,你也可以定义一个自定义提取器。例如:

from llama_index.core.extractors import BaseExtractor
class CustomExtractor(BaseExtractor):
async def extract(self, nodes) -> List[Dict]:
metadata_list = [
{
"custom": node.metadata["document_title"] + "\n" + node.metadata["excerpt_keywords"]
}
for node in nodes
]
return metadata_list

extractor.extract() 将自动在底层调用 aextract(),以提供同步和异步的入口点。

在一个更高级的示例中,它还可以利用LLM从节点内容和现有元数据中提取特征。有关更多详细信息,请参阅提供的元数据提取器的源代码。

通过这些方法,你可以在LlamaIndex中高效地提取和利用元数据,从而增强文档处理的效率和准确性。元数据提取就像是一位魔法师,用魔法棒一挥,就能从海量数据中变出你想要的任何信息。

转载地址:http://xyhfk.baihongyu.com/

你可能感兴趣的文章
Objective-C实现洗牌移位密码算法(附完整源码)
查看>>
Objective-C实现测试信用卡号码有效性credit card validator的算法(附完整源码)
查看>>
Objective-C实现海伦公式(附完整源码)
查看>>
Objective-C实现海伦公式(附完整源码)
查看>>
Objective-C实现消息队列(附完整源码)
查看>>
Objective-C实现消息队列(附完整源码)
查看>>
Objective-C实现深度优先搜索迭代算法(附完整源码)
查看>>
Objective-C实现深度优先搜索递归算法(附完整源码)
查看>>
Objective-C实现混合关键字密码算法(附完整源码)
查看>>
Objective-C实现混沌算法(附完整源码)
查看>>
Objective-C实现温度转换算法(附完整源码)
查看>>
Objective-C实现滑动平均滤波(附完整源码)
查看>>
Objective-C实现滤波器(附完整源码)
查看>>
Objective-C实现灰度直方图(附完整源码)
查看>>
Objective-C实现点的多项式算法(附完整源码)
查看>>
Objective-C实现牛顿下山法(附完整源码)
查看>>
Objective-C实现牛顿插值法(附完整源码)
查看>>
Objective-C实现牛顿法求一个数的平方根算法 (附完整源码)
查看>>
Objective-C实现牛顿法算法(附完整源码)
查看>>
Objective-C实现牛顿迭代法(附完整源码)
查看>>