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

Ragflow本地部署和基于知识库的智能问答测试

        最近在基于dify做agent过程中,基于dify的知识库构建、图文拆分方式相对较少,但Ragflow的拆分方式有很多种(如General、Book、Table、Q&A等十余种),相对支持的应用场景更多一些,因此就对Ragflow进行的部署研究和测试。总的来说,Ragflow类似于dify,但没有dify强大,性能也弱一下,但在知识库构建方面比较全面,支撑很多种拆分方式,支持多种API接口,可以作为内部知识库后端的构建工具,但对应图文预览方面还需要自己做大量开发;同时也可以构建聊天、Agent和workflow等应用,但总体友好性和跟踪调试方面差一些,推荐只用来做后端的知识库构建、存储和管理,然后通过dify引入外部知识库,但性能要差一些。下面是具体部署和测试过程记录,供大家参考。

一、下载安装

下载ragflow,地址:https://github.com/infiniflow/ragflow
下载nvidia-container-runtime,地址:https://github.com/NVIDIA/nvidia-container-runtime
解压:tar -zxvf ragflow-0.19.0.tar.gz
nvidia-container-runtime利用rpm安装即可。

二、修改配置文件

.env文件,要打开国内访问地址,示例如下。

# 关闭默认的RAGFLOW_IMAGE,打开如下这一行(在113行)
# - For the `nightly` edition, uncomment either of the following:
RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v0.19.0

docker-compose.yml文件,前面是宿主机端口,后面是docker内部端口

ports:- ${SVR_HTTP_PORT}:9380- 8000:8000

默认端口是80,如果将端口修改为8000,记得修改volumes下的nginx中端口,主要是ragflow.conf,记得将80改为8000即可,重启该容器,或者在安装前更改,再往下执行。根目录都是/data/ragflow-0.19.0/docker,前面是宿主机目录,后面是docker内部目录。

# docker-compose.yml文件的volumes内容,前面是宿主机目录,后面是docker内部目录。
volumes:- ./ragflow-logs:/ragflow/logs- ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf- ./nginx/proxy.conf:/etc/nginx/proxy.conf- ./nginx/nginx.conf:/etc/nginx/nginx.conf
三、拉取容器进行安装

使用 -p 参数为每个项目指定独特的 Docker Compose 项目名称,确保容器和网络资源相互独立。
docker-compose -f docker-compose.yml -p ragflow up -d
#删除容器,没错修改前面两个配置文件后,要使其生效,必须执行删除,在进行拉取安装。
docker-compose -f docker-compose.yml -p ragflow down
#GPU模式,需要机器有显卡。 
docker-compose -f docker-compose_gpu.yml -p ragflow up -d
#删除容器,没错修改前面两个配置文件后,要使其生效,必须执行删除,在进行拉取安装。
docker-compose -f docker-compose_gpu.yml -p ragflow down
注意:GPU模式下的daemon.json配置如下(一般在/etc/docker目录下),非GPU模式记得去掉daemon.json中的runtimes配置。

# daemon.json文件内容
{ "runtimes": {"nvidia": {"path": "/usr/bin/nvidia-container-runtime","runtimeArgs": []}},  "registry-mirrors":["https://docker.m.daocloud.io","https://docker.imgdb.de","https://docker-0.unsee.tech/","https://hub-mirror.c.163.com/","https://hub.rat.dev/","https://mirror.azure.cn/","https://docker.hlmirror.com","https://docker.1ms.run","https://func.ink","https://lispy.org","https://docker.xiaogenban1993.com","https://mirror.ccs.tencentyun.com","https://registry.docker-cn.com"],"iptables": false
}

这里的path设置需要事先安装nvidia-container-runtime,具体见第一部分的下载安装,一般默认安装即可。

四、查看确认服务状态

docker logs -f ragflow-server
或者打开ragflow-logs目录下的日志文件进行查看。

五、其他系统访问Ragflow知识库地址

这里的api-key是在ragflow的api功能中生成,见下图。这里的id就是ragflow中创建的知识库id,打开每个知识库,在地址栏中显示的id=b81ee15e4a8911f08ad10242ac130006,等号后面的就是知识库id。详见下图。

api-key:ragflow-ExxxxxxxxxxxxxxxMm
url:http://x.x.x.x/api/v1/dify
知识库 id:b81ee15e4a8911f08ad10242ac130006

六、dify中如何引入Ragflow中构建的知识库

1.添加外部知识库API连接,名称随便定义,endpoint填写上一步的url,api-key也对应上一步api-key。如下图。

2.连接外部知识库,在创建知识库左下角点击连接外部知识库,填写示例详见下图,这里的外部知识库id就是第五步中的查询到的知识库id。这里是一对一的,dify中的一个外部知识库引用只能对应ragflow中的一个知识库。如下图。

七、基于Ragflow的智能问答测试

Ragflow部署完毕后,通过知识库功能构建一个数字孪生知识库并添加文件后,直接在Ragflow的聊天应用中对该知识库进行智能问答测试,具体问答图如下。

http://www.lryc.cn/news/576832.html

相关文章:

  • 【Typst】自定义彩色盒子
  • 医疗AI智能基础设施构建:向量数据库矩阵化建设流程分析
  • 如何搭建基于RK3588的边缘服务器集群?支持12个RK3588云手机
  • Qt QGraphics简述及例程 - QGraphicsView、QGraphicsScene和QGraphicsItem
  • 深入剖析Nacos服务发现与注册,及如何基于LoadBalancer实现负载均衡
  • #华为昇腾#华为计算#昇腾开发者计划2025#
  • Redis分布式锁核心原理源码
  • #华为鲲鹏#华为计算#鲲鹏开发者计划2025#
  • Transformer结构与代码实现详解
  • 【电路笔记 TMS320F28335DSP】TI SCI (增强型的UART) 点对点异步串行通信接口
  • 【OpenGL学习】(八)图形变换
  • Oauth2 自定义设置token过期时间
  • 状态机编程实战 | 如何更优雅地处理字符串
  • 全新大模型开源,腾讯(int4能打DeepSeek) Vs 谷歌(2GB运行多模态)
  • Gemini-CLI:谷歌开源的命令行AI工具,重新定义开发者工作流
  • Ubuntu22 安装 RTX 5070 Ti Nvidia Driver 驱动
  • 自学嵌入式 day27 进程
  • mac系统快捷键及命令安装
  • 状态模式 - Flutter中的状态变身术,让对象随“状态“自由切换行为!
  • 边界的艺术:支持向量机与统计学习时代的王者
  • 设计模式-外观模式、适配器模式
  • 【数据挖掘】聚类算法学习—K-Means
  • YOLOv12_ultralytics-8.3.145_2025_5_27部分代码阅读笔记-conv.py
  • 设备预测性维护和异常检测系统设计方案
  • 【HuggingFace】模型下载至本地访问
  • Git安装全攻略:避坑指南与最佳实践
  • C++ 格式化输入输出
  • 人工智能时代的职业替代风险与应对策略分析
  • MySQL技巧
  • 性能分析专栏 -- top命令