前言Milvus 凭借其云原生架构、极致性能优化和丰富的企业级功能已成为全球领先的向量数据库广泛应用于 AI 基础设施、金融风控、多模态交互等关键领域。其持续的技术创新如 RaBitQ 量化、动态 Schema和开源社区支持使其在处理非结构化数据的规模与效率上保持领先地位。Dify 凭借其低代码开发、全栈技术支持和企业级可靠性已成为构建生成式 AI 应用的首选平台。无论是智能客服、内容自动化还是企业知识管理Dify 均能通过灵活的工作流编排和多模态处理能力帮助用户高效落地 AI 解决方案。其开源生态和全球化布局也使其在金融、医疗、制造等行业的智能化转型中占据领先地位。一、Milvus安装配置我们使用docker-compose的方式部署milvus首先去官网下载配置文件代码如下wgethttps://github.com/milvus-io/milvus/releases/download/v2.6.2/milvus-standalone-docker-compose.yml-Odocker-compose.yml下载完成后我们修改一下配置文件添加attu可视化界面可选以及修改milvus配置文件 如下代码是已修改版本docker-compose.ymlversion:3.5services: etcd: container_name: milvus-etcd image: quay.io/coreos/etcd:v3.5.18 environment: -ETCD_AUTO_COMPACTION_MODErevision -ETCD_AUTO_COMPACTION_RETENTION1000-ETCD_QUOTA_BACKEND_BYTES4294967296-ETCD_SNAPSHOT_COUNT50000volumes: -${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd command: etcd -advertise-client-urlshttp://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:3minio: 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:9000volumes: -${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data command: minio server /minio_data --console-address:9001healthcheck: test:[CMD,curl,-f,http://localhost:9000/minio/health/live]interval: 30s timeout: 20s retries:3standalone: 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:3ports: -19530:19530-9091:9091depends_on: -etcd-minioattu:#此处为可视化界面是否安装看个人container_name: attu image: zilliz/attu:v2.5.0 environment: MILVUS_URL: milvus-standalone:19530 ports: -8100:3000#端口号depends_on: -standalonenetworks: default: name: milvusmilvus.yaml只需将大约966行左右的authorizationEnabled改为true开启用户验证使用需用户名密码验证使用下面代码下载文件也可以直接复制网页链接打开后全选复制下来wgethttps://raw.githubusercontent.com/milvus-io/milvus/master/configs/milvus.yamlmilvus.yaml进行运行测试sudodocker-composeup-d如下图即为成功运行在环境中安装pymilvus进行登录测试默认用户名为root密码为Milvuspipinstallpymilvusfrompymilvusimportconnections connections.connect(aliasdefault,hostxx.xx.xx.xx,# 替换为您的 Milvus 主机地址port19530,# 替换为您的 Milvus 端口号userroot,passwordMilvus)print(success)我们也可以登录attu查看端口号为8100可以选择如下两种方式登录1、tokentoken登录为root:Milvus2、用户名密码用户名root默认密码Milvus到此为止milvus安装配置完成二、Dify安装配置我们使用docker-compose的方式部署Dify 首先下载代码gitclone https://github.com/langgenius/dify.git下载完成后运行下列指令cddify#此处根据自己文件夹名称修改cddockercp.env.example .env到此我们先不运行打开.env文件进行环境修改首先找到450行左右的VECTPR_STORE改为milvus往下几行找到该配置进行修改填写内容如下图然后修改该文件夹下 docker-compose.yaml 搜索Milvus vector database services 将所有与milvus的内容注释下图为示例无法截长图后面还有一些需要注释运行Dify 容器sudodocker-composeup-d如图即为成功三、测试是否链接成功进入本地dify地址登录完成后点击右上角头像→设置→模型供应商→在dify市场中下载ollama配件添加一个Embedding模型如果是中文推荐bge-m3打开知识库界面新建知识库添加文档根据自己的需求进行配置等待完成进行一下召回测试成功打开attu界面能看到我们新传入的数据点开查看一下没有错误结语到此我们配置就宣告成功了有问题可以在评论区留言我看到会积极回复后续我还会出更多关于dify与大模型相关的实用教程记得关注我我们下次再见