HTMLToDocument

HTMLToDocument

HTML 파일을 문서로 변환하는 구성 요소예요.

출처: 문서

본문

HTMLToDocument 구성 요소는 HTML 파일을 문서로 변환해요. 인덱싱 파이프라인에서 HTML 파일의 콘텐츠를 Document Store에 인덱싱하거나, 심지어 LinkContentFetcher 뒤의 쿼리 파이프라인에서도 사용할 수 있어요. HTMLToDocument는 HTML 파일 경로 또는 ByteStream 객체의 리스트를 입력으로 받아 파일을 문서 리스트로 변환해요. 선택적으로 meta 입력 파라미터로 문서에 메타데이터를 첨부할 수 있어요.

컴포넌트를 초기화할 때 extraction_kwargs를 선택적으로 설정할 수 있어요. 추출 과정을 커스터마이즈하는 키워드 인자를 담은 딕셔너리예요. 이것들은 기본 Trafilatura extract 함수에 전달돼요. 사용 가능한 인자 전체 목록은 Trafilatura 문서를 참조하세요.

  • 대표적인 파이프라인 위치: PreProcessors 앞, 또는 인덱싱 파이프라인의 맨 시작
  • 필수 run 변수: sources — HTML 파일 경로 또는 ByteStream 객체 리스트
  • 출력 변수: documents — 문서 리스트
  • API reference: Converters
  • 패키지명: haystack-ai

Usage ​

On its own ​

from pathlib import Path
from haystack.components.converters import HTMLToDocument

converter = HTMLToDocument()
docs = converter.run(sources=[Path("saved_page.html")])

In a pipeline ​

HTML 파일의 콘텐츠를 InMemoryDocumentStore에 쓰는 인덱싱 파이프라인 예시예요:

from haystack import Pipeline
from haystack.document_stores.in_memory import InMemoryDocumentStore
from haystack.components.converters import HTMLToDocument
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", HTMLToDocument())
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_names}})