Bessouat40/RAGLight

RAGLight is a modular framework for Retrieval-Augmented Generation (RAG). It makes it easy to plug in different LLMs, embeddings, and vector stores, and now includes seamless MCP integration to connect external tools and data sources.

What it solves

RAGLight는 Retrieval-Augmented Generation (RAG) 구현을 간소화하기 위해 설계된 가볍고 모듈화된 Python 라이브러리입니다. 문서 검색과 자연어 추론을 결합하는 통합된 워크플로우를 제공하여 컨텍스트를 인식하는 AI 솔루션을 구축하는 복잡성을 제거하고, 사용자가 다양한 LLM을 사용하여 자신의 문서(PDFs, TXT, code 등)와 채팅할 수 있게 합니다.

How it works

이 라이브러리는 사용자가 LLM 제공업체, 임베딩 모델, 벡터 스토어를 쉽게 교체할 수 있는 모듈형 아키텍처를 제공합니다. 로컬 폴더 또는 GitHub 리포지토리의 데이터를 처리하여 벡터 데이터베이스에 인덱싱하고, 검색 파이프라인을 사용하여 관련 컨텍스트를 LLM에 전달하여 답변을 생성합니다. 또한 하이브리드 검색(BM25 + Semantic) 및 멀티턴 대화를 위한 쿼리 재구성(query reformulation)과 같은 고급 검색 기술을 지원합니다.

Who it’s for

무거운 프레임워크의 오버헤드 없이 유연하고 설정이 쉬운 RAG 파이프라인을 구축하려는 AI 애플리케이션 개발자들을 위한 것입니다. 또한 대화형 CLI wizard와 내장된 Streamlit chat UI가 포함된 배포 가능한 REST API를 통해 비개발자에게도 적합합니다.

Highlights

  • LLM Agnostic: Ollama, OpenAI, Google Gemini, Mistral, AWS Bedrock, vLLM, LMStudio를 포함한 광범위한 제공업체를 지원합니다.
  • Hybrid Search: 키워드 기반의 BM25 검색과 Reciprocal Rank Fusion (RRF)을 사용한 밀집 벡터 검색을 결합합니다.
  • Agentic RAG: RAG 성능을 향상시키기 위한 에이전트 기반 파이프라인을 포함합니다.
  • MCP Integration: MCP 서버를를 통해 코드 실행이나 데이터베이스 액세스 같은 외부 도구 기능을 추가할 수 있습니다.
  • Flexible Ingestion: 로컬 디렉토리(사용자 지정 무시 폴더 포함) 및 GitHub 리포지토리로부터의 인덱싱을 지원합니다.
  • Observability: Langfuse를 통한 통합된 엔드투엔드 트레이싱을 제공합니다.
  • Deployment Ready: raglight serve 명령어를 통해 FastAPI REST API로 배포할 수 있으며, 선택적으로 Streamlit UI를 제공합니다.