ragflow源码部署操作记录(已成功版)

ps:在实际进行源码部署时,发现并没有github上说的那么简单,源码部署成功后就赶紧写了这篇博客记录。源码部署耗时 2 天,怀疑人生了!
ps:如果执行时报乱起八糟的环境错误,请百度自行解决,环境问题 太多了,实在太多了,欲哭无泪啊!!!

github上的 readme 流程

https://github.com/infiniflow/ragflow/blob/main/README_zh.md
在这里插入图片描述
在这里插入图片描述

后端源码部署的操作:

  • 需要安装 jdk8 即:Java环境,配置 JAVA_HOME 不要问为啥,不配你会后悔的

ps:安装依赖包时总是出现乱七八糟的问题,索性直接从 docker拉取文件到宿主机

  1. 将 docker 中的 .venv 文件夹拉到宿主机,/root/.ragflow 文件夹拉到宿主机

  2. 其它依赖的环境:
    /root/.ragflow
    /root/nltk_data

  3. 如果没有 python3 环境则创建:我用的是 conda
    conda create -p ~/wh/ragflow_back/.venv python=3.10
    然后按提示激活 环境

  4. 设置环境变量:
    export HF_ENDPOINT=https://hf-mirror.com
    export PYTHONPATH=$(pwd)

  5. 启动:bash docker/launch_backend_service.sh,脚本中的 WS变量为 线程数

  6. 配置文件:
    /ragflow/conf/service_conf.yaml mysql、es、redis、默认模型
    /ragflow/docker/launch_backend_service.sh 脚本中的 WS 变量为 线程数,目前设置为 5

前端部署:

  1. 环境:node18
  2. 安装依赖:npm install
  3. 打包:npm run build,打包后 nginx 映射本地目录即可(ps:启动后先服务器 curl 确认是否启动前端

docker 部署

  1. 按官网操作,如出现启动报错,请改成 docker-compose
  2. 注意:
    docker-compose 停止容器时,-v 参数会导致路由发生变动,会出现堡垒机无法登录等情况

设置账户使用默认模型

先在模型提供商中添加一下模型,如果报错那就多换几个模型提供商试试,然后查看 mysql下面两个表的内容。看一眼就知道怎么设置默认模型了

-- 本地 llm 模型
INSERT INTO `ragflow`.`tenant_llm` (`create_time`, `create_date`, `update_time`, `update_date`, `tenant_id`, `llm_factory`, `model_type`, `llm_name`, `api_key`, `api_base`, `max_tokens`, `used_tokens`) VALUES (1741831783520, '2025-03-13 10:09:43', 1741831783520, '2025-03-13 10:09:43', 'a83193c6f04411ef9a525254003e5af7', 'LocalAI', 'rerank', 'bge-reranker-large___LocalAI', 'xxxxxxxxxxxxxxx', 'http://115.190.98.137:11435/', 2048, 0);

-- 用户默认模型
UPDATE tenant 
SET `public_key` = NULL, 
  `llm_id` = 'deepseek-r1:7b___LocalAI@LocalAI', 
  `embd_id` = 'bge-large-zh-v1.5___LocalAI@LocalAI', 
  `asr_id` = '', 
  `img2txt_id` = '', 
  `rerank_id` = 'bge-reranker-large___LocalAI@LocalAI', 
  `tts_id` = NULL, 
  `credit` = 512, 
  `status` = '1' 
WHERE `id` = 'a83193c6f04411ef9a525254003e5af7';

### RAGFlow 部署指南与最佳实践 #### 选择合适的日志设备配置 为了提高吞吐量并保持稳定的延迟,建议使用专用的日志设备。通过设置 `dataLogDir` 指向该设备上的目录,并确保 `dataDir` 不位于同一设备上,可以显著提升性能[^1]。 #### 使用轻量化操作系统增强安全性 对于希望进一步减少攻击面的情况,考虑采用像 RancherOS 这样的轻量级 Linux 发行。这种系统运行所有进程作为 Docker 容器,仅启动必要的最小数量的服务来提供访问权限和支持用户空间中的实际工作负载实例化。这不仅减轻了系统的负担还增强了默认的安全性[^2]。 #### 准备环境 在准备部署 RAGFlow 的环境中,需先安装 Python 和 pip 工具链以及 Git 本控制系统。接着克隆官方仓库获取最新源码: ```bash git clone https://github.com/your-repo/RAGFlow.git cd RAGFlow pip install --upgrade pip setuptools wheel pip install -r requirements.txt ``` #### 构建镜像和服务编排 利用 Docker Compose 文件定义服务依赖关系及其参数设定。创建 `.env` 文件用于存储敏感信息如 API 密钥等变量值;编辑 `docker-compose.yml` 来指定容器间网络连接方式和其他必要选项。 ```yaml version: '3' services: ragflow_service: build: . ports: - "8000:80" environment: - SECRET_KEY=${SECRET_KEY} volumes: db_data: ``` #### 启动应用 完成上述准备工作之后,在项目根目录下执行命令以启动整个应用程序栈: ```bash docker-compose up -d --build ``` #### 日志审计功能启用 开启审核日志记录有助于监控操作行为模式识别潜在威胁活动。按照具体平台文档指导激活相应特性,以便更好地保护生产环境下的数据安全性和隐私合规性。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值