🔍오픈소스

OpenRAG: 명령어 한 줄로 RAG 시스템 구축하기

복잡한 RAG 시스템을 커맨드 한 줄로 실행할 수 있는 오픈소스 플랫폼

원본 링크
#RAG#OpenRAG#문서검색#AI챗봇

RAG란 무엇인가?

RAG(Retrieval-Augmented Generation)는 AI가 답변을 생성하기 전에 관련 문서를 먼저 검색하고, 그 내용을 기반으로 답변하는 구조입니다.

일반 LLM의 한계

회사 내부 문서를 알지 못함
최신 데이터 반영 불가
틀린 답변을 자신있게 하는 경우 발생

RAG의 작동 원리

질문 입력 → 관련 문서 검색 → 문서를 LLM에 전달 → 문서 기반 답변 생성

즉, "검색 + 생성"을 결합한 구조입니다.

RAG 구축의 어려움

기존에는 RAG 시스템을 만들기 위해 다양한 요소를 직접 연결해야 했습니다:

문서 파싱 (PDF, DOC, 표 등)
문서 청킹(chunking)
임베딩 모델 연결
벡터 DB 구축
검색 파이프라인
LLM API 연결
채팅 인터페이스

실무에서는 보통 일주일 이상 소요되는 작업이었습니다.

OpenRAG의 등장

OpenRAG는 "RAG를 커맨드 한 줄로 만들자"는 아이디어에서 시작된 프로젝트입니다.

실행 방법

bash
uvx openrag

이게 전부입니다!

OpenRAG의 주요 기능

자동으로 제공되는 것들

문서 업로드 및 파싱: Docling 기반으로 PDF, 표 구조 포함
의미 기반 검색: 키워드가 아닌 문맥 기반 검색
채팅 인터페이스: 문서 + AI 대화 UI
시각적 워크플로: Langflow 기반 파이프라인 편집
즉시 실행: Docker 기반

기술 스택

Frontend: Next.js
Backend: FastAPI
Workflow: Langflow
Search: OpenSearch
Parser: Docling

실제 사용 흐름

문서 업로드 
→ Docling 파싱 
→ chunk 생성 
→ 임베딩 생성 
→ OpenSearch 저장 
→ 질문 입력 
→ semantic search 
→ LLM 답변 생성

사용자는 "문서 업로드 → 질문"만 하면 됩니다.

지원 문서 포맷

문서

PDF, DOCX, PPTX, TXT, Markdown

데이터

CSV, XLSX, JSON, YAML

웹/텍스트

HTML, 웹페이지 URL, 코드 파일

PDF 처리의 강점

Docling을 활용하여 다음 구조까지 파싱합니다:

표(table)
다단 레이아웃
제목(heading) 구조
캡션

단순 텍스트 추출이 아닌 문서 구조를 유지한 채 chunking 하는 것이 특징입니다.

현실적인 한계

현재 보고된 문제점들:

PDF 테이블 파싱이 5분 이상 소요
ingestion 속도 이슈
일부 워크플로 버그
스캔 PDF는 OCR 과정 필요
500페이지 이상 대형 문서 처리 시 시간 소요

프로젝트 현황

GitHub Stars: 약 2,100개
활발한 개발 진행 중
오픈 이슈 100개 이상 (빠르게 발전 중인 단계)

정리

RAG: AI가 문서를 검색해서 답변하는 구조

OpenRAG: RAG 시스템을 커맨드 한 줄로 구축하는 플랫폼

RAG는 이제 AI 서비스의 기본 아키텍처가 되어가고 있습니다. 기업 내부 지식 검색, 고객지원 AI, 개발 문서 assistant 등 대부분 RAG 기반으로 구축됩니다.

예전: RAG 구축 = 엔지니어링 프로젝트

현재: RAG 구축 = CLI 명령어