milvus-io/milvus-lite
A lightweight version of Milvus
解决的问题
Milvus Lite 提供了一个轻量级的本地版 Milvus 向量数据库,为需要在原型设计、测试或小规模 AI 应用中使用向量搜索功能的开发者,消除了复杂基础设施设置的需求。用户可以将一个功能完整的向量存储作为本地文件或嵌入式服务器运行,确保为本地开发编写的代码可以轻松迁移到生产级 Milvus 部署(Standalone 或 Distributed)或 Zilliz Cloud,仅需极少修改。
工作原理
Milvus Lite 从零开始用纯 Python 重写,使用本地 LSM 风格的存储引擎。它通过预写日志(WAL)、内存中的 memtable 和不可变的 Parquet 段来管理数据。在搜索方面,它利用 FAISS 支持的向量索引和 INVERTED 标量索引。它可以以三种方式运行:通过 pymilvus 客户端作为本地 .db 文件,作为独立的本地 gRPC 服务器供多客户端访问,或直接通过其内部嵌入式引擎 API。
适用人群
- AI 开发者:需要本地向量存储以快速原型设计的 RAG 应用或 AI 代理开发者。
- 数据科学家:在笔记本(如 Jupyter)中工作,希望在不管理独立数据库服务器的情况下集成向量搜索的用户。
- QA 工程师:需要轻量级、隔离环境来对向量数据库运行自动化测试的开发人员。
主要亮点
- 即插即用的本地使用:使用
MilvusClient("./demo.db")一行代码即可启动数据库。 - 混合搜索:支持密集向量搜索、稀疏 BM25 全文搜索以及组合的混合搜索。
- 纯 Python 实现:使用 Python 实现,便于使用标准 Python 堆栈跟踪进行检查和调试。
- 丰富的过滤功能:实现 Milvus 风格的标量、JSON 路径、数组和几何(WKT)过滤。
- 无缝迁移:与
pymilvusAPI 兼容,可轻松过渡到完整的 Milvus 集群。 - 数据导出:包含 dump 命令,可将集合导出为 JSON 文件,用于批量插入生产 Milvus 环境。
相关
- 项目
- 项目
- 项目
- 项目
- 项目