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)로 변환하거나 LlamaIndexDocument객체(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에서 직접 가져온 것입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트