VectifyAI/PageIndex
📑 PageIndex: Document Index for Vectorless, Reasoning-based RAG
PageIndex – 벡터 없이 추론 기반의 검색 증강 생성
무엇인가요 – PageIndex는 일반적인 벡터 스토어 + 청크화 파이프라인을 대체하는 오픈소스 RAG 엔진입니다. 문서의 레이아웃에서 유도된 계층적 트리 인덱스를 사용합니다. 쿼리 시 LLM이 트리를 탐색하며, 자신의 추론(및 전체 대화 컨텍스트)을 활용해 가장 관련 있는 섹션을 찾습니다. 결과적으로 벡터 데이터베이스 없이도 추적 가능하고 설명 가능하며 컨텍스트 인식형 검색 단계를 제공합니다.
핵심 아이디어
| 개념 | PageIndex의 구현 방식 |
|---|---|
| 인덱싱 | PDF(또는 기타 텍스트 중심 문서)를 장, 절, 제목 등의 논리적 구조를 반영하는 트리로 파싱합니다. 가벼운 LLM 모델(index=)이 각 노드를 요약하며, 트리는 임베딩이 아닌 레이아웃에서 유도됩니다. |
| 검색 | 질문이 제기되면 chat 모델(chat=)이 트리를 기반으로 추론하여, 사람처럼 단계적으로 노드를 선택합니다. 모델은 전체 대화 기록, 도메인 지식, 외부 컨텍스트를 모두 시각화하므로 관련성은 순수한 유사성보다 추론에 기반합니다. |
| 벡터 없음 / 청크 없음 | 인덱스가 결정론적 트리이므로 벡터 DB, 유사성 검색, 고정 크기 청크가 필요 없습니다. |
| 설명 가능성 | 모델이 트리를 탐색하는 경로가 시각화되어, 명확한 인용(로컬에서는 페이지 수준, 클라우드에서는 줄 수준)이 가능합니다. |
빠른 시작 (로컬 모드)
pip install -U pageindex
import os
from pageindex import PageIndexClient
os.environ["OPENAI_API_KEY"] = "your-openai-key"
client = PageIndexClient(
index="gpt-5.6-luna", # 트리 구축용 저비용 모델
chat="gpt-5.6-sol", # 추론 검색 수행 모델
)
# PDF 업로드 및 문서 식별자 획득
doc_id = client.submit_document("report.pdf")['doc_id']
# 질문 제기 – 클라이언트가 자동으로 트리를 탐색
answer = client.chat("2023년 운영 마진은 얼마였나요?", doc_id=doc_id)
print(answer)
동일한 SDK는 index="cloud"로 설정하고 PAGEINDEX_API_KEY를 제공하면 PageIndex Cloud에서도 사용 가능합니다.
주요 기능
- 문서의 논리 계층을 반영하는 트리 기반 인덱스.
- LLM 기반 검색: 모델이 다음 탐색 노드를 결정하여 다단계 추론을 가능하게 합니다.
- 로컬 및 클라우드 모드 – 온프레미스에서 전체 파이프라인을 실행하거나, PageIndex의 관리 서비스가 OCR, 이미지 이해, 대규모 코퍼스를 처리합니다(파일 시스템 레이어).
- 비용 효율성: 인덱싱 비용은 ≈ $0.001/페이지. 방문한 노드만 모델에 전달되므로 문서 길이에 관계없이 쿼리 비용은 일정합니다.
- 추적 가능한 인용 – 모든 답변은 정확한 페이지(로컬) 또는 줄(클라우드)에 연결됩니다.
- 스트리밍, 다중 문서 검색, OpenAI/Claude 에이전트 프레임워크용 사전 제작 도구를 갖춘 즉시 사용 가능한 SDK.
벤치마크 및 성능 (README에 기재됨)
- 인덱싱 – $0.001/페이지, 9~1,098페이지의 PDF에서 13초 ~ 4.5분 소요.
- 쿼리 비용 – 52페이지에서는 모델에 전체 PDF를 입력하는 경우보다 2.1배 저렴, 420페이지에서는 16.6배 저렴. ~800페이지 이상에서는 전체 PDF 접근 방식이 컨텍스트 창을 초과합니다.
- 정확도 – FinanceBench QA 벤치마크에서 PageIndex는 98.7% 의 정확도를 달성했으며, 벡터 기반 RAG의 일반적인 ~50%를 크게 상회합니다.
- OSS 벤치마크 – 동반된
PageIndex-OSS-Benchmark리포지토리는 34개 PDF(1,945페이지)에서 62개 검색 질문을 평가하며, 모델 크기와 쿼리당 비용 사이의 명확한 트레이드오프 곡선을 보여줍니다.
일반적인 사용 사례
- 재무 보고서, 규제 제출서, 법적 계약서 – 도메인 지식과 다단계 추론에 의존하는 관련성 필요.
- 기술 매뉴얼 및 의학 문헌 – 긴 구조화된 문서에서 정확한 인용이 요구되는 경우.
- 기업 지식 기반 – 벡터 DB 관리 없이 설명 가능한 검색이 필요한 경우.
라이선스 및 기여
리포지토리는 오픈소스입니다(README에 특정 라이선스가 명시되어 있지 않으므로, 리포지토리 내 LICENSE 파일을 확인하세요). 기여는 풀 리퀘스트를 통해 환영합니다. 또한 OCR, 이미지 이해, 대규모 인덱싱을 위한 상용 클라우드 서비스도 제공합니다.
더 알아보기
- 웹사이트 / 문서 – https://pageindex.ai
- SDK 문서 – https://docs.pageindex.ai
- 블로그 및 벤치마크 세부 정보 – https://pageindex.ai/blog
- GitHub 벤치마크 리포지토리 – https://github.com/VectifyAI/PageIndex-OSS-Benchmark
PageIndex는 벡터나 투명하지 않은 유사성 점수의 오버헤드 없이, 사람처럼 거대하고 복잡한 PDF에서 정보를 검색할 수 있게 해줍니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트