milvus

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

开源 🏷️定价信息待确认 🚫 站点已失效 搜索知识 🍴 复刻 4324 🐛 待处理 1443 👀 关注 333
访问官网 ↗ GitHub ↗
GitHub 星标 ★ 46614
维护状态 活跃
是否开源 开源
定价模式 🏷️定价信息待确认

项目预览

milvus 项目界面预览图
图片来源:项目官网

项目数据

分类搜索知识
开发团队milvus-io
官网地址https://milvus.io
定价模式🏷️定价信息待确认
价格说明开源向量数据库,可本地部署或使用云服务,具体定价需访问官网确认。
访问状态🚫 站点已失效
是否开源是
开源协议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 星标★ 46614
上线时间2019-09-16 00:00:00
代码更新2026-11-09
仓库体积370.3 MB
本站数据更新2026-11-09
维护状态活跃
收录时间2026-08-09
浏览次数7

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 46614

使用教程

ℹ 本教程由 AI 依据该项目 README 整理,个别步骤可能需要按你的环境微调。

难度:进阶 约 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="<endpoint_of_self_hosted_milvus_or_zilliz_cloud>",
        token="<username_and_password_or_zilliz_cloud_api_key>")
  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 的访问地址<endpoint_of_self_hosted_milvus_or_zilliz_cloud>
token否连接鉴权信息,用户名密码或 Zilliz Cloud API Key<username_and_password_or_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

上一篇:edgee

下一篇:LLM-API-Key-Proxy

同类项目推荐

respan-gateway 开源

一个端点接入所有大模型,单二进制即开即用

Open-source LLM gateway in Rust. One endpoint for OpenAI, Anthropic, Gemini and ever···

★ 655 2026-10-30
sacremoses 开源

Moses 文本预处理工具一键迁移到 Python,让分词大小写规范化不再愁

Python port of Moses tokenizer, truecaser and normalizer

★ 497 2026-09-08
onediff 开源

一键加速扩散模型,生成速度提升数倍,画质不变

OneDiff: An out-of-the-box acceleration library for diffusion models.

★ 1962 2026-08-09
gpustack 开源

一键管理 GPU 集群,轻松部署高性能 AI 模型服务

A GPU cluster manager for high-performance AI model serving (vLLM, SGLang) and on-de···

★ 6004 2026-08-09
vLLM-Moet 开源

消费级 Blackwell 上跑 2-bit MoE,画质对齐官方 FP4

Frontier MoE models on RTX PRO 6000 / RTX 5090 (sm_120): DeepSeek-V4.1-Flash on 4x R···

★ 571 2026-09-16
OctoBus 开源

给AI智能体装上安全闸门,只放行企业批准的API调用。

A secure local gateway for AI agents to reliably call approved enterprise APIs, tool···

★ 211 2026-08-09
k8ssandra-operator 开源

在 K8s 上像管理应用一样管理 Cassandra 集群,自动部署与运维

The Kubernetes operator for K8ssandra

★ 243 2026-08-09
cligate 开源

一个网关,统一管理所有 AI 工具和模型,省心又安全。

Private AI assistant, AI agent, and unified model proxy for Claude Code, Codex CLI, ···

★ 135 2026-08-09
inferoxy 开源

一键部署 Docker 化 CV 模型,快速上线推理服务

Service for quick deploying and using dockerized Computer Vision models

★ 95 2026-08-09