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}})