milvus

海量向量秒级搜索,轻松构建 AI 应用

Milvus 是一款高性能、云原生的向量数据库,专为可扩展的向量近似最近邻(ANN)搜索而设计。它解决了海量非结构化数据(如图像、文本、音视频)的向量化存储与检索难题,支持万亿级向量规模的毫秒级搜索。核心能力包括:多种索引类型(HNSW、DiskANN、FAISS 等)以适配不同场景;分布式架构支持水平扩展与高可用;提供 SDK 和 RESTful API,便于集成到 AI 应用中;内置数据管理、监控和备份功能。Milvus 广泛应用于推荐系统、图像检索、自然语言处理、生物信息学等领域,是构建 AI 应用基础设施的关键组件。

开源 unknown 搜索知识
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 46219
维护状态 活跃
是否开源 是
定价模式 unknown

项目数据

分类搜索知识
开发团队milvus-io
所属国家
官网地址https://milvus.io
定价模式unknown
价格说明开源向量数据库,可本地部署或使用云服务,具体定价需访问官网确认。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Go
技术栈/模型anns,cloud-native,diskann,distributed,embedding-database,embedding-similarity,embedding-store,faiss,golang,hnsw,image-search,llm,nearest-neighbor-search,rag,vector-database,vector-search,vector-similarity,vector-store
GitHub 星标★ 46219
30天Star增速
HF 下载量
上线时间2019-09-16 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

难度:进阶 约 10 分钟 部署方式:库/依赖 8 步

环境要求

  • Python 环境,已安装可用的 pip
  • 若连接自建 Milvus 服务或 Zilliz Cloud,需准备 endpoint 与 token
  • 使用 Milvus Lite 需安装 pymilvus[milvus-lite] 扩展包
  • 从源码安装第三方依赖需克隆仓库并在 Linux/macOS 风格 shell 下执行脚本

安装与启动步骤

  1. 1安装 Python SDK

    安装官方 Python SDK pymilvus,这是使用 Milvus 的最快入口,-U 表示升级到最新版。

    pip install -U pymilvus
  2. 2安装 Lite 扩展

    想本地快速体验可不装服务端,额外安装 milvus-lite 扩展,用本地文件当向量库。

    pip install -U "pymilvus[milvus-lite]"
  3. 3创建本地客户端

    传入本地文件名即可创建嵌入式向量库,数据会持久化到该 .db 文件,无需先起服务。

    from pymilvus import MilvusClient
    
    client = MilvusClient("milvus_demo.db")
  4. 4连接已部署服务

    若已有自建 Milvus 或 Zilliz Cloud,用 uri 和 token 连接,token 为账号密码或云端 API Key。

    client = MilvusClient(
        uri="",
        token="")
  5. 5创建集合

    集合相当于表,必须指定名称与向量维度;示例用 768 维,需与你的向量模型一致。

    client.create_collection(
        collection_name="demo_collection",
        dimension=768,  # The vectors we will use in this demo have 768 dimensions
    )
  6. 6写入数据

    把向量及附带字段插入集合,返回结果 res 中包含插入条数等信息。

    res = client.insert(collection_name="demo_collection", data=data)
  7. 7执行向量搜索

    把查询文本编码成向量后检索,limit 为返回条数 topK,output_fields 指定返回字段。

    query_vectors = embedding_fn.encode_queries(["Who is Alan Turing?", "What is AI?"])
    res = client.search(
        collection_name="demo_collection",  # target collection
        data=query_vectors,  # a list of one or more query vectors, supports batch
        limit=2,  # how many results to return (topK)
        output_fields=["vector", "text", "subject"],  # what fields to return
    )
  8. 8源码装依赖

    从源码构建 Milvus 时,进入仓库目录执行依赖安装脚本,需具备编译环境(官方文档为准)。

    cd milvus/
    ./scripts/install_deps.sh

关键配置

配置项必填说明示例
uri否自建 Milvus 服务或 Zilliz Cloud 的访问地址
token否连接鉴权信息,用户名密码或 Zilliz Cloud API Key
db_file否Milvus Lite 本地数据库文件名,用于持久化数据milvus_demo.db
collection_name是集合名称,插入与检索都要指向它demo_collection
dimension是向量维度,必须与实际向量维度完全一致768

