前言

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与大模型相关的实用教程,记得关注我,我们下次再见!

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