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

【dify+milvus避坑指南】将向量库milvus集成给dify作为知识库

核心内容:


1. Milvus_standalone的WSL Linux部署流程
2. Milvus配置修改及服务启动验证
3. Dify在WSL Linux上的部署与基础环境配置

本文所用:

milvus   v2.5.6            dify   v1.6.0         Attu v2.5.0

一、安装milvus单机版

# 官方安装部署命令(如果已安装请忽略此步骤)
wget https://github.com/milvus-io/milvus/releases/download/v2.5.6/milvus-standalone-docker-compose.yml -O docker-compose.yml

二、修改milvus的docker-compose.yml配置并且安装可视化工具Attu(非必要)

services:etcd:....minio:ports:- "19001:9001"  # 保证后续安装RAGflow 不会出现Minio 端口冲突(非必要)- "19000:9000"  #....standalone:....# 在原docker-compose文件的这个位置添加下面这个attu容器,注意版本号和行前空格。attu:container_name: attuimage: zilliz/attu:v2.5.0environment:MILVUS_URL: milvus-standalone:19530ports:- "8000:3000"  # 外部端口8000可以自定义depends_on:- "standalone"

三、容器修改 milvus.yaml  开启milvus身份认证

# 进入 Milvus 容器(如果执行失败将milvus-standalone替换为你实际的CONTAINER_ID)
docker exec -it milvus-standalone /bin/bash# 启用认证
sed -i 's/authorizationEnabled: false/authorizationEnabled: true/g' /milvus/configs/milvus.yaml#退出容器
exit#验证是否开启成功
docker exec -it milvus-standalone cat /milvus/configs/milvus.yaml | grep authorizationEnabled#显示为:true则成功

四、(重)启动服务查看是否可行

#在milvus文件夹直接执行这一步docker compose up -d

五、安装dify

# Step1. 克隆仓库(建议国内用户使用镜像源)git clone https://github.com/langgenius/dify.git

六、修改dify的配置文件

# 配置.env环境变量cd dify/docker
cp .env.example .env
sudo vim .env # The type of vector store to use.
# VECTOR_STORE=weaviate  # 注释掉默认向量库配置
VECTOR_STORE=milvus   #换成我们要用的milvus# The milvus uri.
MILVUS_URI=http://xxx.xx.xx.xx:19530
MILVUS_TOKEN=   #可不填
MILVUS_USER=your_user    #milvus认证的用户名  默认root
MILVUS_PASSWORD=your_pass    #milvus认证的密码  默认Mlivus  切记首字母大写
MILVUS_ENABLE_HYBRID_SEARCH=True 

七、修改dify的 docker-compose.yaml 配置文件

# 注释掉 Dify 关于 Milvus的配置,避免重复下载,与已经安装好的Milvus 冲突
# 下述内容全部注释,内容较多我就省略号替代#Milvus vector database servicesetcd:container_name: milvus-etcd....minio:container_name: milvus-minio....milvus-standalone:container_name: milvus-standalone....

八、启动服务然后测试

docker compose up -d

9、进入dify创建知识库 然后进入Attu查看是否自动创建collection

如果如上图一样,milvus库中可以自动生成collection,那就成功了!

如果失败,查看dify是否成功调用Embedding模型向量化文件,或者查看docker logs进行原因排查!

http://www.dtcms.com/a/306728.html

相关文章:

  • 基于深度学习的医学图像分析:使用DeepLabv3+实现医学图像分割
  • (LeetCode 每日一题) 2419. 按位与最大的最长子数组(数组)
  • leetcode 2419. 按位与最大的最长子数组 中等
  • 构建全球化:OMS系统赋能业财与订单一体化
  • linux更新内核启动镜像文件命令(sudo update-initramfs -u)的作用
  • 如何本地运行 HTML 文件并通过 IP 访问
  • Win10下python环境变量呼出微软应用商店
  • 2025Nacos安装Mac版本 少走弯路版本
  • MySQL设置为严格模式
  • 使用HaiSnap做了一款取件码App(一键生成)
  • PCB基础知识
  • Redis简介及基本操作(一)
  • SNR-Aware Low-light Image Enhancement 论文阅读
  • JavaFX CSS @font-face 错误全面分析 loadStylesheetUnPrivileged / reportException
  • [Agent开发平台] Coze Loop开源 | 前端 | typescript架构API速查
  • Mac配置iterm2
  • 为什么选择 Apache RocketMQ
  • 基于Java+vue+MySQL实现(Web)疫情上报系统
  • 架构实战——架构重构内功心法第一式(有的放矢)
  • Effective C++ 条款12:复制对象时勿忘其每一个成分
  • AD里面出现元器件PCB封装不能编辑的情况
  • UE5保姆级新手教程第六章(角色互动)
  • 低成本高可控,TEMU自养号测评的6大核心优势解析
  • 【数据可视化-76】从释永信被查,探索少林寺客流量深度分析:Python + Pyecharts 炫酷大屏可视化(含完整数据和代码)
  • 142页|中型国有企业数字化转型方法论:京东数智化转型解决方案-五化方法论
  • Apache Ignite 集群标识(Cluster ID)和集群标签(Cluster Tag)
  • Python多线程利器:重入锁(RLock)详解——原理、实战与避坑指南
  • 国产音频DA转换芯片DP7361支持192K六通道24位DA转换器
  • AI服务器中,EEPROM有哪些部件使用,需要存储哪些信息?
  • sqli-labs:Less-2关卡详细解析