superlinear-ai/raglite
🥤 RAGLite is a Python toolkit for Retrieval-Augmented Generation (RAG) with DuckDB or PostgreSQL
해결하는 문제
RAGLite는 Retrieval-Augmented Generation (RAG) 파이프라인 구현을 간소화하기 위해 설계된 경량 Python 툴킷입니다. LangChain이나 PyTorch와 같은 무거운 프레임워크의 복잡성을 제거하고, LLM을 벡터 및 키워드 검색 데이터베이스와 통합하여 AI 응답을 특정 문서에 기반하게 만드는 간편한 방법을 제공합니다.
작동 방식
이 툴킷은 LiteLLM를 통해 LLM 제공자와 데이터베이스(DuckDB 또는 PostgreSQL)를 구성할 수 있습니다. 문서는 마크다운으로 변환되고, 의미적 청크 분할이 적용되며, 다중 벡터 임베딩이 생성됩니다. 검색 시에는 키워드 검색과 벡터 검색을 결합한 하이브리드 검색과 재순서 정렬을 지원하여 가장 관련성 높은 콘텐츠를 찾습니다. 또한 "적응형 검색" 기능을 제공하여 LLM이 사용자 쿼리에 따라 검색을 수행할지 여부와 어떤 내용을 검색할지를 자율적으로 결정할 수 있습니다.
대상 사용자
대규모 ML 프레임워크의 부담 없이 빠르고 유연하며 확장 가능한 RAG 구현을 원하는 개발자, 또는 지식 기반을 Claude Desktop과 같은 MCP 클라이언트와 통합하고자 하는 개발자에게 적합합니다.
주요 특징
- 유연한 백엔드: 저장소로 DuckDB와 PostgreSQL을 지원하며, LLM/임베딩 제공자 유연성은 LiteLLM를 통해 제공.
- 고급 청크 분할: 지연 청크 분할, 컨텍스트 기반 청크 제목, 이진 정수 프로그래밍을 사용한 최적의 의미적 분할을 구현.
- 적응형 RAG: LLM이 프롬프트에 따라 검색을 트리거할 시점과 대상을 자율적으로 결정할 수 있음.
- MCP 통합: Claude Desktop과 같은 AI 클라이언트와 연결하기 위한 내장된 Model Context Protocol 서버 포함.
- 최적화된 성능: 프롬프트 캐시 인식 구조와 폐쇄형 선형 쿼리 어댑터를 통해 검색 품질을 향상시킵니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트