百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

在Windows环境下,本地部署和启动开源项目Ragflow的源代码

off999 2025-03-28 20:16 38 浏览 0 评论

在当前AI领域中,基于检索增强生成(RAG)的应用备受关注,而开源项目RAGFlow因其灵活性和功能性成为了一个热门选择。不过,由于其快速的版本迭代,可能会存在一些Bug,并且在实际项目落地时通常需要根据具体需求对源码进行定制化修改。遗憾的是,RAGFlow官方尚未提供针对Windows开发环境的详细文档。因此,在本地部署过程中,我整理了一份详细的记录,希望能够为有类似需求的开发者提供参考。

一、RAGFlow Python 环境配置

确保您的Python版本符合以下要求:

  • Python 版本:>=3.10,<3.13

二、Poetry 下载与安装

使用 Poetry 来管理 Python 依赖。首先,通过 pip 安装 Poetry:

pip install poetry

验证安装是否成功:

poetry --version

三、安装 Python 依赖

  1. 以管理员身份启动 Anaconda Prompt
  2. 为了确保权限足够,建议以管理员身份启动 Anaconda Prompt。

2、切换到ragflow运行环境

(base) C:\Windows\System32>D:
(base) D:>conda activate ragflow
(ragflow) D:>cd D:\WorkSpace\ForAi\pythod\ragflow

3、在ragflow根目录下运行poetry安装依赖命令

# 安装所有默认依赖
poetry install

# 安装 full 组中的依赖
poetry install -E full

4、已知问题与后续处理

在安装过程中,pyicu 版本 ==2.14 未能成功安装。目前这一问题对解析文档和聊天功能没有影响,因此暂时未进行处理。后续将更新文档以记录具体的解决方法。

四、前端启动

1、前端web服务器nginx

默认在目录下提供的配置文件是linux的,需要改成windows

nginx.conf

# user 指令在 Windows 上不支持,注释掉或删除
# user  root;

worker_processes  auto;

# 修改日志路径为 Windows 路径
error_log  D:/dockerData/ragflow/nginx-1.21.1/logs/error.log notice;
pid        D:/dockerData/ragflow/nginx-1.21.1/logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    # 修改 mime.types 文件路径为 Windows 路径
    include       D:/dockerData/ragflow/nginx-1.21.1/conf/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    # 修改访问日志路径为 Windows 路径
    access_log  D:/dockerData/ragflow/nginx-1.21.1/logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;
    client_max_body_size 128M;

    # 包含自定义配置文件
    include D:/dockerData/ragflow/nginx-1.21.1/conf/ragflow.conf;
}

proxy.conf

这个配置文件不做修改

ragflow.conf

server {
    listen 80;
    server_name _;
    # 设置根目录为 Windows 路径
    root D:/WorkSpace/ForAi/pythod/ragflow/web/dist;

    gzip on;
    gzip_min_length 1k;
    gzip_comp_level 9;
    gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
    gzip_disable "MSIE [1-6]\.";

    location ~ ^/(v1|api) {
        proxy_pass http://127.0.0.1:9380;
        include proxy.conf;
    }


    location / {
        index index.html;
        try_files $uri $uri/ /index.html;
    }

    # Cache-Control: max-age~@~AExpires
    location ~ ^/static/(css|js|media)/ {
        expires 10y;
        access_log off;
    }
}

2、前端项目build

我使用的nodejs版本是 20.15.0 如果你本地有多个nodejs版本可以使用nvm管理切换

# 进入web目录下
(ragflow) D:\WorkSpace\ForAi\pythod\ragflow>cd web
# 安装前端依赖
npm install
# build项目
npm run build

可以看到web目录下多了个dist,ragflow.conf配置文件里需要配置这个目录

3、启动nginx

D:\dockerData\ragflow\nginx-1.21.1>start nginx

五、下载模型

找到根目录下的download_deps.py直接运行

依赖安装会比较慢

运行完根目录下多了这些文件

六、后端项目启动

1、配置mysql、redis、minio、es、infinity

2、启动项目

需要启动两个文件

(1)api下的ragflow_server.py

(2)rag/svr下的task_executor.py

在启动时遇到了文件是utf-8格式,默认使用的是gbk,我处理方式是直接改了源码,把文件处理的格式改成了utf-8

import os
import json
current_file_path = os.path.dirname(os.path.abspath(__file__))
json_file_path = os.path.join(current_file_path, "res/good_sch.json")

with open(json_file_path, "r", encoding="utf-8") as file:
    GOOD_SCH = json.load(file)

import os
import json

current_file_path = os.path.dirname(os.path.abspath(__file__))

# 读取 corp.tks.freq.json 文件
with open(os.path.join(current_file_path, "res/corp.tks.freq.json"), "r", encoding="utf-8") as file:
    CORP_TKS = json.load(file)

# 读取 good_corp.json 文件
with open(os.path.join(current_file_path, "res/good_corp.json"), "r", encoding="utf-8") as file:
    GOOD_CORP = json.load(file)

# 读取 corp_tag.json 文件
with open(os.path.join(current_file_path, "res/corp_tag.json"), "r", encoding="utf-8") as file:
    CORP_TAG = json.load(file)

cnvs = json.load(open(os.path.join(dir, fnm), "r", encoding="utf-8"))

七、以上步骤做完即可通过http://127.0.0.1访问

相关推荐

重装系统win7旗舰版小白(小白怎么重装系统win7)

不需要小白系统软件提供的都是已经预先激活的,用户安装成功后即可直接使用,可以通过右键“我的电脑”-“属性”查看激活情况,如果出现个别机型不兼容未能成功激活的,提示“剩余30天可以激活。立即激活wind...

windows更新清理一直清理不掉

一般是两个原因造成的1.首先是windows系统需要定期整理磁盘碎片,如果没有安装360一类的代替性的整理磁盘碎片的软件,就需要手动在windows系统的管理下面整理磁盘碎片。不及时清理磁盘碎片又更新...

gho安装工具(gho 安装)

简单好用的还原工具。你可以用它来备份还原和安装系统,用它安装系统只需:1下载的ISO镜像解压到除了c盘外的任意盘根目录下2把硬盘安装器放到该盘,双击打开,就能看到它选择了解压出来的GHO镜像,...

电脑截屏的快捷键多少(一般电脑的截屏快捷键)
电脑截屏的快捷键多少(一般电脑的截屏快捷键)

步骤/方式1以小米笔记本为例,按键盘上的PrtScn可以截取整个屏幕。步骤/方式2按Alt和PrtScn键可以截取当前窗口。步骤/方式3按win+PrtScn的组合键可以选择截屏区域进行截图。...

2025-11-26 18:51 off999

win10怎么关闭快速启动(win10关闭快速启动设置)

/6首先点击左下角的开始按钮,在开始面板中点击设置按钮2/6在windows设置页面中选择系统设置3/6在系统设置页面左侧切换到电源和睡眠设置4/6滑动右侧窗口,找到其他电源设置选项,并将之打开5/6...

怎么把win系统存入u盘(将win系统装到u盘)

windows10把文件拷贝到u盘,具体操作步骤如下:先把U盘插在WindowS10电脑主机中,电脑识别后,在我的电脑打开可移动磁盘,这样就可以在硬盘中找到文件拷贝U盘系统在自动搜索备份设备,选择U...

surface售后客服(surface售后电话是多少)

是因为以前有人把保修条例玩坏了。。微软Surface系的产品,在之前是非常良心的,中国区和其他地区一样,享有全球联保(买的什么行都保修)、在保配件免费更换(比如SurfacePen一年内用坏了,联系...

文档如何加密设置密码(如何让文档加密码)

你好,要在手机的电子邮件应用中设置电子邮件帐户,一般需要你先在相关邮箱网页设置中确保已经开启POP/IMAP/SMTP功能。像QQ邮箱中,就是登录邮箱网页版之后,点击设置,在帐户选项卡中开启POP3/...

windows7enterprise激活码(win7sp1激活码)

激活方法:激活windows7激活方法首先下载暴风激活工具,解压出来,直接双击打开,或者右键管理员打开;接着激活工具自动识别到windows7版本,点击【一键永久激活windows和Office】,...

控制面板在哪里打开win7(控制面板在哪里打开联想)

方法1、开始打开法点击“开始”按钮。选择找到“控制面板”。点击鼠标左键打开。方法2、桌面打开法双击桌面上的“计算机”,打开后选择”打开控制面板“选项。方法3、系统属性打开法打开“计算机”,可以是开始菜...

program是什么意思(program是什么意思英语)

ProgramFiles是程序文件,就是说Windows操作系统,当然也包括其它的操作系统各种软件默认安装到的目录,位于C盘分区("C:ProgramFiles","%...

电脑插耳机却是扬声器(电脑插耳机却是扬声器声音)

这种情况可能是因为电脑的音频设置有误导致的。可以尝试以下方法解决:1.检查耳机插头是否插紧。有时插头没有插紧会导致电脑仍然识别为扬声器。2.检查电脑的音频设置。打开“控制面板”,选择“硬件和声音”...

win7进入bios怎么修复系统(win7进入bios设置界面)

你好,如果您的电脑已经进入了BIOS,那么您可以按照以下步骤来恢复系统WIN7:1.打开电脑并进入BIOS界面,找到“Boot”选项卡。2.在“Boot”选项卡中,选择您的CD/DVD驱动器作为启...

被写保护的u盘还能用吗(被写保护的u盘怎么办)

一般U盘上有个写保护开关,你把那个开关拨到相反的位置就OK了!然后就可以格式化了!如果没有写保护开关,有个U盘病毒专杀软件:USBCleaner,它自带了一个附件,有U盘的开启和关闭写保护功能,自...

wps与word文档一样吗(wps和word是一样的吗)
wps与word文档一样吗(wps和word是一样的吗)

WPS和Word的区别:1、功能分析WORD功能强大适用范围大,WPS设置不了的功能WORD可以实现;2、兼容性WORD的兼容性相比WPS更好一些,但是只是平常办公WPS已经够用了。如果要打印的文件要到其它机上打开或者打印、在网上发送邮件,...

2025-11-26 13:03 off999

取消回复欢迎 发表评论: