Dify配置Milvus向量数据库 Linux版安装配置教程
前言
Milvus 凭借其云原生架构、极致性能优化和丰富的企业级功能,已成为全球领先的向量数据库,广泛应用于 AI 基础设施、金融风控、多模态交互等关键领域。其持续的技术创新(如 RaBitQ 量化、动态 Schema)和开源社区支持,使其在处理非结构化数据的规模与效率上保持领先地位。
Dify 凭借其低代码开发、全栈技术支持和企业级可靠性,已成为构建生成式 AI 应用的首选平台。无论是智能客服、内容自动化还是企业知识管理,Dify 均能通过灵活的工作流编排和多模态处理能力,帮助用户高效落地 AI 解决方案。其开源生态和全球化布局,也使其在金融、医疗、制造等行业的智能化转型中占据领先地位。
一、Milvus安装配置
我们使用docker-compose的方式部署milvus,首先去官网下载配置文件,代码如下
wget https://github.com/milvus-io/milvus/releases/download/v2.6.2/milvus-standalone-docker-compose.yml -O docker-compose.yml
下载完成后我们修改一下配置文件,添加attu可视化界面(可选),以及修改milvus配置文件 如下代码是已修改版本
docker-compose.yml
version: '3.5'
services:
etcd:
container_name: milvus-etcd
image: quay.io/coreos/etcd:v3.5.18
environment:
- ETCD_AUTO_COMPACTION_MODE=revision
- ETCD_AUTO_COMPACTION_RETENTION=1000
- ETCD_QUOTA_BACKEND_BYTES=4294967296
- ETCD_SNAPSHOT_COUNT=50000
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd
command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd
healthcheck:
test: ["CMD", "etcdctl", "endpoint", "health"]
interval: 30s
timeout: 20s
retries: 3
minio:
container_name: milvus-minio
image: minio/minio:RELEASE.2024-12-18T13-15-44Z
environment:
MINIO_ACCESS_KEY: minioadmin
MINIO_SECRET_KEY: minioadmin
ports:
- "9001:9001"
- "9000:9000"
volumes:
- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data
command: minio server /minio_data --console-address ":9001"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
standalone:
container_name: milvus-standalone
image: milvusdb/milvus:v2.6.0
command: ["milvus", "run", "standalone"]
security_opt:
- seccomp:unconfined
environment:
ETCD_ENDPOINTS: etcd:2379
MINIO_ADDRESS: minio:9000
MQ_TYPE: woodpecker
volumes:
- ${DOCKER_VOLUME_PATH:-./volumes/milvus/db}:/var/lib/milvus/db
- ${DOCKER_VOLUME_PATH:-./volumes/milvus/etcd}:/var/lib/milvus/etcd
- ${DOCKER_VOLUME_PATH:-./volumes/milvus/logs}:/var/lib/milvus/logs
- ${DOCKER_VOLUME_PATH:-./volumes/milvus/meta}:/var/lib/milvus/meta
- ./milvus.yaml:/milvus/configs/milvus.yaml # 添加这一行,修改配置文件地址
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9091/healthz"]
interval: 30s
start_period: 90s
timeout: 20s
retries: 3
ports:
- "19530:19530"
- "9091:9091"
depends_on:
- "etcd"
- "minio"
attu: #此处为可视化界面,是否安装看个人
container_name: attu
image: zilliz/attu:v2.5.0
environment:
MILVUS_URL: milvus-standalone:19530
ports:
- "8100:3000" #端口号
depends_on:
- "standalone"
networks:
default:
name: milvus
milvus.yaml只需将大约966行左右的authorizationEnabled改为true,开启用户验证(使用需用户名密码验证)
使用下面代码下载文件,也可以直接复制网页链接打开后全选复制下来
wget https://raw.githubusercontent.com/milvus-io/milvus/master/configs/milvus.yaml
milvus.yaml

进行运行测试
sudo docker-compose up -d
如下图即为成功运行

在环境中安装pymilvus进行登录测试(默认用户名为:root,密码为:Milvus)
pip install pymilvus
from pymilvus import connections
connections.connect(
alias="default",
host="xx.xx.xx.xx", # 替换为您的 Milvus 主机地址
port="19530", # 替换为您的 Milvus 端口号
user="root",
password="Milvus"
)
print("success")
我们也可以登录attu查看(端口号为8100)

可以选择如下两种方式登录:
1、token
token登录为:root:Milvus
2、用户名密码
用户名:root
默认密码:Milvus
到此为止milvus安装配置完成
二、Dify安装配置
我们使用docker-compose的方式部署Dify ,首先下载代码
git clone https://github.com/langgenius/dify.git
下载完成后,运行下列指令
cd dify #此处根据自己文件夹名称修改
cd docker
cp .env.example .env
到此我们先不运行,打开.env文件进行环境修改
首先找到450行左右的VECTPR_STORE改为milvus

往下几行找到该配置进行修改(填写内容如下图)

然后修改该文件夹下 docker-compose.yaml 搜索:Milvus vector database services ,将所有与milvus的内容注释
(下图为示例,无法截长图后面还有一些需要注释)

运行Dify 容器
sudo docker-compose up -d
如图即为成功

三、测试是否链接成功
进入本地dify地址,登录完成后点击右上角头像→设置→模型供应商→在dify市场中下载ollama配件,添加一个Embedding模型
如果是中文推荐bge-m3
打开知识库界面,新建知识库,添加文档,根据自己的需求进行配置

等待完成

进行一下召回测试,成功

打开attu界面,能看到我们新传入的数据

点开查看一下,没有错误

结语
到此我们配置就宣告成功了,有问题可以在评论区留言,我看到会积极回复,后续我还会出更多关于dify与大模型相关的实用教程,记得关注我,我们下次再见!
更多推荐
所有评论(0)