TikaDocumentConverter

TikaDocumentConverter

TikaDocumentConverter 는 다양한 형식의 파일(PDF, DOCX, HTML 등)을 문서(Document)로 변환하는 통합 컴포넌트예요. 인덱싱 파이프라인에서 파일 내용을 Document Store에 인덱싱할 때 쓰여요.

출처: 문서

본문

개요 (Overview)

TikaDocumentConverter 컴포넌트는 다양한 형식의 파일(pdf, docx, html 등)을 문서로 변환해요. 인덱싱 파이프라인에서 파일 내용을 Document Store에 인덱싱할 때 쓸 수 있어요. 파일 경로 또는 ByteStream 객체 목록을 입력으로 받아 변환 결과를 문서 목록으로 출력해요. 선택적으로 meta 입력 파라미터로 문서에 메타데이터를 첨부할 수 있어요.

이 통합은 파일을 파싱하는 Apache Tika를 사용하며, 실행 중인 Tika 서버가 필요해요.

Tika를 실행하는 가장 쉬운 방법은 Docker를 쓰는 거예요: docker run -d -p 127.0.0.1:9998:9998 apache/tika:latest. Docker에서 Tika를 실행하는 더 많은 옵션은 Tika 문서를 참고하세요.

TikaDocumentConverter 컴포넌트를 초기화할 때 tika_url 파라미터로 사용 중인 Tika 서버의 커스텀 URL을 지정할 수 있어요. 기본 URL은 "http://localhost:9998/tika" 예요.

사용법 (Usage)

TikaDocumentConverter 컴포넌트를 쓰려면 tika-haystack 패키지를 설치하세요:

pip install tika-haystack

단독으로 쓰기

from haystack_integrations.components.converters.tika import TikaDocumentConverter
from pathlib import Path

converter = TikaDocumentConverter()
converter.run(sources=[Path("my_file.pdf")])

파이프라인에서 쓰기

from haystack import Pipeline
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack_integrations.components.converters.tika import TikaDocumentConverter
from haystack.components.preprocessors import DocumentCleaner
from haystack.components.preprocessors import DocumentSplitter
from haystack.components.writers import DocumentWriter

document_store = InMemoryDocumentStore()
pipeline = Pipeline()
pipeline.add_component("converter", TikaDocumentConverter())
pipeline.add_component("cleaner", DocumentCleaner())
pipeline.add_component(
    "splitter",
    DocumentSplitter(split_by="sentence", split_length=5),
)
pipeline.add_component("writer", DocumentWriter(document_store=document_store))
pipeline.connect("converter", "cleaner")
pipeline.connect("cleaner", "splitter")
pipeline.connect("splitter", "writer")
pipeline.run({"converter": {"sources": file_paths}})

더 알아보기 (Learn more)