RAGFlow 빠른 시작 — Docker로 서버 띄우기
RAGFlow 빠른 시작 — Docker로 서버 띄우기
RAGFlow는 로컬에서 서버를 띄우고, 데이터셋을 만들고, 파일 파싱을 거쳐 데이터셋 기반으로 AI 채팅을 하는 일련의 과정으로 흘러가요. 여기서는 그 전체 흐름 중 서버 구동부터 데이터셋 생성, 채팅 설정까지를 잡아볼게요.
사전 요구사항
공식적으로 x86 CPU와 Nvidia GPU를 지원해요. ARM64에서도 테스트는 하지만 Docker 이미지는 ARM용으로 배포하지 않으니 ARM 플랫폼이면 직접 이미지를 빌드해야 합니다.
- CPU ≥ 4 cores (x86);
- RAM ≥ 16 GB;
- Disk ≥ 50 GB;
- Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1;
- Python ≥ 3.13;
- gVisor: RAGFlow의 코드 실행기(sandbox) 기능을 쓸 때만 필요해요.
서버 시작
Linux 기준으로 저장소를 클론하고 버전을 고정한 뒤 Docker 이미지로 서버를 띄워요.
$ git clone https://github.com/infiniflow/ragflow.git
$ cd ragflow/docker
$ git checkout -f v0.27.2
기본 설정으로는 http://IP_OF_YOUR_MACHINE만 입력하면 돼요. 기본 HTTP 서빙 포트가 80이라 설정을 바꾸지 않았다면 포트 번호 없이 접속할 수 있습니다.
LLM 구성
RAGFlow는 RAG 엔진이라 결국 LLM과 함께 써야 해요. 페이지 오른쪽 위 로고 > Model providers 에서 원하는 LLM을 선택하고 API 키를 등록하세요. System Model Settings 에서 기본으로 쓸 채팅 모델·임베딩 모델·이미지-to-텍스트 모델 등을 지정합니다. 일부 모델(예: 이미지-텍스트 모델 qwen-vl-max )은 특정 LLM에 종속돼 있어서 API 키를 갱신해야 접근할 수 있는 것도 있어요. Ollama·Xinference·LocalAI로 로컬 LLM을 쓰는 것도 지원하지만 이 빠른 시작 가이드 범위는 아니에요.
첫 데이터셋 만들기
데이터셋은 사실상 파일들의 집합이에요. 질의응답을 하나의 데이터셋 또는 여러 데이터셋에 기반해서 진행할 수 있어요. 지원하는 파일 형식은 문서(PDF, DOC, DOCX, TXT, MD, MDX), 표(CSV, XLSX, XLS), 그림(JPEG, JPG, PNG, TIF, GIF), 슬라이드(PPT, PPTX)입니다.
- 상단 중앙의 Dataset 탭 > Create dataset 클릭
- 데이터셋 이름을 입력하고 OK를 눌러 확정
- 데이터셋의 Configuration 페이지에서 임베딩 모델과 청킹 방법(템플릿) 선택
- + Add file > Local files 로 파일을 업로드
- 업로드된 파일 항목의 재생(play) 버튼을 눌러 파싱 시작
임베딩 모델을 선택하고 파일 한 번 파싱하면 더는 바꿀 수 없다는 점을 꼭 기억해야 해요. 같은 데이터셋 안의 모든 파일을 같은 임베딩 모델로 파싱해야 같은 임베딩 공간에서 비교할 수 있기 때문입니다.
파싱 결과 개입과 AI 채팅
RAGFlow는 가시성·설명가능성을 지향해서 청킹 결과를 보고 필요하면 개입할 수 있어요. 파싱이 끝난 파일을 클릭해 Chunk 페이지에서 각 청크를 확인하고, 더블클릭으로 키워드·질문·태그를 추가하거나 수동 수정할 수 있습니다. 이후 Chat 탭에서 데이터셋 기반 채팅 어시스턴트를 만들면 준비 완료예요.
RAGFlow는 HTTP와 Python API로도 기능을 통합할 수 있어요. RAGFlow API 키 발급, HTTP API 레퍼런스, Python API 레퍼런스 문서를 참고하세요.
더 알아보기
- 데이터셋 상세 구성은 Configure Dataset 참고
- 커스텀 문서 처리 파이프라인은 Ingestion pipeline 참고
- 전체 사용 가이드는 User guides 참고