영어 | 简体中文 | 일본어 | 한국어
? RAGFlow란 무엇인가요?
? 데모
? 최신 업데이트
? 주요 특징
? 시스템 아키텍처
? 시작하기
? 구성
? 모델을 포함하지 않고 Docker 이미지 구축
? 임베딩 모델을 포함한 Docker 이미지 구축
? 개발을 위해 소스에서 서비스 시작
? 선적 서류 비치
? 로드맵
? 지역 사회
? 기여
RAGFlow는 깊은 문서 이해를 기반으로 하는 오픈 소스 RAG(Retrieval-Augmented Generation) 엔진입니다. LLM(Large Language Models)을 결합하여 다양하고 복잡한 형식의 데이터에서 근거 있는 인용을 바탕으로 진실한 질문 답변 기능을 제공하는 등 모든 규모의 비즈니스를 위한 간소화된 RAG 워크플로우를 제공합니다.
https://demo.ragflow.io에서 데모를 사용해 보세요.
2024-11-04 deepdoc의 DLA(문서 레이아웃 분석) 모델을 업그레이드합니다.
2024-11-01 파싱된 청크에 키워드 추출 및 관련 질문 생성을 추가하여 검색 정확도를 향상시켰습니다.
2024-09-13 지식베이스 Q&A 검색 모드를 추가합니다.
2024-09-09 의료상담사 템플릿을 추가합니다.
2024-08-22 RAG를 통해 SQL 문에 텍스트를 지원합니다.
2024-08-02 graphrag와 마인드맵에서 영감을 받은 GraphRAG를 지원합니다.
⭐️ 저장소에 별표를 표시하고 흥미로운 새 기능과 개선 사항을 최신 상태로 유지하세요! 새로운 릴리스에 대한 즉각적인 알림을 받으세요! ?
복잡한 형식의 비정형 데이터에서 심층적인 문서 이해 기반 지식 추출.
말 그대로 무제한 토큰의 "데이터 건초 더미에서 바늘"을 찾습니다.
지능적이고 설명이 가능합니다.
선택할 수 있는 템플릿 옵션이 많습니다.
사람의 개입을 허용하는 텍스트 청킹 시각화.
근거 있는 답변을 뒷받침하는 주요 참조 및 추적 가능한 인용을 빠르게 확인합니다.
Word, 슬라이드, Excel, txt, 이미지, 스캔 사본, 구조화된 데이터, 웹 페이지 등을 지원합니다.
개인 및 대기업 모두를 위한 간소화된 RAG 오케스트레이션입니다.
구성 가능한 LLM 및 임베딩 모델.
융합된 재순위화와 결합된 다중 리콜.
비즈니스와의 원활한 통합을 위한 직관적인 API.
CPU >= 4개 코어
RAM >= 16GB
디스크 >= 50GB
도커 >= 24.0.0 및 도커 작성 >= v2.26.1
로컬 컴퓨터(Windows, Mac 또는 Linux)에 Docker를 설치하지 않은 경우 Docker 엔진 설치를 참조하세요.
vm.max_map_count
>= 262144인지 확인하세요.
vm.max_map_count
값을 확인하려면 다음을 수행하세요.$ sysctl vm.max_map_count그렇지 않은 경우
vm.max_map_count
최소 262144의 값으로 재설정하세요.# 이 경우에는 262144:$로 설정했습니다. sudo sysctl -w vm.max_map_count=262144이 변경 사항은 시스템 재부팅 후 재설정됩니다. 변경 사항이 영구적으로 유지되도록 하려면 /etc/sysctl.conf 에서
vm.max_map_count
값을 적절하게 추가하거나 업데이트하세요.vm.max_map_count=262144
저장소를 복제합니다.
$ 자식 클론 https://github.com/infiniflow/ragflow.git
사전 빌드된 Docker 이미지를 빌드하고 서버를 시작합니다.
아래 명령은 RAGFlow slim(
dev-slim
)용 개발 버전 Docker 이미지를 다운로드합니다. RAGFlow 슬림 Docker 이미지에는 임베딩 모델이나 Python 라이브러리가 포함되어 있지 않으므로 크기가 약 1GB입니다.
$ cd 래그플로우/도커 $ docker compose -f docker-compose.yml up -d
참고: 임베딩 모델과 Python 라이브러리가 포함된 RAGFlow Docker 이미지의 크기는 약 9GB이며 로드하는 데 훨씬 더 오랜 시간이 걸릴 수 있습니다.
특정 버전의 RAGFlow slim Docker 이미지를 다운로드하려면 * docker/.env *의 RAGFlow_IMAGE
변수를 원하는 버전으로 업데이트하세요. 예를 들어 RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim
. 이렇게 변경한 후 위 명령을 다시 실행하여 다운로드를 시작하세요.
내장 모델 및 Python 라이브러리를 포함하는 RAGFlow Docker 이미지의 개발 버전을 다운로드하려면 docker/.env 의 RAGFlow_IMAGE
변수를 RAGFLOW_IMAGE=infiniflow/ragflow:dev
로 업데이트하세요. 이렇게 변경한 후 위 명령을 다시 실행하여 다운로드를 시작하세요.
임베딩 모델 및 Python 라이브러리를 포함한 특정 버전의 RAGFlow Docker 이미지를 다운로드하려면 docker/.env 의 RAGFlow_IMAGE
변수를 원하는 버전으로 업데이트하세요. 예를 들어 RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0
입니다. 이렇게 변경한 후 위 명령을 다시 실행하여 다운로드를 시작하세요.
서버를 가동하고 실행한 후 서버 상태를 확인하십시오.
$ docker 로그 -f ragflow-server
다음 출력은 시스템의 성공적인 시작을 확인합니다.
____ ___ ______ ______ __ / __ / | / ____// ____// /____ _ __ / /_/ // /| | / / __ / /_ / // __ | | /| / / / _, _// ___ |/ /_/ // __/ / // /_/ /| |/ |/ / /_/ |_|/_/ |_|____//_/ /_/ ____/ |__/|__/ * 모든 주소(0.0.0.0)에서 실행 중 * http://127.0.0.1:9380에서 실행 * http://xxxx:9380에서 실행 중 정보:작업:종료하려면 CTRL+C를 누르세요.
이 확인 단계를 건너뛰고 RAGFlow에 직접 로그인하면 해당 순간 RAGFlow가 완전히 초기화되지 않을 수 있으므로 브라우저에
network abnormal
오류가 표시될 수 있습니다.
웹 브라우저에 서버의 IP 주소를 입력하고 RAGFlow에 로그인하세요.
기본 설정에서는
http://IP_OF_YOUR_MACHINE
( sans 포트 번호)만 입력하면 됩니다. 기본 HTTP 제공 포트80
기본 구성을 사용할 때 생략될 수 있기 때문입니다.
service_conf.yaml의 user_default_llm
에서 원하는 LLM 팩토리를 선택하고 API_KEY
필드를 해당 API 키로 업데이트합니다.
자세한 내용은 llm_api_key_setup을 참조하세요.
쇼가 시작되었습니다!
시스템 구성과 관련하여 다음 파일을 관리해야 합니다.
.env: SVR_HTTP_PORT
, MYSQL_PASSWORD
및 MINIO_PASSWORD
와 같은 시스템의 기본 설정을 유지합니다.
service_conf.yaml: 백엔드 서비스를 구성합니다.
docker-compose.yml: 시스템은 docker-compose.yml을 사용하여 시작합니다.
.env 파일의 변경 사항이 service_conf.yaml 파일의 내용과 일치하는지 확인해야 합니다.
./docker/README 파일은 환경 설정 및 서비스 구성에 대한 자세한 설명을 제공하며, ./docker/README 파일에 나열된 모든 환경 설정이 service_conf.yaml 파일의 해당 구성과 일치하는지 확인해야 합니다. .
기본 HTTP 제공 포트(80)를 업데이트하려면 docker-compose.yml로 이동하여 80:80
<YOUR_SERVING_PORT>:80
으로 변경합니다.
위 구성을 업데이트하려면 모든 컨테이너를 재부팅해야 합니다.
$ docker compose -f docker/docker-compose.yml up -d
이 이미지의 크기는 약 1GB이며 외부 LLM 및 임베딩 서비스를 사용합니다.
자식 클론 https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3huggingface-hub nltk 설치 python3 다운로드_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
이 이미지의 크기는 약 9GB입니다. 임베딩 모델을 포함하므로 외부 LLM 서비스에만 의존합니다.
자식 클론 https://github.com/infiniflow/ragflow.gitcd ragflow/ pip3huggingface-hub nltk 설치 python3 다운로드_deps.py docker build -f Dockerfile -t infiniflow/ragflow:dev .
Poetry를 설치하거나 이미 설치되어 있는 경우 이 단계를 건너뜁니다.
컬 -sSL https://install.python-poetry.org | 파이썬3 -
소스 코드를 복제하고 Python 종속 항목을 설치합니다.
git clone https://github.com/infiniflow/ragflow.gitcd ragflow/export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true~/.local/bin/poetry install --sync --no-root # RAGFlow 종속 Python 모듈 설치
Docker Compose를 사용하여 종속 서비스(MinIO, Elasticsearch, Redis 및 MySQL)를 시작합니다.
docker compose -f docker/docker-compose-base.yml up -d
docker/service_conf.yaml 에 지정된 모든 호스트를 127.0.0.1
로 확인하려면 /etc/hosts
에 다음 줄을 추가하세요.
127.0.0.1 es01 mysql minio redis
docker/service_conf.yaml 에서 docker/.env 에 지정된 대로 mysql 포트를 5455
로, es 포트를 1200
으로 업데이트합니다.
HuggingFace에 액세스할 수 없는 경우 미러 사이트를 사용하도록 HF_ENDPOINT
환경 변수를 설정합니다.
HF_ENDPOINT=https://hf-mirror.com 내보내기
백엔드 서비스 실행:
소스 .venv/bin/activateexport PYTHONPATH=$(pwd)bash docker/launch_backend_service.sh
프런트엔드 종속성을 설치합니다.
CD 웹 npm 설치 --force
.umirc.ts 의 proxy.target
http://127.0.0.1:9380
으로 업데이트하도록 프런트엔드를 구성합니다.
프런트엔드 서비스 시작:
npm 실행 개발자
다음 출력은 시스템의 성공적인 시작을 확인합니다.
빠른 시작
사용자 가이드
참고자료
FAQ
RAGflow 로드맵 2024 보기
불화
지저귀다
GitHub 토론
RAGflow는 오픈 소스 협업을 통해 성장합니다. 이러한 정신으로 우리는 지역사회의 다양한 기여를 수용합니다. 참여하고 싶다면 먼저 기여 지침을 검토하세요.