메타데이터 추출 사용 패턴

메타데이터 추출 사용 패턴

Metadata Extractor 모듈로 LLM을 사용해 메타데이터 추출을 자동화하는 방법을 알아봐요.

출처: 문서

본문

우리의 metadata extractor 모듈은 다음과 같은 "피처 추출기(feature extractors)"를 포함해요:

  • SummaryExtractor - 노드 집합에 대한 요약을 자동으로 추출
  • QuestionsAnsweredExtractor - 각 노드가 답할 수 있는 질문 집합을 추출
  • TitleExtractor - 각 노드의 컨텍스트에 대한 제목을 추출
  • EntityExtractor - 각 노드 콘텐츠에 언급된 개체(즉, 장소·사람·사물의 이름) 추출

그런 다음 Metadata Extractor들을 노드 파서와 연결(chaining)할 수 있어요:

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)


# assume documents are defined -> extract nodes
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]
)

자료 (Resources)

더 알아보기 (Learn more)