GPT-4o를 이기는 OCR이 있다: PaddleOCR이 RAG 생태계의 표준이 된 이유
문서 파싱 정확도에서 GPT-4o·Gemini 2.5 Pro를 제친 바이두 오픈소스 엔진의 귀환

PDF 한 장을 LLM에게 넘기는 가장 빠른 방법은 무엇인가? 이미지 그대로 붙이면 비용이 치솟고 텍스트만 긁으면 표와 레이아웃이 무너진다. 이 틈새를 정확히 겨냥한 도구가 오늘 깃허브 트렌딩 1위에 올랐다. ★79,000이 넘은 PaddleOCR, 하루 만에 별 105개가 붙었다.
이게 뭔가
PaddleOCR은 바이두(Baidu)가 오픈소스로 공개한 OCR·문서 파싱 엔진이다. 2019년 첫 공개 이후 단순 글자 인식 도구에서 PDF·이미지를 구조화된 Markdown으로 변환하는 Document AI 툴킷으로 진화했다. 100개 이상 언어를 지원하고 Apache-2.0 라이선스라 상업 이용도 무료다. PyPI 다운로드 배지와 6,000개 이상의 레포지토리 의존성이 상용 수준 채택을 방증한다.
왜 지금 뜨는가
두 흐름이 동시에 맞물렸다.
① RAG 파이프라인의 병목이 OCR이다. 기업 문서의 대부분은 PDF나 스캔본이다. 벡터 DB에 집어넣으려면 먼저 텍스트로 변환해야 하는데, 표·수식·다단 레이아웃이 섞인 문서를 제대로 파싱하는 도구가 부족했다. 공식 벤치마크에 따르면 PP-StructureV3는 영문 문서 파싱 오류율 0.145로 GPT-4o(0.233), Gemini 2.5 Pro(0.148), Qwen2.5-VL-72B(0.214)를 모두 앞선다. 오픈소스가 최전선 유료 모델을 이겼다.
② MCP 서버로 에이전트에 직결됐다. 2025년부터 PaddleOCR은 공식 MCP(Model Context Protocol) 서버를 제공한다. Claude나 GPT 기반 에이전트가 도구 호출 한 번으로 PDF를 파싱할 수 있다. AI 에이전트 붐과 정확히 겹쳤다.
③ 초경량 VLM 공개. 2026년 1월 출시된 PaddleOCR-VL-1.5는 1.5B 파라미터 규모의 비전-언어 모델로, 수식(LaTeX)·QR코드·도장까지 인식하면서도 MinerU 2.5보다 14% 빠르다. 로컬 구동이 가능한 크기라는 점이 주목받았다.
핵심 기능
- PP-OCR v4: 텍스트 감지→방향 분류→인식 3단계 파이프라인. CPU만으로도 구동 가능한 경량 모델 포함
- PP-StructureV3: 레이아웃 분석 + 표 추출 + PDF→Markdown 변환. 현재 오픈소스 중 문서 파싱 정확도 최상위
- PaddleOCR-VL-1.5: 경량 VLM 기반, 복잡한 문서도 단일 모델로 처리
- PP-ChatOCR: OCR 결과를 LLM과 연결해 문서에서 특정 정보를 질의응답으로 추출
- 하드웨어 범용성: CPU, GPU(CUDA), Apple Silicon, AMD GPU, Huawei Ascend NPU 지원
누구에게 쓸모 있나
| 대상 | 활용 |
|---|---|
| RAG 구축자 | PDF 논문·계약서 → Markdown 변환 후 청킹 |
| 스타트업 | 영수증·인보이스 자동 데이터 추출 |
| 에이전트 개발자 | MCP 서버로 Claude·GPT에 OCR 능력 직접 추가 |
| 연구자 | 스캔된 학술 문서 대량 텍스트화 |
시작하기
Python 3.8~3.12, Linux/Windows/Mac 지원. GPU 없어도 된다.
# 기본 설치 (PaddlePaddle 백엔드)
pip install paddleocr
pip install paddlepaddle # CPU
pip install paddlepaddle-gpu # CUDA GPU 환경
# HuggingFace 생태계 선호 시
pip install transformers
pip install paddleocr
사용 예시
① 이미지에서 한국어 텍스트 추출 — lang='korean' 한 줄로 한국어 전환
from paddleocr import PaddleOCR
ocr = PaddleOCR(use_angle_cls=True, lang='korean')
result = ocr.ocr('image.jpg', cls=True)
for line in result[0]:
text, confidence = line[1]
print(f"{text} (신뢰도: {confidence:.3f})")
② PDF를 구조화된 Markdown으로 변환 — RAG 전처리에 바로 연결 가능
from paddleocr import PPStructure
pipeline = PPStructure(table=True, ocr=True)
result = pipeline('document.pdf')
for item in result:
print(item['type']) # title / text / table / figure
print(item['res']) # 해당 블록의 인식 결과 (Markdown 형식)
③ 문서에서 특정 정보 질의응답 추출 — LLM 없이도 PP-ChatOCR로 정보 추출
from paddleocr import PPChatOCR
pipeline = PPChatOCR()
result = pipeline.chat(
image='contract.pdf',
query='계약 당사자와 계약 기간을 알려줘'
)
print(result['answer'])
한계·주의
- 손글씨는 약하다. PP-OCR은 인쇄체 최적화다. 자유 필기체에서 인식률이 급락한다.
- PaddlePaddle 의존성. 기본 백엔드는 바이두 자체 프레임워크다. PyTorch 생태계와 충돌 가능성이 있다.
transformers백엔드를 쓰면 회피 가능하지만 설정이 추가로 필요하다. - 한국어 복잡 레이아웃. 벤치마크 최고 성능은 영문·중문 기준이다. 한국어 다단 레이아웃이나 세로쓰기에서는 사전 테스트가 필수다.
- 첫 실행 시 모델 다운로드. 모델 파일을 자동으로 내려받아 수 분이 걸린다. 오프라인 환경에서는 별도 준비가 필요하다.
벤치마크 1위 숫자는 인상적이지만 실제 사용 도메인에서 직접 측정해보는 것이 선행이다. 다만 무료·오픈소스·MCP 지원·멀티하드웨어라는 조합은 RAG 파이프라인 기본 부품으로 삼기에 충분하다.
출처
- PaddlePaddle/PaddleOCR GitHub 레포지토리 — PaddlePaddle (Baidu)
- PaddleOCR 공식 웹사이트 — PaddlePaddle
댓글 0
첫 댓글을 남겨보세요.
