如何启用向量知识库功能
向量知识库为本产品的扩展模块,用于为工作表提供向量检索与语义搜索能力,用户可根据实际需求选择是否启用。
环境要求
启用前请确保服务器满足以下条件(强烈建议使用独立服务器部署):
⚠️ Milvus 单机模式运行包含
milvus、minio、etcd三个组件,总内存占用约 6~8GB。可用内存低于 8GB 的服务器不建议启用该功能。
| 组件 | 最低配置 | 推荐配置 |
|---|---|---|
| Docker | 20.10.16 及以上 | — |
| CPU | 4 核(支持 SSE4.2 / AVX 指令集) | 4 核及以上 |
| 空余内存 | 8GB | 16GB 及以上 |
| 磁盘 | SATA SSD | NVMe SSD |
部署 Milvus
-
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-etcd:v3.5.25
docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-minio:RELEASE.2025-04-22T22-12-26Z
docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-milvus:v2.6.14 -
创建数据目录
如下:在当前目录下创建对应数据挂载目录
mkdir -p ./volume/data/milvus/{etcd,minio,data} -
创建
docker-compose.yamlversion: "3.5"
services:
etcd:
container_name: milvus-etcd
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-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/mingdaoyun-minio:RELEASE.2025-04-22T22-12-26Z
environment:
MINIO_ROOT_USER: minioadmin
MINIO_ROOT_PASSWORD: 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
COMMON_SECURITY_AUTHORIZATIONENABLED: "true"
MQ_TYPE: woodpecker
volumes:
- ./volume/data/milvus/data:/var/lib/milvus
ports:
- 19530:19530
epends_on:
- etcd
- minio -
启动服务
docker-compose up -d -
修改 Milvus 默认密码(必须)
Milvus 默认账号:
- 用户名:
root - 密码:
Milvus
首次启动后必须修改(
your_password替换为实际密码):docker exec -it milvus-standalone bash
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":{}}表示修改成功。 - 用户名:
接入主服务
-
拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-rag:1.0.0 -
增加 rag 服务
在主服务配置文件
docker-compose.yaml中追加:rag:
image: registry.cn-hangzhou.aliyuncs.com/mdpublic/mingdaoyun-rag:1.0.0
environment:
<<: *app-environment -
新增环境变量
在主服务配置文件
docker-compose.yaml的app服务下新增环境变量app:
environment:
ENV_RAG_ENABLE: "true"
ENV_MILVUS_URI: "http://{Milvus内网IP地址}:19530"
ENV_MILVUS_DATABASE: "default"
ENV_MILVUS_USERNAME: "root"
ENV_MILVUS_PASSWORD: "your_password" -
在管理器根目录下执行
bash ./service.sh restartall重启服务,等待命令执行完成