🔍오픈소스
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 명령어