Skip to content

sw-woo/pdf-rag-streamlit

Repository files navigation

Advanced RAG Demo

PDF 문서와 대화하는 최신 RAG(Retrieval-Augmented Generation) 데모 애플리케이션입니다.

Features

  • Semantic Chunking: 의미 기반 문서 분할로 검색 정확도 향상
  • Hybrid Search: BM25 + Vector Search 결합
  • Multi-Query Generation: 다양한 관점의 쿼리 자동 생성
  • RAG-Fusion: Reciprocal Rank Fusion으로 결과 통합
  • FlashRank Reranker: Cross-Encoder 기반 정밀 재정렬
  • Self-Correction (CRAG): 검색 품질 자가 평가 및 자동 재검색
  • Multi-LLM Support: OpenAI, Anthropic, Google 모델 지원
  • Content Moderation: 비속어/Prompt Injection/PII 필터링

Tech Stack

기술 역할
LangChain RAG 파이프라인 프레임워크
FAISS 벡터 검색
FlashRank Cross-Encoder Reranker
Streamlit Web UI

Installation

Using uv (Recommended)

# Clone the repository
git clone https://github.com/yourusername/pdf-rag-streamlit.git
cd pdf-rag-streamlit

# Create virtual environment and install dependencies
uv venv
uv sync

# Run the app
uv run streamlit run rag_advanced_streamlit.py

Using pip

pip install -r requirements.txt
streamlit run rag_advanced_streamlit.py

Usage

  1. 사이드바에서 LLM Provider 선택 (OpenAI / Anthropic / Google)
  2. API Key 입력
  3. PDF 파일 업로드
  4. 질문 입력

RAG Pipeline

PDF 업로드 → Semantic Chunking → Multi-Query → Hybrid Search
    → RAG-Fusion → Reranker → Self-Correction → LLM 응답

License

MIT License

About

pdf-rag-streamlit

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages