PDF 문서 요약과 질의응답을 위한 RAG 시스템 구축: PyMuPDF와 ChromaDB로 구현한 프레임워크 없이 작동하는 엔진
16시간 전
SEAD-Agent는 PyMuPDF와 ChromaDB를 활용해 프레임워크 없이 RAG 기반 PDF 요약 및 질의응답 시스템을 구현했다. 문서 처리 단계에서 fitz.open을 사용해 PDF를 열고, 각 페이지의 텍스트와 이미지를 추출한다. 텍스트는 최대 512자로 분할하고, 이미지는 Pixtral 12B 기반의 VLM을 이용해 설명 문장을 생성한다. 각 청크에는 고유 ID를 부여해 관리한다. 추출된 내용은 개별적으로 요약되며, DOCUMENT_SUMMARIZATION_PROMPT를 기반으로 LLM이 핵심 요소를 분석해 생성한다. 이후 모든 청크 요약을 결합해 요약 유형(Brief 또는 Detailed)에 따라 최종 요약을 생성한다. 벡터 저장소는 ChromaDB를 사용하며, SentenceTransformer 모델로 텍스트를 임베딩해 저장한다. 질의응답 시에는 사용자 질문을 임베딩하고, 유사도 기반으로 관련 청크를 검색해 답변 생성에 활용한다. 로그 기록을 통해 처리 과정과 검색 결과가 확인되며, 실제 시스템에서는 도시 계획, EcoSphere의 기능, 시나리오 분석 등에 대한 질문에 정확한 정보를 제공한다. 이 구현은 데이터 추출, 청킹, 요약, 임베딩, 검색까지 전 과정을 직접 제어하며, 고도화된 RAG의 핵심 원리를 실습적으로 이해할 수 있게 한다.