Milvus Python SDK 和 API 全面介绍:利用 ORM 风格提升管理效率
背景介绍
下图展示了 SDK 与 Milvus 之间通过 gRPC 的交互流程。在这个场景中,可以将 Milvus 视为一个黑匣子,协议缓冲区则用于定义服务器接口及其携带信息的结构。因此,Milvus 黑匣子内的所有操作均由 Protocol API 进行定义。

Milvus 协议 API
Milvus Protocol API 由 milvus.proto
、common.proto
和 schema.proto
组成,这些都是后缀为 .proto
的 Protocol Buffers 文件。SDK 需要使用这些 Protocol Buffers 文件与 Milvus 进行交互,以确保其正常运行。
milvus.proto
milvus.proto
是 Milvus Protocol API 的核心,定义了所有的 RPC 接口。以下代码示例展示了 CreatePartitionRequest
接口,它包含两个字符串类型的参数:collection_name
和 partition_name
,通过这两个参数可以发起分区创建请求。
CreatePartitionRequest interface
有关详细示例,请参见 PyMilvus GitHub 存储库中第 19 行的协议示例。

通用原型
common.proto
定义了一些常见的信息类型,包括 Status
。
模式原型
schema.proto
则定义了参数中的模式,以下是 CollectionSchema
的示例。
schema.proto
milvus.proto
、common.proto
和 schema.proto
共同构成了 Milvus 的 API,涵盖所有可以通过 RPC 调用的操作。深入源码可以发现,调用像 create_index
这样的接口时,实际上涉及多个 RPC 接口,例如 describe_collection
和 describe_index
。许多对外接口是多个 RPC 接口的组合。
了解了 RPC 的行为后,可以通过组合它们为 Milvus 开发新功能。非常欢迎各位贡献者发挥想象力与创造力,为 Milvus 社区做出贡献。
PyMilvus 2.0:对象关系映射 (ORM)
对象关系映射(ORM)是指在操作本地对象时,这些操作会影响服务器上对应的对象。PyMilvus 的 ORM 风格 API 具有以下特点:
- 直接作用于对象:操作简便,直接针对对象进行。
- 隔离服务逻辑和数据访问:实现了服务逻辑与数据访问细节的分离。
- 隐藏复杂性:可以在不同的 Milvus 实例上运行相同的脚本,无需关注其部署或实现细节。
ORM 风格的 API
ORM 风格的 API 允许对 Milvus 连接进行控制。例如,可以为多个 Milvus 服务器指定别名,方便地通过别名连接或断开连接,甚至可以精确控制某些对象的连接。

ORM 风格 API 还使所有操作都可以直接对对象进行,包括集合、分区和索引。用户可以通过获取现有集合对象或创建新集合对象来操作集合。使用连接别名,可以为特定对象分配 Milvus 连接,便于在本地操作。
创建分区对象时,可以使用其父集合对象来生成分区,也可以像创建集合对象那样进行操作。这种方法同样适用于索引对象。如果分区或索引对象已存在,则可以通过其父集合对象获取它们。
总结
本文介绍了 PyMilvus 2.0 的对象关系映射(ORM)风格 API,强调了其在与 Milvus 交互时的优势。ORM 允许用户通过直接操作本地对象,简化了服务逻辑与数据访问的复杂性。通过控制 Milvus 连接,用户可以方便地管理多个服务器和对象。
通过使用集合、分区和索引的对象化操作,用户可以高效地与 Milvus 进行交互,提升了开发效率。总之,PyMilvus 的 ORM 风格 API 为开发者提供了一个灵活、直观的方式来利用 Milvus 的强大功能。
热门API
- 1. AI文本生成
- 2. AI图片生成_文生图
- 3. AI图片生成_图生图
- 4. AI图像编辑
- 5. AI视频生成_文生视频
- 6. AI视频生成_图生视频
- 7. AI语音合成_文生语音
- 8. AI文本生成(中国)
最新文章
- GPT-OSS 模型驱动在线编程课 AI 助教,3 天打造追问式对话 API
- Kimi K2-0905 256K上下文API状态管理优化:长流程复杂任务实战
- Go工程化(四) API 设计上: 项目结构 & 设计
- 如何获取Dify AI API开放平台秘钥(分步指南)
- 手机号查询API:获取个人信息的便捷工具
- 大型项目中如何规避 Claude 限流风险?开发实战指南
- 为什么要编写高质量的在线API文档?
- 基于DeepSeek-V3.1开源技术的开发者社区应用审核API指南
- 2025 PHP REST API 快速入门指南:从零构建到实战
- TikTok API使用指南:短视频图像生成实践案例
- Java 生鲜电商平台 – API 接口设计之 token、timestamp、sign 具体架构与实现
- HIP-1217热点:DeFi镜像节点API实时gRPC流式余额校验实战