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

喂饭教程-Dify如何集成RAGFlow知识库

喂饭教程-Dify如何集成RAGFlow知识库

原创 老吴聊技术 [老吴聊技术](javascript:void(0)😉 2025年03月19日 23:40 上海

以下内容转载自:https://mp.weixin.qq.com/s/HornfHpZDRplKGyyKnGXEA侵删

图片

1、安装RAGFLOW

1.前提条件

  • CPU >= 4 核
  • RAM >= 16 GB
  • Disk >= 50 GB
  • Docker >= 24.0.0 & Docker Compose >= v2.26.1

如果你并没有在本机安装 Docker(Windows、Mac,或者 Linux), 可以参考文档 Install Docker Engine 自行安装。

2.启动服务器

1. 修改 vm.max_map_count
临时修改
$ sudo sysctl -w vm.max_map_count=262144
永久修改
$ vi /etc/sysctl.conf 
vm.max_map_count=262144
$ sysctl -p
2. 下载安装包
(base) [root@testvm13 docker]#  git clone https://github.com/infiniflow/ragflow.git 
3. 进入 docker 文件夹,修改docker-compose-base.yml镜像下载地址

docker hub地址会被墙。

(base) [root@testvm13 docker]# cat docker-compose-base.yml |grep image    image: dockerpull.pw/elasticsearch:${STACK_VERSION}    image: dockerpull.pw/infiniflow/infinity:v0.6.0-dev3    # mysql:5.7 linux/arm64 image is unavailable.    image: dockerpull.pw/mysql:8.0.39    image: quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z    image: swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/valkey/valkey:8(base) [root@testvm13 docker]#
4. 修改端口,默认端口是80,防止和dify端口冲突
#vi docker-compose.ymlinclude:  - ./docker-compose-base.ymlservices:  ragflow:    depends_on:      mysql:        condition: service_healthy    image: ${RAGFLOW_IMAGE}    container_name: ragflow-server    ports:      - ${SVR_HTTP_PORT}:9380      - 8080:80    #修改端口      - 8443:443   #修改端口    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    env_file: .env
5. 修改RAGFLOW_IMAGE地址
     $vi .env     82 # The RAGFlow Docker image to download.     83 # Defaults to the v0.17.2-slim edition, which is the RAGFlow Docker image without embedding models.     84 #RAGFLOW_IMAGE=infiniflow/ragflow:v0.17.2-slim     85 #     86 # To download the RAGFlow Docker image with embedding models, uncomment the following line instead:     87 RAGFLOW_IMAGE=swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v0.17.2
6. 启动容器
$ cd ragflow/docker$ docker compose -f docker-compose.yml up -d
RAGFlow image tagImage size (GB)Has embedding models?Stable?
v0.17.2≈9✔️Stable release
v0.17.2-slim≈2Stable release
nightly≈9✔️Unstable nightly build
nightly-slim≈2Unstable nightly build
7. 验证启动
$ docker logs -f ragflow-server

出现以下界面提示说明服务器启动成功:

____   ___    ______ ______ __
    / __ \ /   |  / ____// ____// /____  _      __
   / /_/ // /| | / / __ / /_   / // __ \| | /| / /
  / _, _// ___ |/ /_/ // __/  / // /_/ /| |/ |/ /
 /_/ |_|/_/  |_|\____//_/    /_/ \____/ |__/|__/

 * Running on all addresses (0.0.0.0)
8. 登录验证

在你的浏览器中输入你的服务器对应的 IP 地址 http://192.168.0.13:8080 并登录 RAGFlow。(默认的 HTTP 服务端口 80 )

2. RAGFlow配置

2.1 模型设置

图片

2.2 上传知识库文档

图片

2.3 创建ragflow API密钥

图片

2.4 记录知识库ID

图片

3.Dify 安装

3.1 下载dify安装包

# 假设当前最新版本为 1.1.0(base) root@ubuntu:/data1/apps/#git clone https://github.com/langgenius/dify.git --branch 1.1.0

3.2 修改配置

(base) root@ubuntu:/data1/apps/dify-main/docker# cd dify/docker(base) root@ubuntu:/data1/apps/dify-main/docker# cp .env.example .env

修改docker-compose.yaml,dify镜像地址设置为: dockerpull.pw ,可以国内下载用,docker hub会被墙。

图片

3.3启动下载镜像

图片

3.4查看dify启动

图片

3.5 注册登录

http://IP地址 默认端口是80

4 配置外部知识库

4.1 dify中添加外部API

图片

API和KEY的值

API:http://192.168.0.13:8080/api/v1/dify
KEY:ragflow-ZkNzRjMjZlMDFhMDExZjBiNDIxMDI0Mm

4.2 连接外部知识库

图片

4.3 获取外部知识库ID

图片

4.4 设置外部知识库API 和 ID

图片

4.5 Dify请求url和参数格式

图片ragflow 实现的dify调用接口

图片

4.6 查看外部知识库

图片

4.7 创建聊天助手测试外部知识库

图片

提示词:

你是一个智能助手,请总结知识库的内容回答问题,请列举知识库中的数据详细回答。当所有知识库内容都与问题无关时,你的回答必须包括“知识库中未能找到你要的答案!” 这句话,回答需要考虑聊天历史。

4.8 测试

图片

相关文章:

  • [ISP] ISP 中的 GTM 与 LTM:原理、算法与与 Gamma 校正的对比详解
  • Token+JWT+Redis 实现鉴权机制
  • 2024年十五届蓝桥杯青少年Scratch省赛初级组——找不同
  • 极空间NAS进阶玩法:Debian 系统安装教程
  • Docker学习--卷相关命令
  • 瓦片数据合并方法
  • 【R语言绘图】圈图绘制代码
  • 分割回文串 复原IP地址(Java)
  • 光场调制技术在超快激光加工中的应用
  • (高频SQL50题)1667. 修复表中的名字
  • springboot+vue2集成JWT token实现权限验证
  • 如何更好的理解 beforeEach 全局前置守卫,在处理路由跳转前触发,怎么实现常用的全局权限校验、登录状态检查的呢?
  • 深入解析SQL多表查询:核心技巧与实战示例
  • 【前端进阶】可选链与空值合并:接口数据容错处理的最佳实践
  • G-升!龙!_牛客周赛 Round 88
  • 深入源码级别看spring bean创建过程
  • Go语言类型捕获及内存大小判断
  • JVM核心机制:类加载×字节码引擎×垃圾回收机制
  • 硬盘分区格式方案之 MBR(Master Boot Record)主引导记录详解 笔记250407
  • 七彩虹隐星G15笔记本信息
  • 商务部回应美方加严限制中国芯片:敦促美方立即纠正错误做法
  • 中日东三省问题的源起——《1905年东三省事宜谈判笔记》解题
  • 为何选择上海?两家外企提到营商环境、人才资源……
  • 公元1058年:柳永词为什么时好时坏?
  • 秦洪看盘|指标股发力,A股渐有突破态势
  • 《歌手2025》公布首发阵容,第一期就要淘汰一人