一、Milvus 是什么?

Milvus(米尔沃斯) 是目前最火的开源向量数据库,专门用来存储、索引和搜索海量向量数据,是 RAG 检索增强生成、推荐系统、图像检索等 AI 应用的标配。

Milvus Logo

核心能力

  • 🚀 亿级向量毫秒级检索
  • 📦 支持 IVF、HNSW 等多种索引
  • 🔌 完美对接 LangChain、LlamaIndex
  • 🖥️ 单机 / 集群多种部署方式

⚠️ 划重点:Milvus 没有原生 Windows 版本,官方推荐通过 Docker Desktop + WSL2 运行。这是标准方案,性能和 Linux 几乎无差别,放心用。


二、第一步:检查虚拟化是否开启

安装 Docker 之前,先确认你的 CPU 虚拟化已经打开。

操作步骤

  1. 按下 Ctrl + Shift + Esc 打开任务管理器
  2. 点击「性能」选项卡 → 选择「CPU」
  3. 看右下角有没有「虚拟化:已启用」

任务管理器查看虚拟化

状态怎么办
✅ 已启用直接往下走
❌ 未启用重启电脑进 BIOS,打开 Intel VT-x / AMD-V

三、第二步:安装 Docker Desktop

3.1 下载安装

  1. 官网下载:https://www.docker.com/get-started/
  2. 双击安装包,一路下一步
  3. 安装完必须重启电脑(WSL2 内核更新需要)

3.2 确认 Docker 运行正常

重启后 Docker Desktop 会自动启动,看到下面这个界面,左下角鲸鱼图标是绿色的,就说明运行正常:

Docker Desktop 主界面

3.3 验证 WSL2

打开 PowerShell 执行:

wsl --list --verbose

看到 docker-desktop 状态是 Running、版本是 2,就 OK 了。


四、第三步:安装 Milvus(一键脚本法)

推荐新手用官方一键脚本,最简单,一条命令搞定。

4.1 创建工作目录

打开 PowerShell,执行:

# 切换到D盘(推荐,别放C盘)
D:
# 创建milvus文件夹
mkdir milvus
cd milvus

4.2 下载安装脚本

Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat

PowerShell 下载安装脚本

💡 下载失败怎么办?

GitHub 网络不好的话,换这条命令:

certutil -urlcache -split -f "https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat" standalone.bat

4.3 启动 Milvus

.\standalone.bat start

首次启动会自动拉取镜像,大概 3~10 分钟,耐心等。看到下面的提示就说明成功了:

Milvus 启动成功


五、第四步:验证安装结果

5.1 查看容器状态

docker ps

正常会看到 3 个容器 都在运行:

docker ps 查看容器状态

三个容器分别是:

容器名作用
milvus-standaloneMilvus 核心服务
milvus-etcd元数据存储
milvus-minio对象存储(存向量数据文件)

5.2 端口说明

端口用途
19530主端口(gRPC,Python SDK 用这个)
9091HTTP API 端口

六、第五步:安装 Attu 可视化工具

光用命令行不方便,Attu 是官方可视化管理工具,图形化查看集合、数据、索引。

6.1 下载 Attu 桌面版

  1. 打开下载页:https://github.com/zilliztech/attu/releases
  2. 找最新版,下载 Windows 安装包(attu-windows-x64.exe
  3. 双击安装,下一步下一步

6.2 连接 Milvus

打开 Attu,输入连接信息:

  • Milvus 地址localhost:19530
  • 用户名:留空
  • 密码:留空

Attu 连接界面

点「连接」就进去了!

6.3 Attu 主界面

连接成功后,你可以看到所有集合、向量数量、状态等信息:

Attu 主界面

⚠️ 版本匹配提醒:Milvus 2.5.x 对应 Attu 2.5.x,版本不匹配会连接失败。


七、第六步:Python 连接测试

用代码验证一下能不能正常操作。

7.1 安装 SDK

pip install pymilvus

7.2 测试代码

from pymilvus import MilvusClient
连接本地 Milvus
client = MilvusClient(uri="http://localhost:19530")
print("✅ Milvus 连接成功!")
创建测试集合
client.create_collection(
collection_name="hello_milvus",
dimension=768
)
print("✅ 测试集合创建成功!")
查看所有集合
print("当前集合:", client.list_collections())

运行效果:

Python 连接测试成功

看到这个输出,恭喜你!Milvus 环境完全搞定了!


八、第七步:对接 LangChain(进阶)

和上一篇的文档切分无缝对接,几行代码搞定向量存储:

from langchain_milvus import Milvus
from langchain_community.embeddings import HuggingFaceEmbeddings
初始化 embedding 模型
embeddings = HuggingFaceEmbeddings(model_name="all-MiniLM-L6-v2")
文档块存入 Milvus
vector_store = Milvus.from_documents(
documents=chunk_docs,  # 上一篇切好的文本块
embedding=embeddings,
connection_args={"host": "localhost", "port": "19530"},
collection_name="knowledge_base",
)
相似度检索
results = vector_store.similarity_search("保修政策是什么?", k=3)

九、常用命令速查表

# 启动 Milvus
.\standalone.bat start
停止 Milvus
.\standalone.bat stop
查看状态
.\standalone.bat status
查看日志
docker logs milvus-standalone
完全卸载(删所有数据)
.\standalone.bat delete

十、常见踩坑解决方案

❌ 坑 1:Docker Engine 启动失败

解决

  1. 确认虚拟化已开(任务管理器看)
  2. 执行 wsl --update 更新内核
  3. 重启 Docker Desktop

❌ 坑 2:镜像拉取慢 / 失败

解决:配置国内镜像源

Docker Desktop → Settings → Docker Engine,加入:

{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com"
  ]
}

Apply & Restart 重启。

❌ 坑 3:C 盘空间被占满

原因:Docker 默认数据存在 C 盘

解决:迁移到 D 盘

Docker 磁盘迁移设置

Docker Desktop → Settings → Resources → Disk image location → 改到 D 盘

❌ 坑 4:Python 连不上

排查顺序

  1. docker ps 确认容器在跑
  2. telnet localhost 19530 确认端口通
  3. 检查防火墙,临时关了试试
  4. URI 写全:http://localhost:19530

十一、全文总结

  1. Milvus 没有 Windows 原生版,通过 Docker Desktop + WSL2 运行是官方标准方案
  2. 安装三步曲:装 Docker → 跑一键脚本 → Attu 可视化管理
  3. 三个核心容器:milvus-standalone(主服务)、etcd(元数据)、minio(对象存储)
  4. 默认端口 19530,Python SDK 和 LangChain 都用这个
  5. Attu 必备:图形化管理,调试、查数据都靠它

觉得有用的话,点赞 + 收藏 + 关注,持续更新 RAG 从零到企业级落地全套教程!

Logo

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

更多推荐