当前位置: 首页 > news >正文

RAGFlow (一) 开发环境搭建

本文介绍如何在Windows上进行RAGFlow开发环境搭建

一. 环境准备

 前提条件

  • CPU ≥ 4 核
  • 内存 ≥ 16 GB
  • 磁盘 ≥ 50 GB
  • Docker ≥ 24.0.0 & Docker Compose ≥ v2.26.1

  • 安装Docker Desktop
  • 为wsl安装Ubuntu
1.启用 WSL2​​(Windows Subsystem for Linux)2.wsl --install -d Ubuntu  # 安装Ubuntu发行版

windows会默认把Ubuntu安装到C盘,可以选择迁移一下:
详见:WSL 默认路径迁移

二、从源码启动服务

要从源代码启动 RAGFlow 服务:

克隆 RAGFlow 仓库

git clone https://github.com/infiniflow/ragflow.git

进入WSL,进入到拉取的项目路径下

wsl -d Ubuntu #进入容器cd /自己的项目路径/ragflow/

安装 Python 依赖

  1. 安装 uv

    pipx install uv
    
  2. 安装 Python 依赖

    • 精简版
    uv sync --python 3.10 # install RAGFlow dependent python modules
    
    • 完整版
    uv sync --python 3.10 --all-extras # install RAGFlow dependent python modules
    

    系统会创建一个名为 .venv 的虚拟环境,并将所有 Python 依赖项安装到该新环境中。

  3. 进入虚拟环境

source .venv/bin/activate

启动第三方服务

以下命令使用 Docker Compose 启动“基础”服务(MinIO、Elasticsearch、Redis 和 MySQL):

docker compose -f docker/docker-compose-base.yml up -d

 可到Docker Desktop中查看容器情况

更新第三方服务的 host 和 port 设置

  1. 将以下行添加到Ubuntu的 /etc/hosts 文件中,以将 docker/service_conf.yaml.template 中指定的所有主机解析到 127.0.0.1

    127.0.0.1       es01 infinity mysql minio redis
    
  2. 在 docker/service_conf.yaml.template 中,将 mysql 端口更新为 5455,es 端口更新为 1200,这些端口是在 docker/.env 中指定的。

启动 RAGFlow 后端服务

       后端服务博主在windows powershell,uv虚拟环境中启动

  1. 注释掉 docker/entrypoint.sh 文件中的 nginx 行。

    # /usr/sbin/nginx
    
  2. 激活 Python 虚拟环境

    source .venv/bin/activate
    export PYTHONPATH=$(pwd)
    
  3. 可选:如果您无法访问 HuggingFace,请设置 HF_ENDPOINT 环境变量以使用镜像站点:

    export HF_ENDPOINT=https://hf-mirror.com
    
  4. 检查 conf/service_conf.yaml 中的配置,确保所有主机和端口都已正确设置。

  5. 运行 entrypoint.sh 脚本以启动后端服务:

    JEMALLOC_PATH=$(pkg-config --variable=libdir jemalloc)/libjemalloc.so;
    LD_PRELOAD=$JEMALLOC_PATH python rag/svr/task_executor.py 1;
    

    python api/ragflow_server.py;
    

如果在后台服务启动中遇到报错,大概率是某些包未安装,按异常提示安装缺少的包即可。

启动 RAGFlow 前端服务

       前端服务启动博主在IDE中进行启动

  1. 导航到 web 目录并安装前端依赖:

    cd web
    npm install
    
  2. 将 .umirc.ts 文件中的 proxy.target 更新为 http://127.0.0.1:9380

    vim .umirc.ts
    
  3. 启动 RAGFlow 前端服务:

    npm run dev 
    

    出现以下消息,显示前端服务的 IP 地址和端口号:

访问 RAGFlow 服务

在您的网络浏览器中,输入 http://127.0.0.1:<PORT>/,确保端口号与上图所示的端口号匹配。

登陆后即可进入主页

至此,RAGFlow的本地部署完成

http://www.dtcms.com/a/347630.html

相关文章:

  • imx6ull-驱动开发篇37——Linux MISC 驱动实验
  • [机械结构设计-18]:Solidworks - 特征(Feature)是构成三维模型的基本单元,是设计意图的载体,也是参数化设计的核心。
  • 深入剖析分布式事务的Java实现:从理论到Seata实战
  • c语言中enum与#define的用法区别
  • 算法题(189):食物链
  • 如何利用数据库事务,来防止数据不一致的问题
  • 云原生概述
  • [e3nn] 归一化 | BatchNorm normalize2mom
  • 自然语言处理——06 迁移学习(上)
  • MATLAB实现CNN-LSTM-Attention 时序和空间特征结合-融合注意力机制混合神经网络模型的风速预测
  • 云计算-K8s 运维:Python SDK 操作 Job/Deployment/Pod+RBAC 权限配置及自定义 Pod 调度器实战
  • Kubernetes相关问题集(四)
  • 「数据获取」《贵港统计年鉴》(2008-2023)(2016、2017缺失)(获取方式看绑定的资源)
  • 开发指南134-路由传递参数
  • 【KO】前端面试七
  • 科研笔记:博士生手册
  • n8n热门的开源 AI 工作流平台实操
  • git实战(7)git常用命令速查表
  • C++实现常见的排序算法
  • STM32窗口看门狗(WWDG)深度解析:精准守护嵌入式系统的实时性
  • day39-keepalived
  • How to Use Managed Identity with ACS?
  • 全面解析主流AI模型:功能对比与应用推荐
  • douyin_search_tool:用python开发的抖音关键词搜索采集软件
  • 低功耗全双工远距离无线对讲解决方案
  • 【数位DP】D. From 1 to Infinity
  • 数据库字段类型深度解析:从关系型到 NoSQL 的全面指南
  • Placement new是什么
  • CUDA和torch的安装
  • 【LeetCode】363. 矩形区域不超过 K 的最大数值和 (二分 + 前缀和)