Milvus 協議 API

Milvus Protocol API 由 milvus.proto、common.protoschema.proto 組成,這些都是后綴為 .proto 的 Protocol Buffers 文件。SDK 需要使用這些 Protocol Buffers 文件與 Milvus 進行交互,以確保其正常運行。

milvus.proto

milvus.proto 是 Milvus Protocol API 的核心,定義了所有的 RPC 接口。以下代碼示例展示了 CreatePartitionRequest 接口,它包含兩個字符串類型的參數:collection_namepartition_name,通過這兩個參數可以發起分區創建請求。

CreatePartitionRequest interface

有關詳細示例,請參見 PyMilvus GitHub 存儲庫中第 19 行的協議示例。

通用原型

common.proto 定義了一些常見的信息類型,包括 Status。

模式原型

schema.proto 則定義了參數中的模式,以下是 CollectionSchema 的示例。

schema.proto

milvus.proto、common.protoschema.proto 共同構成了 Milvus 的 API,涵蓋所有可以通過 RPC 調用的操作。深入源碼可以發現,調用像 create_index 這樣的接口時,實際上涉及多個 RPC 接口,例如 describe_collectiondescribe_index。許多對外接口是多個 RPC 接口的組合。

了解了 RPC 的行為后,可以通過組合它們為 Milvus 開發新功能。非常歡迎各位貢獻者發揮想象力與創造力,為 Milvus 社區做出貢獻。

PyMilvus 2.0:對象關系映射 (ORM)

對象關系映射(ORM)是指在操作本地對象時,這些操作會影響服務器上對應的對象。PyMilvus 的 ORM 風格 API 具有以下特點:

ORM 風格的 API

ORM 風格的 API 允許對 Milvus 連接進行控制。例如,可以為多個 Milvus 服務器指定別名,方便地通過別名連接或斷開連接,甚至可以精確控制某些對象的連接。

ORM 風格 API 還使所有操作都可以直接對對象進行,包括集合、分區和索引。用戶可以通過獲取現有集合對象或創建新集合對象來操作集合。使用連接別名,可以為特定對象分配 Milvus 連接,便于在本地操作。

創建分區對象時,可以使用其父集合對象來生成分區,也可以像創建集合對象那樣進行操作。這種方法同樣適用于索引對象。如果分區或索引對象已存在,則可以通過其父集合對象獲取它們。

總結

本文介紹了 PyMilvus 2.0 的對象關系映射(ORM)風格 API,強調了其在與 Milvus 交互時的優勢。ORM 允許用戶通過直接操作本地對象,簡化了服務邏輯與數據訪問的復雜性。通過控制 Milvus 連接,用戶可以方便地管理多個服務器和對象。

通過使用集合、分區和索引的對象化操作,用戶可以高效地與 Milvus 進行交互,提升了開發效率。總之,PyMilvus 的 ORM 風格 API 為開發者提供了一個靈活、直觀的方式來利用 Milvus 的強大功能。

原文鏈接:An Introduction to Milvus Python SDK and API

上一篇:

三層 API 架構:數字化轉型的關鍵連接

下一篇:

API在Web開發中的作用
#你可能也喜歡這些API文章!

我們有何不同?

API服務商零注冊

多API并行試用

數據驅動選型,提升決策效率

查看全部API→
??

熱門場景實測,選對API

#AI文本生成大模型API

對比大模型API的內容創意新穎性、情感共鳴力、商業轉化潛力

25個渠道
一鍵對比試用API 限時免費

#AI深度推理大模型API

對比大模型API的邏輯推理準確性、分析深度、可視化建議合理性

10個渠道
一鍵對比試用API 限時免費