OneRAG - 챗봇PM이 만든, 설정 한 줄로 벡터DB/LLM 등이 교체 가능한 RAG | GeekNews
핵심 포인트
- 1비개발자 챗봇 PM이 만든 OneRAG는 RAG 파이프라인의 번거로운 코드 수정 없이 설정 파일 한 줄만으로 벡터DB, LLM, 리랭커 등 핵심 컴포넌트를 교체할 수 있도록 설계되었습니다.
- 2이 솔루션은 Weaviate, Pinecone, Qdrant 등 다수의 Vector DB와 Gemini, OpenAI, Claude 같은 LLM, Jina, Cohere Reranker 등 폭넓은 컴포넌트들을 지원합니다.
- 3FastAPI 기반으로 Docker Compose를 포함하며 MIT 라이선스로 제공되는 OneRAG는 챗봇 개발 경험에서 발생하는 반복적인 요구사항 대응을 간소화하기 위한 실용적인 접근법입니다.
OneRAG는 비개발자 챗봇PM이 RAG 기반 챗봇 프로젝트를 다수 수행하며 겪었던 불편함을 해소하기 위해 개발된 오픈소스 RAG 솔루션입니다. 의뢰자 요구사항에 따라 RAG 파이프라인과 벡터 DB 활용 방식 등이 조금씩 달라질 때마다 코드를 수정해야 하는 번거로움을 해결하고자 만들어졌습니다.
핵심 방법론은 "설정 파일 한 줄만 변경하여 어떤 컴포넌트든 교체 가능하게 하는 것"입니다. 이는 고도로 모듈화된 아키텍처를 기반으로 하며, 각 RAG 구성 요소에 대한 추상화된 인터페이스를 정의하고, 런타임 시 설정 파일을 통해 특정 구현체를 동적으로 로드하여 사용할 수 있도록 설계된 것으로 보입니다. 이를 통해 사용자는 코드 수정 없이 설정 값 변경만으로 RAG 파이프라인의 다양한 컴포넌트를 즉시 교체하거나 조합할 수 있습니다. 예를 들어, config.yaml과 같은 설정 파일에서 vector_db: "weaviate"를 vector_db: "qdrant"로 변경하는 것만으로 백엔드 벡터 DB를 교체할 수 있습니다.
지원하는 주요 컴포넌트는 다음과 같습니다:
- Vector DB: Weaviate, Chroma, Pinecone, Qdrant, pgvector, MongoDB
- LLM: Gemini, OpenAI, Claude, OpenRouter
- Reranker: Jina, Cohere, Google, OpenAI, Local
- Cache: Memory, Redis, Semantic
- Extra 기능: GraphRAG, PII Mask, Agent
기술 스택으로는 FastAPI 기반이며, Docker Compose를 포함하여 간편하게 환경을 구축할 수 있습니다. 기본적으로 한국어 NLP를 지원하며, MIT 라이선스를 따릅니다. 사용자는 git clone 및 make quickstart 명령어를 통해 5분 내에 시스템을 구동할 수 있습니다. 개발자는 한국 AI 서비스 분야에서 일해왔으며, 아키텍처 피드백 및 추가 컴포넌트 제안을 환영하고 있습니다.