프로젝트 소개

Unstructured는 비정형 데이터를 위한 오픈소스 전처리 라이브러리입니다. 이미지와 텍스트 문서 — PDF, HTML, Word 문서, 이메일 및 기타 여러 형식 — 를 수집하고 분할하여 언어 모델 워크플로에 적합한 구조화된 출력으로 변환합니다. 핵심 기능 - `partition` 함수는 파일 유형을 자동 감지하고 형식별 파티셔너(예: `partition_pdf`, `partition_text`)로 라우팅합니다. - 출력은 문자열 또는 구조화된 형식으로 직렬화할 수 있는 문서 요소 목록입니다. - 모듈식 함수와 커넥터가 데이터 수집 및 전처리를 위한 시스템을 구성하며, 여러 플랫폼에 적용할 수 있도록 설계되었습니다. - README는 또한 에이전트에 문서 처리를 노출하는 MCP 서버 제공(Unstructured Transform)을 설명하며, 에이전트 세션 내에서 파싱, 보강, 청킹 및 임베딩을 통해 60개 이상의 파일 유형을 처리합니다. 설치 및 사용법 - PyPI를 통해 설치: 일반 텍스트, HTML, XML, JSON 및 이메일에는 `pip install unstructured`; 모든 문서 유형에는 `pip install "unstructured[all-docs]"`; 또는 `unstructured[docx,pptx]`와 같은 특정 추가 기능을 사용합니다. - 선택적 시스템 종속성으로는 libmagic-dev(파일 유형 감지), poppler-utils(이미지/PDF), tesseract-ocr(OCR, 추가 언어용 tesseract-lang 포함), libreoffice(MS Office 문서)가 있습니다. pandoc은 pypandoc-binary를 통해 번들로 제공됩니다. - Docker 이미지는 x86_64 및 Apple silicon용으로 게시되며, 이미지는 커밋 해시, 버전 및 `latest`로 태그가 지정되고 `make docker-build`로 로컬에서 빌드할 수도 있습니다. - 로컬 개발은 종속성 관리를 위해 `uv`를 사용하며, `make install`은 `uv sync --locked --all-extras --all-groups`를 실행합니다. 선택적 pre-commit 훅과 `make check`/`make tidy`가 포매팅 및 린팅을 지원합니다. 문서 및 커뮤니티 프로젝트는 빠른 시작, 핵심 기능, 커넥터, 개념 및 통합을 위해 docs.unstructured.io를 안내합니다. 보안 정책, 버그 보고 템플릿(환경 정보용 `scripts/collect_env.py` 포함), 회사 웹사이트, 전체 API 문서, 별도의 배치 처리 저장소(unstructured-ingest) 링크를 제공합니다. 텔레메트리 README에 따르면 기본적으로 경량 분석이 전송됩니다. 가져오기 시 라이브러리 로드 핑과 각 최상위 공개 partition 호출당 최선의 로컬 시도입니다. 런타임 이벤트는 패키지 버전, 정규화된 플랫폼/Python/아키텍처 값, 고정 열거형 partition 특성, 집계된 최종 요소 수를 URL 쿼리 매개변수로 포함하며, 요청 본문과 문서 내용, 파일 이름, 경로, URL, MIME 값, 예외 세부 정보, 자격 증명 또는 영구 식별자는 포함하지 않는다고 합니다. 전송은 비차단 방식이며, 리디렉션, 재시도, 응답 본문 다운로드 또는 큐가 없고 프록시 또는 netrc 설정을 참조하지 않는다고 설명됩니다. 가져오기 또는 파티셔닝 전에 `DO_NOT_TRACK` 또는 `SCARF_NO_ANALYTICS`를 비어 있지 않은 값으로 설정하여 옵트아웃할 수 있습니다.