跳到主要内容

如何启用 AI 搜索功能

AI 搜索是明道云系统中的扩展模块,用于为工作表提供向量检索与语义搜索能力,用户可自主选择是否启用。

启用之前请确保服务器满足以下要求:

组件最低配置推荐配置
Docker 版本20.10.16 及以上
CPU4 核(支持 SSE4.2/AVX 指令集)4 核+
空余物理内存8GB16GB+
磁盘SATA 3.0 SSDNVMe SSD

Milvus standalone 运行时包含 milvus、minio、etcd 三个容器,合计占用内存约 6~8GB,低于 8GB 可用内存的服务器不建议启用

部署 Milvus 向量数据库

AI 搜索依赖 Milvus 向量数据库,需在单机 docker-compose.yaml 中新增 milvus、minio、etcd 三个服务。

  1. 拉取镜像

    docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-milvus:v2.6.14
    docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/etcd:v3.5.25
    docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/minio:RELEASE.2024-05-28T17-19-04Z
  2. 修改 docker-compose.yaml,新增以下三个服务(默认路径为:/data/mingdao/script/docker-compose.yaml

    etcd:
    container_name: milvus-etcd
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/etcd:v3.5.25
    environment:
    - ETCD_AUTO_COMPACTION_MODE=revision
    - ETCD_AUTO_COMPACTION_RETENTION=1000
    - ETCD_QUOTA_BACKEND_BYTES=4294967296
    - ETCD_SNAPSHOT_COUNT=50000
    volumes:
    - ./volume/data/milvus/etcd:/etcd
    command: etcd -advertise-client-urls=http://etcd:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd

    minio:
    container_name: milvus-minio
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/minio:RELEASE.2024-05-28T17-19-04Z
    environment:
    MINIO_ACCESS_KEY: minioadmin
    MINIO_SECRET_KEY: minioadmin
    volumes:
    - ./volume/data/milvus/minio:/minio_data
    command: minio server /minio_data --console-address ":9001"

    milvus:
    container_name: milvus-standalone
    image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-milvus:v2.6.14
    command: ["milvus", "run", "standalone"]
    security_opt:
    - seccomp:unconfined
    environment:
    ETCD_ENDPOINTS: etcd:2379
    MINIO_ADDRESS: minio:9000
    MINIO_REGION: us-east-1
    COMMON_SECURITY_AUTHORIZATIONENABLED: "true"
    volumes:
    - ./volume/data/milvus/data:/var/lib/milvus
    ports:
    - 19530:19530
    depends_on:
    - etcd
    - minio

    同时在 app 服务下新增环境变量:

    app:
    environment:
    ENV_MILVUS_URI: "http://milvus:19530"
    ENV_MILVUS_DATABASE: "default"
    ENV_MILVUS_USERNAME: "root"
    ENV_MILVUS_PASSWORD: "your_password"
  3. 创建数据目录

    mkdir -p /data/mingdao/script/volume/data/milvus/{etcd,minio,data}
  4. 在安装管理器根目录下执行 bash ./service.sh restartall 重启服务,等待命令执行完成。

  5. 修改默认密码(首次启动后必做)

    Milvus 默认账号为 root,默认密码为 Milvus,首次启动后需立即修改:

    # 进入 milvus 容器
    docker exec -it milvus-standalone bash

    # 修改密码(将 your_password 替换为实际密码)
    TOKEN=$(echo -n 'root:Milvus' | base64 -w0)
    curl -s -X POST 'http://localhost:19530/v2/vectordb/users/update_password' \
    -H 'Content-Type: application/json' \
    -H "Authorization: Basic $TOKEN" \
    -d '{"userName": "root", "password": "Milvus", "newPassword": "your_password"}'

    返回 {"code":0,"data":{}} 表示修改成功。修改完成后将 app 服务中的 ENV_MILVUS_PASSWORD 更新为新密码,并重启 app 服务。