如何确认成功

pip 安装无报错,MilvusClient("milvus_demo.db") 能成功创建客户端并生成该数据库文件,create_collection 与 search 正常返回结果即成功。

常见问题

Q:Milvus Lite 和完整 Milvus 服务有何区别?

A:Milvus Lite 通过 pymilvus[milvus-lite] 安装,用本地文件即可启动,适合快速验证;数据量大或需分布式、高可用时应使用自建 Milvus 服务或 Zilliz Cloud。

Q:如何连接已经部署好的 Milvus 或 Zilliz Cloud?

A:创建客户端时传入 uri 和 token:uri 填服务 endpoint,token 填用户名密码或云端 API Key,二者由你的部署方提供。

Q:向量维度和报错有关吗?

A:有。create_collection 的 dimension 必须与插入、检索时所用向量的维度一致,示例为 768 维,请按你的嵌入模型调整。

Q:search 的 limit 是什么含义?

A:limit 即 topK,表示每次查询返回的最相似结果条数,示例中设为 2;output_fields 控制返回哪些字段。

Q:源码安装第三方依赖失败怎么办?

A:README 只给出 ./scripts/install_deps.sh 这一步,若失败请先确认已克隆仓库并进入 milvus/ 目录,再按官方文档补齐系统级编译依赖。

注意事项

  • README 节选未提供 Docker 部署命令,如用容器方式安装请以官网 install_standalone-docker 文档为准。
  • 示例中的 embedding_fn、data 变量需由使用者自行准备,README 未给出其定义。
  • Milvus Lite 适合本地开发验证,生产环境建议使用自建 Milvus 集群或 Zilliz Cloud 托管服务。
  • 源码编译依赖脚本与系统环境强相关,执行前请确认磁盘、内存与编译工具链满足官方要求。

核心亮点

  • 支持万亿级向量规模,毫秒级查询延迟,性能强悍
  • 云原生分布式架构,支持水平扩展与高可用部署
  • 提供多种索引类型(HNSW、DiskANN、IVF等),灵活适配不同场景

不足之处

  • 部署运维相对复杂,对资源要求较高
  • 文档/社区待观察(部分高级功能文档不够详尽)

适用场景

  • 推荐系统:实时匹配用户偏好与物品特征
  • 图像/视频检索:以图搜图、相似内容发现
  • 自然语言处理:语义搜索、问答系统、知识库检索

替代项目

Qdrant、Weaviate、Chroma

项目介绍

milvus 是基础设施领域的开源项目,由 milvus-io 开发,2019 年首次发布。

在全站 13,090 个收录项目中,它的 GitHub 星标数(46,219)位列前 1%,在基础设施分类的 1,132 个项目里位列前 2%。

近 41 天,它的 GitHub 星标从 45,615 增加到 46,219,净增 604。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。开源向量数据库,可本地部署或使用云服务,具体定价需访问官网确认。从国内网络环境看,当前已无法正常访问。

它主要面向的使用场景是:推荐系统:实时匹配用户偏好与物品特征。同类可对比的替代方案包括 Qdrant、Weaviate、Chroma。

上一篇:edgee

下一篇:LLM-API-Key-Proxy

同类项目推荐

freebuff-proxy 开源

聚合多账号,一键接入 OpenAI 兼容 API,轻松管理会话。

Multi-account OpenAI-compatible gateway for coding models. Pooled keys, session life···

★ 213 2026-08-20
microduck 开源

用 Rust 造一只会走路的桌面小鸭,快速上手双足机器人。

A Tiny biped duck robot

★ 8684 2026-09-10
soperator 开源

用 Kubernetes 原生方式运行 Slurm,简化 HPC 集群管理。

Run Slurm in Kubernetes

★ 439 2026-08-10
ollama 开源

一条命令本地跑起大模型,免费、私密、不卡顿

Get up and running with Kimi, GLM, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other···

★ 181484 2026-08-09