来源于: 官网

在Linux上部署RAGFlow,最主流、最高效的方式是使用Docker Compose。整个过程可以概括为以下几个步骤:

🚀 Docker部署RAGFlow(主流方式)

1️⃣ 第一步:准备环境

在开始前,请确保你的Linux服务器满足以下条件,这是保证RAGFlow流畅运行的基础 :

项目要求说明
CPU≥ 4 核x86_64 或 ARM 架构均可
内存≥ 16 GB这是官方推荐的最低配置,实际使用中建议更高。
硬盘≥ 50 GB用于存放Docker镜像、容器数据以及你的知识库文件。
Docker版本 ≥ 24.0.0确保Docker Engine已正确安装并运行。
Docker Compose版本 ≥ v2.26.1用于启动多容器应用。
注意:如果你是ARM架构(如树莓派或一些国产服务器),部分镜像可能需要特殊处理,请留意官方文档说明 。

2️⃣ 第二步:系统调优

RAGFlow依赖的搜索引擎(如Elasticsearch)需要一个关键的系统参数。这一步很重要,务必执行,否则容器可能无法启动 。

  1. 检查当前值

    sysctl vm.max_map_count
  2. 临时设置(立即生效,重启后失效):

    sudo sysctl -w vm.max_map_count=262144
  3. 永久设置(推荐,重启后依然有效):

    echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p # 使配置立即生效

3️⃣ 第三步:下载并启动 RAGFlow

  1. 克隆项目仓库:这会下载RAGFlow的Docker编排文件和配置模板 。

    git clone https://github.com/infiniflow/ragflow.git
    cd ragflow/docker  # 进入docker编排目录
  2. (可选)配置环境:你可以编辑.env文件来修改一些默认设置,比如访问端口、MySQL密码等 。

    # 例如,修改访问端口(将80改为8080),用nano或vim编辑
    # nano .env
    # 找到 SVR_HTTP_PORT=80 并修改 或 SVR_WEB_HTTP_PORT 、 SVR_WEB_HTTPS_PORT
  3. 启动所有服务

    • CPU版本

      docker compose -f docker-compose.yml up -d
    • GPU版本(如果你的服务器有NVIDIA GPU,可以显著加速文档解析和向量化):

      docker compose -f docker-compose-gpu.yml up -d

    首次启动会下载所需的Docker镜像,这个过程可能需要一些时间,取决于你的网络状况 。

  4. 查看启动日志

    docker logs -f ragflow-server

    当你看到类似 Running on all addresseshttp://127.0.0.1:9380 的日志时,说明服务已成功启动 。

4️⃣ 第四步:访问并初始化

打开浏览器,访问你的Linux服务器IP地址(例如 http://<你的服务器IP>)。如果修改过端口,请加上端口号(如 http://<你的服务器IP>:8080)。

首次访问会进入初始化页面,你需要注册一个管理员账号,按照页面提示填写邮箱和密码即可 。

🛠️ 模型配置(以Ollama为例)

RAGFlow本身不包含大语言模型(LLM)和嵌入模型(Embedding Model),你需要配置第三方模型提供商。如果你想完全本地、免费地运行,推荐使用Ollama 。

  1. 部署Ollama(在Linux服务器上,可以与RAGFlow在同一台机器):

    # 使用Docker运行Ollama
    docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama
  2. 下载所需模型:进入Ollama容器,拉取模型。例如,一个轻量级的聊天模型和一个常用的嵌入模型 :

    docker exec -it ollama ollama pull llama3.2  # 聊天模型
    docker exec -it ollama ollama pull bge-m3    # 嵌入模型
  3. 在RAGFlow中添加Ollama

    • 登录RAGFlow,点击右上角头像 -> 模型提供商
    • 找到Ollama并点击“添加模型”。
    • 模型名称:填写你刚才下载的模型名,如 llama3.2
    • 模型类型:选择 chat
    • API地址:填写 http://host.docker.internal:11434 (因为RAGFlow和Ollama都运行在Docker中,这个地址可以指向宿主机)。
    • 用同样的方法添加嵌入模型 bge-m3,类型选择 embedding
  4. 设置为系统默认模型:在“模型提供商”页面,进入“系统模型设置”,将刚刚添加的聊天模型和嵌入模型设为默认 。

🎯 初步使用

  1. 创建知识库:在RAGFlow界面,进入“知识库”页面,创建一个新的知识库,并上传你的文档(支持PDF、Word、PPT、TXT等多种格式)。
  2. 解析文档:上传后,点击“解析”,RAGFlow会自动将文档切片、向量化。
  3. 创建AI助手:进入“聊天”页面,创建一个新的助手,在配置中关联你刚才创建的知识库 。
  4. 开始对话:现在,你可以向这个助手提问,它会根据你上传的文档内容进行回答,并给出答案的引用来源。

🤔 常见问题速览

  • 端口冲突:如果启动时提示 80端口已被占用,可以修改.env文件中的 SVR_HTTP_PORT 为其他端口(如8080),然后重新启动 。
  • 镜像下载慢:在国内这是一个普遍问题。可以配置Docker镜像加速器。编辑(或创建)/etc/docker/daemon.json 文件,加入像 https://docker.mirrors.ustc.edu.cn 这样的国内镜像源地址,然后重启Docker服务 sudo systemctl restart docker
  • 无法访问Web界面:检查Linux防火墙是否开放了你设置的端口(默认80)。例如,使用 sudo ufw allow 80/tcp 开放端口 。

标签: AI, RAGFlow

添加新评论