emcf/thepipe

Get clean data from tricky documents, powered by vision-language models ⚡

thepipe – AI 강화 문서 추출

기능
thepipe(thepipe-api 패키지를 통해 설치)는 PDF, Word 문서, PowerPoint, 노트북, 오디오/비디오, 이미지, ZIP, 심지어 전체 디렉토리와 같은 복잡한 파일을 깔끔한 마크다운, 표, 이미지로 변환합니다. 또한 이미지 전용 스캔에 대해 OCR을 실행하고 사용자가 제공한 Pydantic 스키마와 일치하는 구조화된 데이터를 추출할 수도 있습니다.

작동 방식

  • 핵심 scrape_file 함수는 파일을 읽고, 선택적으로 페이지 이미지를 OpenAI 멀티모달 모델과 같은 비전 언어 모델(VLM)로 전송하여 청크(text, 선택적 images, 메타데이터를 포함하는 객체) 목록을 반환합니다.
  • 청크화는 페이지, 길이, 마크다운 섹션, 키워드별로 수행할 수 있으며, 선택적 sentence-transformers 엑스트라를 설치하면 의미론적 변화에 따라 수행할 수 있습니다. 실험적인 에이전트형 청커는 LLM을 사용하여 분할 지점을 결정합니다.
  • 오디오/비디오의 경우, 선택적 openai-whisper 엑스트라가 미디어를 전사하고 대표 프레임을 추출합니다.
  • 추출된 청크는 OpenAI 스타일의 채팅 메시지(chunks_to_messages)로 변환하거나 LlamaIndex Document 객체(Chunk.to_llamaindex)로 변환할 수 있습니다.
  • 구조화된 추출은 OpenAI의 구조화된 출력 기능을 활용합니다. Pydantic 모델을 전달하면 라이브러리가 검증된 인스턴스를 반환합니다.

주요 특징

  • 멀티모달 AI 스크래핑 – OpenAI 호환 클라이언트(OpenAI, OpenRouter, 로컬 OpenLLM 등)와 작동합니다.
  • 플러그인 가능한 엑스트라 – 가벼운 기본 설치; [audio], [semantic], [llama-index] 또는 [gpu]를 추가하여 Whisper, sentence-transformers, LlamaIndex 지원 또는 전체 GPU 가속을 이용할 수 있습니다.
  • CLI – thepipe <source>는 API 키, 모델 선택, 텍스트 전용 출력, 포함 정규식 및 상세도 플래그를 지원합니다.
  • 통합 준비 완료 – 출력은 LLM에 직접 공급하거나, 벡터 DB(ChromaDB, LlamaIndex 등)에 저장하거나, RAG 파이프라인에서 사용할 수 있습니다.

일반적인 사용법

from thepipe.scraper import scrape_file
from openai import OpenAI

client = OpenAI()                     # OpenAI 호환 클라이언트
chunks = scrape_file(
    "paper.pdf",
    openai_client=client,
    model="gpt-5.6-luna",
    include_input_images=True,
)

# 채팅 프롬프트로 LLM에 전송
from thepipe.core import chunks_to_messages
messages = [{"role": "user", "content": [{"type": "text", "text": "Summarize this paper."}]}]
messages += chunks_to_messages(chunks)
response = client.chat.completions.create(model="gpt-5.6-luna", messages=messages)

설치

pip install thepipe-api               # CPU 전용 베이스
pip install thepipe-api[audio]        # 오디오/비디오용 Whisper
pip install thepipe-api[semantic]     # 의미론적 청크화용 sentence-transformers
pip install thepipe-api[llama-index]  # LlamaIndex 변환 지원
pip install thepipe-api[gpu]          # PyTorch + 전체 GPU 스택

(GPU를 많이 사용하는 엑스트라의 경우, 먼저 PyTorch 인덱스에서 CPU 휠을 설치해야 할 수도 있습니다.)

사용 시기

  • PDF, 슬라이드 또는 스캔 이미지에서 마크다운 준비가 된 깔끔한 텍스트가 필요한 경우.
  • 다운스트림 파이프라인이 멀티모달 LLM이나 벡터 저장소에 의존하는 경우.
  • 많은 개별 도구를 조합하지 않고도 오디오/비디오 전사와 구조화된 데이터 추출을 모두 처리할 수 있는 단일 라이브러리를 원하는 경우.

제한 사항

  • VLM 기반 스크래핑에는 OpenAI 호환 API 키(또는 자체 호스팅 VLM 엔드포인트)가 필요합니다.
  • GPU 가속은 선택 사항입니다. CPU 전용 실행은 시각적으로 무거운 작업 부하에서 더 느릴 수 있습니다.
  • 일부 기능(의미론적/에이전트형 청크화, 구조화된 추출)은 추가 종속성이 필요합니다.

위 정보는 프로젝트의 README에서 직접 가져온 것입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트