PDF 문서와 대화하는 최신 RAG(Retrieval-Augmented Generation) 데모 애플리케이션입니다.
- 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 필터링
| 기술 | 역할 |
|---|---|
| LangChain | RAG 파이프라인 프레임워크 |
| FAISS | 벡터 검색 |
| FlashRank | Cross-Encoder Reranker |
| Streamlit | Web UI |
# 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.pypip install -r requirements.txt
streamlit run rag_advanced_streamlit.py- 사이드바에서 LLM Provider 선택 (OpenAI / Anthropic / Google)
- API Key 입력
- PDF 파일 업로드
- 질문 입력
PDF 업로드 → Semantic Chunking → Multi-Query → Hybrid Search
→ RAG-Fusion → Reranker → Self-Correction → LLM 응답
MIT License