weiwill88/Local_Pdf_Chat_RAG
Transparent Python RAG reference with FAISS + BM25 hybrid retrieval, reranking, Gradio UI, and FastAPI.
해결하는 문제
이 프로젝트는 검색 증강 생성(RAG) 파이프라인의 투명하고 모듈식인 파이썬 구현을 제공합니다. 개발자가 문서가 어떻게 처리되고 검색되어 LLM에 대한 맥락을 제공하는지 학습하고, 검사하며 실험할 수 있도록 교육용 도구로 설계되었으며, 생산 환경에서 바로 사용할 수 있는 서비스는 아닙니다.
작동 방식
시스템은 문서를 구조화된 파이프라인을 통해 처리합니다: 파싱, 청크화, 임베딩 생성. 이후 밀도 기반 검색을 위한 FAISS와 키워드 기반 검색을 위한 BM25를 결합한 하이브리드 검색 전략을 사용합니다. 최종 맥락을 구성하고 LLM에 전달하기 전에 선택적 재정렬 단계(예: CrossEncoder 또는 모델 기반 점수)를 통해 결과를 추가로 개선할 수 있습니다.
대상 사용자
RAG 파이프라인의 내부 동작 방식을 이해하고자 하는 개발자 및 학생들, 그리고 다양한 모델 백엔드를 실험하고자 하는 사용자들입니다.
주요 특징
- 하이브리드 검색: FAISS와 BM25를 결합하여 검색 정확도를 향상시킵니다.
- 모듈식 설계: 핵심 구성 요소(로더, 스플리터, 임베딩, 리트리버, 재정렬기, 생성기)가 교체 가능한 모듈로 분리되어 있습니다.
- 유연한 백엔드 지원: 로컬 Ollama, SiliconFlow, OpenAI 호환 API를 지원합니다.
- 다양한 문서 형식 지원: PDF, TXT, 마크다운, DOCX, XLS/XLSX, PPTX 파일을 처리할 수 있습니다.
- 이중 인터페이스: Gradio 웹 UI와 FastAPI REST API를 모두 포함하고 있습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트