Milvus介绍

1、定义

Milvus 是一款开源的向量数据库(Vector Database)。

  • 核心作用:专门用来存储和检索“非结构化数据”(如文本、图片、音频、视频)转化成的向量(一串数字)。

  • 应用场景:AI 大模型的“长期记忆”(RAG)、以图搜图、语义搜索、推荐系统。

  • 最新状态:截至 2026 年初,最新版本已到 v2.6.9,性能极强,支持十亿级向量检索。

2、模式介绍

可以看到milvus有(单机版standalone,分布式集群版Cluster,轻量版Milvus lite云托管版Zilliz Cloud),下面我们介绍它们的使用场景和特点。

模式 英文名称 适用场景 特点
单机版 Standalone 个人开发、测试、小规模生产 你当前使用的模式。所有组件(查询、索引、存储等)打包在一个 Docker 容器里,资源占用少,启动快,最适合学习。
分布式集群版 Cluster Mode 大规模生产环境 将组件拆分为多个微服务(QueryNode, DataNode, IndexNode 等),部署在 Kubernetes (K8s) 上。支持横向扩展,能处理百亿级向量,高可用,但部署复杂。
轻量嵌入版 Milvus Lite 本地应用、边缘设备 一个纯 Python 库 (pip install milvus-lite),无需 Docker,直接在进程内运行 SQLite + 向量引擎。适合小型工具或离线 Demo。
云托管版 Zilliz Cloud 企业不想运维 由 Milvus 原班人马提供的全托管云服务(SaaS),开箱即用,自动扩缩容,按量付费。

安装 Docker Desktop 和 Milvus

在 Windows 11 上使用 Docker Desktop 安装 Milvus 非常简单,官方推荐使用 Docker Compose 方式来部署单机版(Standalone)。

1、安装docker desktop

下载:去 Docker 官网下载 Windows 版安装包。

开启虚拟化:重启电脑进入 BIOS,确保开启了 Virtualization Technology (VT-x/AMD-V)。

安装:一路 Next,安装完成后重启电脑。

启动:打开 Docker Desktop,等待左下角显示绿色图标(Engine running)。

设置建议:在 Settings -> Resources 中,给 Docker 分配至少 4GB 内存(Milvus 吃内存)。

2、安装Milvus

不需要手动敲复杂的 docker run 命令,官方提供了编排文件。

1)创建目录

mkdir H:\myMilvus

cd H:\myMilvus

2)下载配置文件:

curl https://raw.githubusercontent.com/milvus-io/milvus/master/deployments/docker/standalone/docker-compose.yml -o docker-compose.yml

3)启动服务

docker compose up -d

-d 表示后台运行。

首次运行会下载几个镜像(milvus, etcd, minio),需要一点时间。

4)验证:docker ps

看到 milvus-standalone 状态为 Up 即成功。

安装 Python(windows)

方法 A:官方安装包(最纯净)

  1. python.org 下载 .exe installer。

  2. 关键一步:安装界面底部务必勾选 "Add Python to PATH"(添加到环境变量)。

  3. 点击 "Install Now"。

  4. 验证:新开 CMD,输入 python --version

方法 B:Anaconda/Miniconda(数据科学推荐 ⭐)

  • 适合人群:搞 AI、数据分析、需要频繁切换库版本的人

  • 优势

    • 预装了 NumPy, Pandas 等几百个科学计算库。

    • 拥有强大的 conda 包管理器,解决 C++ 依赖编译问题(Milvus 的某些依赖用 pip 装容易报错,用 conda 很稳)。

    • 支持多环境隔离(conda create -n myenv python=3.9)。

查看电脑的python环境

我们可以使用where python来查看电脑的python环境

你的电脑里有“三套”Python,造成了混乱:

主力军 (✅ 可用):H:\myMinAnconda\python.exe

H:\mypythoncode>where python
====》
H:\myMinAnconda\python.exe
H:\myPython3.10\python.exe
C:\Users\xxx\AppData\Local\Microsoft\WindowsApps\python.exe

其中主力军是Anaconda 发行的 Python

python.exe 报“拒绝访问”

问题:在安装好milvus之后,我使用一个测试脚本测试运行;发现使用python命令被拒绝访问;

