Unstructured document loader를 사용하여 다양한 유형의 파일을 로드하는 방법을 다룹니다. Unstructured는 현재 텍스트 파일, 파워포인트, html, pdf, 이미지 등의 로드를 지원합니다.
필요한 시스템 종속성 설정을 포함하여 Unstructured를 로컬에서 설정하는 방법에 대한 자세한 지침은 이 가이드를 참조하세요.
Overview
Integration details
| Class | Package | Local | Serializable | JS support |
|---|---|---|---|---|
| UnstructuredLoader | langchain-unstructured | ✅ | ❌ | ✅ |
Loader features
| Source | Document Lazy Loading | Native Async Support |
|---|---|---|
| UnstructuredLoader | ✅ | ❌ |
Setup
Credentials
기본적으로langchain-unstructured는 파티셔닝 로직을 Unstructured API로 오프로드해야 하는 더 작은 설치 공간을 설치하며, 이를 위해서는 API key가 필요합니다. 로컬 설치를 사용하는 경우 API key가 필요하지 않습니다. API key를 얻으려면 이 사이트로 이동하여 API key를 받은 다음 아래 셀에 설정하세요:
Installation
Normal Installation
다음 패키지는 이 노트북의 나머지 부분을 실행하는 데 필요합니다.Installation for Local
파티셔닝 로직을 로컬에서 실행하려면 여기 Unstructured 문서에 설명된 대로 시스템 종속성 조합을 설치해야 합니다. 예를 들어, Mac에서는 다음과 같이 필요한 종속성을 설치할 수 있습니다:pip 종속성은 다음과 같이 설치할 수 있습니다:
Initialization
UnstructuredLoader는 다양한 파일 유형에서 로드할 수 있습니다. unstructured 패키지에 대한 모든 내용을 읽으려면 해당 문서를 참조하세요. 이 예제에서는 텍스트 파일과 PDF 파일 모두에서 로드하는 방법을 보여줍니다.
Load
Lazy Load
Post Processing
추출 후unstructured 요소를 후처리해야 하는 경우, UnstructuredLoader를 인스턴스화할 때 post_processors kwarg에 str -> str 함수 목록을 전달할 수 있습니다. 이는 다른 Unstructured loader에도 적용됩니다. 아래는 예제입니다.
Unstructured API
더 작은 패키지로 빠르게 시작하고 최신 파티셔닝을 사용하려면pip install unstructured-client와 pip install langchain-unstructured를 실행할 수 있습니다. UnstructuredLoader에 대한 자세한 내용은 Unstructured provider 페이지를 참조하세요.
api_key를 전달하고 partition_via_api=True로 설정하면 loader가 호스팅된 Unstructured serverless API를 사용하여 문서를 처리합니다. 무료 Unstructured API key는 여기에서 생성할 수 있습니다.
Unstructured API를 자체 호스팅하거나 로컬에서 실행하려면 여기의 지침을 확인하세요.
UnstructuredLoader를 사용하여 단일 API에서 여러 파일을 Unstructured API를 통해 일괄 처리할 수도 있습니다.
Unstructured SDK Client
Unstructured API를 사용한 파티셔닝은 Unstructured SDK Client에 의존합니다. client를 커스터마이즈하려면UnstructuredLoader에 UnstructuredClient 인스턴스를 전달해야 합니다. 아래는 자체 requests.Session() 사용, 대체 server_url 전달, RetryConfig 객체 커스터마이징과 같은 client의 기능을 커스터마이즈하는 방법을 보여주는 예제입니다. client 커스터마이징 또는 sdk client가 허용하는 추가 매개변수에 대한 자세한 내용은 Unstructured Python SDK 문서와 API Parameters 문서의 client 섹션을 참조하세요. 모든 API Parameters는 UnstructuredLoader에 전달되어야 합니다.
경고: 아래 예제는 최신 버전의 UnstructuredClient를 사용하지 않을 수 있으며 향후 릴리스에서 호환성이 깨지는 변경 사항이 있을 수 있습니다. 최신 예제는 Unstructured Python SDK 문서를 참조하세요.
Chunking
UnstructuredLoader는 이전 loader인 UnstructuredFileLoader 및 기타 loader가 했던 것처럼 텍스트를 그룹화하기 위한 매개변수로 mode를 지원하지 않습니다. 대신 “chunking”을 지원합니다. unstructured의 chunking은 “\n\n” 또는 “\n”과 같은 일반 텍스트 기능을 기반으로 청크를 형성하는 익숙한 다른 chunking 메커니즘과 다릅니다. 대신, 모든 문서는 각 문서 형식에 대한 특정 지식을 사용하여 문서를 의미론적 단위(문서 요소)로 분할하며, 단일 요소가 원하는 최대 청크 크기를 초과하는 경우에만 텍스트 분할을 사용합니다. 일반적으로 chunking은 최대 청크 크기를 초과하지 않으면서 가능한 한 큰 청크를 형성하기 위해 연속적인 요소를 결합합니다. Chunking은 CompositeElement, Table 또는 TableChunk 요소의 시퀀스를 생성합니다. 각 “chunk”는 이 세 가지 유형 중 하나의 인스턴스입니다.
chunking 옵션에 대한 자세한 내용은 이 페이지를 참조하되, mode="single"과 동일한 동작을 재현하려면 chunking_strategy="basic", max_characters=<매우-큰-숫자>, include_orig_elements=False로 설정할 수 있습니다.
Loading web pages
UnstructuredLoader는 로컬에서 실행될 때 기본 Unstructured partition의 url 매개변수를 채우는 web_url kwarg를 허용합니다. 이를 통해 HTML 웹 페이지와 같은 원격으로 호스팅되는 문서를 파싱할 수 있습니다.
사용 예제:
API reference
모든UnstructuredLoader 기능 및 구성에 대한 자세한 문서는 API reference를 참조하세요: python.langchain.com/api_reference/unstructured/document_loaders/langchain_unstructured.document_loaders.UnstructuredLoader.html
Connect these docs programmatically to Claude, VSCode, and more via MCP for real-time answers.