infiniflow/ragflow

RAGFlow is a leading open-source Retrieval-Augmented Generation (RAG) engine that fuses cutting-edge RAG with Agent capabilities to create a superior context layer for LLMs

📚 RAGFlow란 무엇인가?

RAGFlow는 대규모 언어 모델(LLM) 위에 에이전트 계층을 추가하는 오픈소스 검색 증강 생성(RAG) 플랫폼입니다. PDF, Word, 스프레드시트, 이미지, 웹 페이지 등 모든 종류의 문서를 수집하여 검색 가능한 임베딩으로 변환하고, 가장 관련성 높은 청크를 검색하여 LLM이 이를 추론하도록 함으로써 질문에 답변할 수 있습니다. 또한 시스템은 다단계 '에이전트' 검색을 지원하여 모델이 복잡한 질의를 하위 질문으로 분해하고, 증거를 수집하며, 응답 전에 답변을 검증할 수 있습니다.


🚀 시작하기

  • 클라우드 – https://cloud.ragflow.io에서 호스팅 서비스를 사용해 보세요.
  • 로컬 – Docker로 배포(빠른 방법)하거나 소스에서 빌드(완전한 제어)할 수 있습니다. README에는 두 경로 모두에 대한 단계별 명령이 포함되어 있으며, 필수 하드웨어(예: 4 CPU / 16 GB RAM) 및 Docker-Compose 설정도 포함되어 있습니다.

✨ 핵심 기능

기능 설명
템플릿 기반 청킹 다양한 문서 유형에 대한 사전 설정 템플릿을 사용한 지능적이고 설명 가능한 청킹.
지식 컴파일 원시 청크를 위키, 그래프, 마인드맵, 타임라인 또는 스킬 트리와 같은 상위 수준 아티팩트로 변환.
에이전트 검색 다중 턴 검색 및 추론; 낮음, 중간, 높음, 울트라 사고 모드를 선택하여 깊이를 제어.
근거 기반 인용 사용된 청크를 표시하여 환각을 줄이고 추적 가능한 참조를 제공.
이기종 데이터 소스 Word, PPT, Excel, PDF(스캔 포함), 이미지, 구조화 데이터, 웹 페이지 등을 처리.
구성 가능한 모델 간단한 공급자 UI를 통해 모든 LLM, 임베딩 모델 또는 리랭커를 연결.
확장 가능한 아키텍처 Docker 또는 베어 메탈에서 실행할 수 있는 분리된 서비스(Admin, Ingestor, Syncer, API); MySQL, Elasticsearch 또는 내장 Infinity 엔진 지원.

🏗️ 시스템 아키텍처(개괄)

  • 프론트엔드 – React 웹 UI.
  • API 서비스 – UI 및 SDK에서 사용하는 REST 엔드포인트.
  • Ingestor – 문서를 파싱하고, OCR/레이아웃 분석(DeepDoc)을 실행하며, 임베딩을 생성.
  • Syncer – 외부 소스(예: Google BigQuery, 사이트맵)에서 데이터를 주기적으로 가져옴.
  • Admin – 데이터셋, 모델, 사용자 및 시스템 상태를 위한 관리 콘솔.
  • 의존성 – MySQL, MinIO(객체 스토리지), NATS(메시징), KVROCKS(키-값 저장소), 선택적 Elasticsearch/Infinity(벡터 검색용).

📦 설치 빠른 참조

Docker(대부분의 사용자에게 권장)

  1. git clone https://github.com/infiniflow/ragflow.git && cd ragflow/docker
  2. git checkout v1.0.0-rc2
  3. docker compose up -d
  4. 상태 확인: curl -f http://localhost/api/v1/system/healthz
  5. 브라우저에서 http://<host>를 열고 로그인합니다.
  6. 모델 공급자 페이지에서 LLM, 임베딩 및 리랭커를 추가합니다.

소스에서 빌드(개발자용)

  1. Go 1.27, Clang 20, CMake ≥ 4, PCRE2, Node.js(UI용)를 설치합니다.
  2. uv run tools/scripts/download_dev_deps.py를 실행하여 네이티브 라이브러리와 DeepDoc 모델을 가져옵니다.
  3. ./build.sh --all로 모든 서비스를 컴파일합니다.
  4. 의존성 컨테이너를 시작합니다(docker compose … es01 mysql minio nats kvrocks).
  5. 마이그레이션 실행: ./bin/ragflow_server --migrate.
  6. 각 서비스(--admin, --ingestor, --syncer, --api)를 별도의 터미널에서 실행합니다.
  7. (선택 사항) React UI의 경우 cd web && npm install && npm start.

🎯 일반적인 사용 사례

  • 엔터프라이즈 지식 베이스 – 내부 문서, 매뉴얼 및 스프레드시트를 검색 가능한 AI 어시스턴트로 변환.
  • 고객 지원 – 티켓에 응답할 때 정확한 정책 발췌문이나 문제 해결 단계를 검색.
  • 연구 어시스턴트 – 학술 논문을 그래프나 타임라인으로 컴파일하고 에이전트가 종합 질문에 답변하도록 함.
  • 데이터 기반 앱 – 구조화된 소스(BigQuery, 데이터베이스)와 비정형 파일을 결합하여 통합된 LLM 기반 분석 제공.

📚 문서 및 리소스

  • 빠른 시작 및 구성: https://ragflow.io/docs/dev/
  • 사용자 가이드, 개발자 가이드, FAQ 및 API 참조는 모두 동일한 사이트에서 호스팅됩니다.
  • 릴리스 노트와 로드맵은 GitHub에서 공개적으로 제공됩니다.

🤝 커뮤니티 및 기여


📄 라이선스

Apache-2.0 – 상업적 사용, 수정 및 배포를 허용하는 허용적 오픈소스 라이선스.


결론: RAGFlow는 내장된 에이전트 추론, 광범위한 데이터 소스 지원, 원시 문서를 구조화된 지식 아티팩트로 변환하는 도구를 갖춘 프로덕션 등급의 자체 호스팅 RAG 엔진을 제공합니다. 맞춤화 가능하고 확장 가능한 AI 증강 검색 및 답변 시스템이 필요한 개발자와 기업에 적합합니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트