喂饭教程-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 tag | Image size (GB) | Has embedding models? | Stable? |
---|---|---|---|
v0.17.2 | ≈9 | ✔️ | Stable release |
v0.17.2-slim | ≈2 | ❌ | Stable release |
nightly | ≈9 | ✔️ | Unstable nightly build |
nightly-slim | ≈2 | ❌ | Unstable 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 测试