English | 简体中文 | 日本語 | 한국어 | Bahasa Indonesia
RAGFlow 是一款基于深度文档理解构建的开源 RAG(Retrieval-Augmented Generation)引擎。RAGFlow 可以为各种规模的企业及个人提供一套精简的 RAG 工作流程,结合大语言模型(LLM)针对用户各类不同的复杂格式数据提供可靠的问答以及有理有据的引用。
请登录网址 https://demo.ragflow.io 试用 demo。
⭐️点击右上角的 Star 关注RAGFlow,可以获取最新发布的实时通知 !🌟
vm.max_map_count 不小于 262144:如需确认
vm.max_map_count的大小:> $ sysctl vm.max_map_count > ``` > > 如果 `vm.max_map_count` 的值小于 262144,可以进行重置: > > ```bash > # 这里我们设为 262144: > $ sudo sysctl -w vm.max_map_count=262144 > ``` > > 你的改动会在下次系统重启时被重置。如果希望做永久改动,还需要在 **/etc/sysctl.conf** 文件里把 `vm.max_map_count` 的值再相应更新一遍: > > ```bash > vm.max_map_count=262144 > ``` 2. 克隆仓库: ```bash $ git clone https://github.com/infiniflow/ragflow.git
运行以下命令会自动下载 dev 版的 RAGFlow slim Docker 镜像(
dev-slim),该镜像并不包含 embedding 模型以及一些 Python 库,因此镜像大小约 1GB。
   $ cd ragflow/docker
   $ docker compose -f docker-compose.yml up -d
- 如果你想下载并运行特定版本的 RAGFlow slim Docker 镜像,请在 docker/.env 文件中找到
RAGFLOW_IMAGE变量,将其改为对应版本。例如RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0-slim,然后再运行上述命令。- 如果您想安装内置 embedding 模型和 Python 库的 dev 版本的 Docker 镜像,需要将 docker/.env 文件中的
RAGFLOW_IMAGE变量修改为:RAGFLOW_IMAGE=infiniflow/ragflow:dev。- 如果您想安装内置 embedding 模型和 Python 库的指定版本的 RAGFlow Docker 镜像,需要将 docker/.env 文件中的
RAGFLOW_IMAGE变量修改为:RAGFLOW_IMAGE=infiniflow/ragflow:v0.13.0。修改后,再运行上面的命令。 注意: 安装内置 embedding 模型和 Python 库的指定版本的 RAGFlow Docker 镜像大小约 9 GB,可能需要更长时间下载,请耐心等待。
   $ docker logs -f ragflow-server
出现以下界面提示说明服务器启动成功:
        ____   ___    ______ ______ __               
       / __ \ /   |  / ____// ____// /____  _      __
      / /_/ // /| | / / __ / /_   / // __ \| | /| / /
     / _, _// ___ |/ /_/ // __/  / // /_/ /| |/ |/ / 
    /_/ |_|/_/  |_|\____//_/    /_/ \____/ |__/|__/  
    * Running on all addresses (0.0.0.0)
    * Running on http://127.0.0.1:9380
    * Running on http://x.x.x.x:9380
    INFO:werkzeug:Press CTRL+C to quit
如果您跳过这一步系统确认步骤就登录 RAGFlow,你的浏览器有可能会提示
network abnormal或网络异常,因为 RAGFlow 可能并未完全启动成功。
user_default_llm 栏配置 LLM factory,并在 API_KEY 栏填写和你选择的大模型相对应的 API key。好戏开始,接着奏乐接着舞!
系统配置涉及以下三份文件:
SVR_HTTP_PORT、MYSQL_PASSWORD、MINIO_PASSWORD 等。请务必确保 .env 文件中的变量设置与 service_conf.yaml 文件中的配置保持一致!
如果不能访问镜像站点hub.docker.com或者模型站点huggingface.co,请按照.env注释修改RAGFLOW_IMAGE和HF_ENDPOINT。
./docker/README 文件提供了环境变量设置和服务配置的详细信息。请一定要确保 ./docker/README 文件当中列出来的环境变量的值与 service_conf.yaml 文件当中的系统配置保持一致。
如需更新默认的 HTTP 服务端口(80), 可以在 docker-compose.yml 文件中将配置 80:80 改为 <YOUR_SERVING_PORT>:80。
所有系统配置都需要通过系统重启生效:
> $ docker compose -f docker-compose.yml up -d > ``` ## 🔧 源码编译 Docker 镜像(不含 embedding 模型) 本 Docker 镜像大小约 1 GB 左右并且依赖外部的大模型和 embedding 服务。 ```bash git clone https://github.com/infiniflow/ragflow.git cd ragflow/ pip3 install huggingface-hub nltk python3 download_deps.py docker build -f Dockerfile.slim -t infiniflow/ragflow:dev-slim .
本 Docker 大小约 9 GB 左右。由于已包含 embedding 模型,所以只需依赖外部的大模型服务即可。
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
pip3 install huggingface-hub nltk
python3 download_deps.py
docker build -f Dockerfile -t infiniflow/ragflow:dev .
安装 Poetry。如已经安装,可跳过本步骤:
curl -sSL https://install.python-poetry.org | python3 -
下载源代码并安装 Python 依赖:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/
export POETRY_VIRTUALENVS_CREATE=true POETRY_VIRTUALENVS_IN_PROJECT=true
~/.local/bin/poetry install --sync --no-root # install RAGFlow dependent python modules
通过 Docker Compose 启动依赖的服务(MinIO, Elasticsearch, Redis, and MySQL):
docker compose -f docker/docker-compose-base.yml up -d
在 /etc/hosts 中添加以下代码,将 docker/service_conf.yaml 文件中的所有 host 地址都解析为 127.0.0.1:
   127.0.0.1       es01 infinity mysql minio redis
在文件 docker/service_conf.yaml 中,对照 docker/.env 的配置将 mysql 端口更新为 5455,es 端口更新为 1200。
HF_ENDPOINT 设成相应的镜像站点:   export HF_ENDPOINT=https://hf-mirror.com
启动后端服务:
source .venv/bin/activate
export PYTHONPATH=$(pwd)
bash docker/launch_backend_service.sh
安装前端依赖:
cd web
npm install --force
配置前端,将 .umirc.ts 的 proxy.target 更新为 http://127.0.0.1:9380:
启动前端服务:
npm run dev 
以下界面说明系统已经成功启动:
详见 RAGFlow Roadmap 2024 。
RAGFlow 只有通过开源协作才能蓬勃发展。秉持这一精神,我们欢迎来自社区的各种贡献。如果您有意参与其中,请查阅我们的 贡献者指南 。
扫二维码添加 RAGFlow 小助手,进 RAGFlow 交流群。