===》

1、原因:

在 Windows 上,Anaconda 的 Python 有两个执行文件:

python.exe:控制台模式。运行时必须弹出一个黑色的 CMD 窗口。某些安全软件(如企业版杀毒软件、Windows Defender 的特定规则)或组策略会拦截控制台程序的动态执行,尤其是当它试图加载网络库(如 pymilvus 连接数据库)时,容易被误判为“可疑脚本行为”从而报“拒绝访问”。

pythonw.exe:窗口模式 (Windowless)。专为运行 GUI 程序或后台脚本设计,不弹出黑窗口。它的执行权限模型与 python.exe 不同,往往能绕过针对控制台程序的某些安全拦截。

结论:电脑的安全策略限制了 python.exe 的直接调用,但放行了 pythonw.exe。

如果你只是运行脚本看结果(或者把结果写入文件/日志),直接用 pythonw.exe 即可。

  • 缺点:它不会在黑窗口显示 print 的输出(输出会直接消失,除非像刚才一样写入文件)。

  • 适用场景:定时任务、后台服务、或者像刚才那样写入 log.txt 查看结果。

H:\myMinAnconda\pythonw.exe -c "from pymilvus import connections, utility; f=open('result.txt','w'); f.write(str(utility.list_collections())); f.close()"

2、学习建议:

1)日常运行脚本:继续使用 H:\myMinAnconda\pythonw.exe 你的脚本.py。

2)IDE 开发:强烈建议使用 VS Code,在设置里指定解释器路径为 H:\myMinAnconda\python.exe。IDE 内部调用 Python 的机制通常能绕过这种直接 CMD 调用的权限限制,我们能正常看到 print 输出。

云托管版”的 Milvus

1、这里有篇公众号(阿里云大数据ai平台)讲了云托管版”的 Milvus 。

https://mp.weixin.qq.com/s/EyAscW1mE2DudXUzJv7DNg

这是阿里云提供的 全托管服务 (SaaS)。你不需要自己买服务器、装 Docker、配网络、管运维。

2、云托管vs Standalone

1)你自己装的 (Standalone):是在你自己的电脑(或云服务器)上跑 Docker 容器,你需要负责开关机、内存不足报错、磁盘满了清理等所有运维工作。

from pymilvus import connections
​
# 连接本地 localhost
connections.connect(
    host="localhost", 
    port="19530"
)

2)阿里云单机版:是你在阿里云网页上点一下“购买”,几分钟后它给你一个 IP 地址和账号密码。底层的 Docker、Linux、Milvus 进程都由阿里云帮你跑,你只管用。

from pymilvus import connections
​
# 连接阿里云提供的公网地址
connections.connect(
    host="vp-xxxxx.milvus.cn-shanghai.aliyuncs.com", # 阿里云给你的域名
    port="19530",                                     # 通常也是 19530
    user="root",                                      # 阿里云会给你初始账号
    password="your_password"                          # 阿里云会给你初始密码
    # 甚至可能需要在 token 里填入 Access Key
)

3、建议:

如果想要公网访问(不局限于本地,任何地方都能连。)且简化安装部署:(网页点“购买”,3 分钟自动创建完成。)就可以考虑阿里云 Milvus 单机版 (托管模式)

但是要付费 (约 628 元/月起)。

总结:

1、本文介绍了Milvus的定义(一款开源的向量数据库),模式(单机版standalone,分布式集群版Cluster,轻量版Milvus lite云托管版Zilliz Cloud)的适用场景和特点。

2、又介绍了再win上安装 Docker Desktop 和 Milvus的步骤。

3、然后分享在win上安装python的两种方式(广泛安装包和Anaconda/Minconda)

4、并抛出 python.exe 报“拒绝访问” 的问题,分析了原因,介绍了Anaconda 的 Python 在win上的两个执行文件(python.exe和pythonw.exe)的区别;并针对这个问题给出了日常使用的建议(脚本用pythonw.exe ,ide中指定解释器路径也可解决问题)

5、最后通过一篇公众号引出了阿里云提供的云托管版”的 Milvus ;横向对比了其与 Standalone的连接方式;和使用选择的建议。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