RAGFlow安装,dify对接RAGFlow
一、概述
RAGFlow是一种融合了数据检索与生成式模型的新型系统架构,其核心思想在于将大规模检索系统与先进的生成式模型(如Transformer、GPT系列)相结合,从而在回答查询时既能利用海量数据的知识库,又能生成符合上下文语义的自然语言回复。该系统主要包含两个关键模块:数据检索模块和生成模块。数据检索模块负责在海量数据中快速定位相关信息,而生成模块则基于检索结果生成高质量的回答或文本内容。
在实际应用中,RAGFlow能够在客户服务、问答系统、智能搜索、内容推荐等领域发挥重要作用,通过检索与生成的双重保障,显著提升系统的响应速度和准确性。
二、docker方式安装
注意事项
注意:默认情况下,dify不能和ragflow放到同一台服务器,因为redis环境变量会出现冲突!
RAGFlow解析文件时,会出现报错:AssertionError("Can't access Redis, Please check the Redis' status.")
如果资源有限,只有一台服务器,也可以解决,需要docker-compose增加-p参数。
-p 参数的作用
-
命名隔离:
-
使用不同的项目名称可以避免不同项目之间的容器、网络和卷的命名冲突。
-
例如,如果你有两个项目分别使用
docker-compose,它们的容器名称可能会冲突。通过指定不同的项目名称,可以确保它们的资源(如容器、网络、卷)是独立的。
-
-
管理方便:
-
通过指定项目名称,可以更方便地管理和操作特定的项目,而不会影响其他项目。
-
停止dify,进入dify的docker,使用命令:
docker-compose down
增加-p参数指定dify
docker-compose -p dify up -d
正式安装RAGFlow
官方文档:https://ragflow.io/docs/dev/
cd /opt/ git clone https://github.com/infiniflow/ragflow.git cd ragflow/docker git checkout -f v0.17.2
由于服务器80端口冲突,需要修改docker-compose.yml
ports: - ${SVR_HTTP_PORT}:9380 - 8081:80 - 8443:443
指定-p参数,启动
docker compose -p ragflow -f docker-compose.yml up -d
访问页面http://192.168.32.14:8081/
点击注册

输入账号信息

注意:这里注册的就是管理员账户。
登录成功之后,效果如下:

点击右上角头像,设置模型提供商。这里设置的通义千问

点击系统模型设置

选择默认的模型

三、创建知识库
回到首页,点击创建知识库,输入名字:半期考试成绩

点击新增文件,选择excel文件

点击右边的设置按钮-->切片方法

切换方法通用,勾选表格转html

点击解析按钮

等待一会,就会提示解析成功

点击excel文件名,就可以看到数据了

检索测试,输入测试文本:张三的语文成绩是多少?

回答结果不是很满意,这里返回了所有人的语文成绩。
因为问题包含了语文,他是做了相似度处理,所以返回了所有人的语文成绩。
接下来,我们会结合dify,回答最准确的答案。
四、dify对接RAGFlow
进入RAGFlow,点击右上角头像-->API-->API KEY

显示新密钥为:ragflow-hm***
登录dify,点击知识库-->外部知识库API

添加外部知识库api

编辑外部知识库API
Name: RAGFlow-test
API Endpoint:http://192.168.32.14:8081/api/v1/dify
API Key:ragflow-hm***

参数说明:
Name名称可以随便写,没有要求
API Endpoint的格式为:RAGFlow访问地址+/api/v1/dify
API Key:RAGFlow的api key
打开RAGFlow的知识库

会跳转链接到:http://192.168.32.14:8081/knowledge/dataset?id=c12e71e2057911f0b1d00242c0a8f006
url后面的id,就是知识库的id
登录到dify,创建知识库-->连接外部知识库

外部知识库名称,这个可以随便写
外部知识库api,选择RAGFlow-test
外部知识库id,就是RAGFlow对应的知识库id
Top k设置为10,可以调大一些

添加成功后,进入知识库-->召回测试
张三的语文成绩是多少?
右边能显示结果,说明api对接成功

在dify工作流中,就可以选择外部知识库了
创建一个聊天应用,test-chat-rag

提示词:
###角色
你是聊天助手,根据用户输入,优先检索知识库的详细内容。
###输入
知识库内容从上下文中获取。
###检索要求
如获取到的知识库内容与问题相关时,请汇总知识库详细内容再回答,如含有表格,输出表格的内容,不要带有html代码。
上下文选择外部知识库rag-test,效果如下:

选择模型-->发布-->运行

测试询问成绩
张三的语文成绩是多少?

最后得到了准确的答案!

浙公网安备 33010602011771号