ragflow源码部署操作记录(已成功版)
ps:在实际进行源码部署时,发现并没有github上说的那么简单,源码部署成功后就赶紧写了这篇博客记录。源码部署耗时 2 天,怀疑人生了!
ps:如果执行时报乱起八糟的环境错误,请百度自行解决,环境问题 太多了,实在太多了,欲哭无泪啊!!!
github上的 readme 流程
https://github.com/infiniflow/ragflow/blob/main/README_zh.md
后端源码部署的操作:
需要安装 jdk8 即:Java环境,配置 JAVA_HOME
不要问为啥,不配你会后悔的
ps:安装依赖包时总是出现乱七八糟的问题,索性直接从 docker拉取文件到宿主机
-
将 docker 中的 .venv 文件夹拉到宿主机,
/root/.ragflow文件夹拉到宿主机
-
其它依赖的环境:
/root/.ragflow
/root/nltk_data
-
如果没有 python3 环境则创建:我用的是 conda
conda create -p ~/wh/ragflow_back/.venv python=3.10
然后按提示激活 环境 -
设置环境变量:
export HF_ENDPOINT=https://hf-mirror.com
export PYTHONPATH=$(pwd) -
启动:
bash docker/launch_backend_service.sh
,脚本中的WS
变量为 线程数 -
配置文件:
/ragflow/conf/service_conf.yamlmysql、es、redis、默认模型
/ragflow/docker/launch_backend_service.sh脚本中的 WS 变量为 线程数,目前设置为 5
前端部署:
- 环境:node18
- 安装依赖:
npm install
- 打包:
npm run build
,打包后 nginx 映射本地目录即可(ps:启动后先服务器 curl 确认是否启动前端
)
docker 部署
- 按官网操作,如出现启动报错,请改成
docker-compose
- 注意:
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';