核心内容:
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: 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进行原因排查!