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

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';

相关文章:

  • 【设计原则:软件架构的基石与进阶秘籍】
  • Python学习第十七天
  • 【MySQL】数据库简要介绍和简单应用
  • 组件通信框架ARouter原理剖析
  • C语言 | 二叉树打印效果,控制台打印
  • MultipartEntityBuilder上传文件出现中文名乱码
  • 大模型架构全景解析:从Transformer到未来计算范式
  • 摄像头模块ISP处理流程
  • 百度贴吧IP和ID是什么意思?怎么查看
  • JConsole:JDK性能监控利器之JConsole的使用说明与案例实践
  • 星越L_备胎更换/千斤顶使用讲解
  • Webpack vs Rollup vs Parcel:构建工具深度对比
  • 面试系列|蚂蚁金服技术面【2】
  • Python教程(三):类对象、闭包、装饰器、类型注解、MRO
  • 表单 schema 配置化
  • @RequestParam、@RequestBody、@PathVariable
  • python 实现 A* 算法
  • AI日报 - 2025年3月16日
  • [测试]Selenium自动化测试常用函数
  • Java基础编程练习第31题-String类和StringBuffer类
  • 神舟十九号载人飞船因东风着陆场气象原因推迟返回
  • 从咖啡节到话剧、演唱会,上海虹口“文旅商体展”联动促消费
  • 流浪猫给车主造成困扰,长春一小区拟投药应对?律师:此举欠妥
  • 早睡1小时,变化有多惊人?第一个就没想到
  • 马上评丨机械停车库成“僵尸库”,设计不能闭门造车
  • 上海数学教育及数学科普专家陈永明去世,享年85岁