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

核心内容:

1. Milvus_standalone的WSL Linux部署流程

  1. Milvus配置修改及服务启动验证
  2. 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: attu
    image: zilliz/attu:v2.5.0
    environment:
      MILVUS_URL: milvus-standalone:19530
    ports:
      - "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 services

  etcd:
    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进行原因排查!

相关推荐
AI_567811 分钟前
阿里云OSS成本优化:生命周期规则+分层存储省70%
运维·数据库·人工智能·ai
礼拜天没时间.21 分钟前
自定义镜像制作——从Dockerfile到镜像
linux·docker·容器·centos·bash
Tadas-Gao29 分钟前
深度学习与机器学习的知识路径:从必要基石到独立范式
人工智能·深度学习·机器学习·架构·大模型·llm
luffy545930 分钟前
windows下通过docker-desktop创建redis实例
windows·redis·docker·容器
EdisonZhou41 分钟前
MAF快速入门(15)Agent调试利器:DevUI
llm·aigc·agent·.net core
玄同7651 小时前
Python Random 模块深度解析:从基础 API 到 AI / 大模型工程化实践
人工智能·笔记·python·学习·算法·语言模型·llm
weixin_404679311 小时前
docker部署ollama
运维·docker·容器
天燹1 小时前
OpenClaw (Clawdbot) Windows 平台本地化一键部署实践
ai
小邓睡不饱耶1 小时前
实战|W餐饮平台智能化菜品推荐方案(含Spark实操+算法选型+完整流程)
python·ai·ai编程·ai写作
Hi202402171 小时前
在Docker容器中安全运行OpenClaw:无需虚拟机,体验AI助手
人工智能·安全·docker·openclaw