一、Milvus 是什么?
Milvus(米尔沃斯)是目前最火的开源向量数据库,专门用来存储、索引和搜索海量向量数据,是 RAG 检索增强生成、推荐系统、图像检索等 AI 应用的标配。
核心能力:
- 🚀 亿级向量毫秒级检索
- 📦 支持 IVF、HNSW 等多种索引
- 🔌 完美对接 LangChain、LlamaIndex
- 🖥️ 单机 / 集群多种部署方式
⚠️划重点:Milvus没有原生 Windows 版本,官方推荐通过Docker Desktop + WSL2运行。这是标准方案,性能和 Linux 几乎无差别,放心用。
二、第一步:检查虚拟化是否开启
安装 Docker 之前,先确认你的 CPU 虚拟化已经打开。
操作步骤:
- 按下
Ctrl + Shift + Esc打开任务管理器 - 点击「性能」选项卡 → 选择「CPU」
- 看右下角有没有「虚拟化:已启用」
| 状态 | 怎么办 |
|---|---|
| ✅ 已启用 | 直接往下走 |
| ❌ 未启用 | 重启电脑进 BIOS,打开 Intel VT-x / AMD-V |
三、第二步:安装 Docker Desktop
3.1 下载安装
- 官网下载:https://www.docker.com/get-started/
- 双击安装包,一路下一步
- 安装完必须重启电脑(WSL2 内核更新需要)
3.2 确认 Docker 运行正常
重启后 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 milvus4.2 下载安装脚本
Invoke-WebRequest https://raw.githubusercontent.com/milvus-io/milvus/refs/heads/master/scripts/standalone_embed.bat -OutFile standalone.bat💡下载失败怎么办?
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 分钟,耐心等。看到下面的提示就说明成功了:
五、第四步:验证安装结果
5.1 查看容器状态
docker ps正常会看到3 个容器都在运行:
三个容器分别是:
| 容器名 | 作用 |
|---|---|
| milvus-standalone | Milvus 核心服务 |
| milvus-etcd | 元数据存储 |
| milvus-minio | 对象存储(存向量数据文件) |
5.2 端口说明
| 端口 | 用途 |
|---|---|
| 19530 | 主端口(gRPC,Python SDK 用这个) |
| 9091 | HTTP API 端口 |
六、第五步:安装 Attu 可视化工具
光用命令行不方便,Attu 是官方可视化管理工具,图形化查看集合、数据、索引。
6.1 下载 Attu 桌面版
- 打开下载页:https://github.com/zilliztech/attu/releases
- 找最新版,下载 Windows 安装包(
attu-windows-x64.exe) - 双击安装,下一步下一步
6.2 连接 Milvus
打开 Attu,输入连接信息:
- Milvus 地址:
localhost:19530 - 用户名:留空
- 密码:留空
点「连接」就进去了!
6.3 Attu 主界面
连接成功后,你可以看到所有集合、向量数量、状态等信息:
⚠️版本匹配提醒:Milvus 2.5.x 对应 Attu 2.5.x,版本不匹配会连接失败。
七、第六步:Python 连接测试
用代码验证一下能不能正常操作。
7.1 安装 SDK
pip install pymilvus7.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())运行效果:
看到这个输出,恭喜你!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 启动失败
解决:
- 确认虚拟化已开(任务管理器看)
- 执行
wsl --update更新内核 - 重启 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 Desktop → Settings → Resources → Disk image location → 改到 D 盘
❌ 坑 4:Python 连不上
排查顺序:
docker ps确认容器在跑telnet localhost 19530确认端口通- 检查防火墙,临时关了试试
- URI 写全:
http://localhost:19530
十一、全文总结
- Milvus 没有 Windows 原生版,通过 Docker Desktop + WSL2 运行是官方标准方案
- 安装三步曲:装 Docker → 跑一键脚本 → Attu 可视化管理
- 三个核心容器:milvus-standalone(主服务)、etcd(元数据)、minio(对象存储)
- 默认端口 19530,Python SDK 和 LangChain 都用这个
- Attu 必备:图形化管理,调试、查数据都靠它
觉得有用的话,点赞 + 收藏 + 关注,持续更新 RAG 从零到企业级落地全套教程!