連接至 Milvus 服務
執行以下任一指令來連接 Milvus:
開始之前
確保以下項目已安裝或可用:
- Python和 Pymilvus 包。 有關更多信息,請參閱 關於PyMilvus。
- Milvus 實例的主機名稱和連接埠。 你可以獲得 Milvus
host
和port
來自基礎設施管理器的資訊(點擊 Milvus 服務以開啟詳細資訊頁面並記下host
和port
來自 GRPC 主機的資訊)。 - 為使用者指派角色或 服務ID 從基礎設施經理。 有關使用者角色的信息,請參閱 管理角色和權限。
程序
您可以使用 API 金鑰或 IAM 令牌連接到 Milvus 服務。
-
在 watsonx.data 中配置 Milvus 服務。 更多信息,請參閱 添加 Milvus 服務。
-
使用 Python SDK( PyMilvus )執行以下命令之一連接 Milvus 進行 gRPC 路由:
-
使用下列其中一項指令,以使用 GRPC 呼叫連線至 Milvus:
print(fmt.format("start connecting to Milvus")) connections.connect(host="<host>", port="<port>", secure=True, user="ibmlhapikey", password="<api-key>") has = utility.has_collection("hello_milvus") print(f"Does collection hello_milvus exist in Milvus: {has}")
或
from pymilvus import MilvusClient, DataType client = MilvusClient( host=<host>, port=<port>, secure=True, user="ibmlhapikey", password="<api-key>" )
將
<api-key>
替換為IBM API 金鑰。 有關取得 API 金鑰的信息,請參閱 取得IBM API 金鑰。 -
使用下列其中一個指令,使用 IAM 令牌連線到 Milvus:
connections.connect(host="<host>", port="<port>", secure=True, user="ibmlhtoken", password="<token>")
或
from pymilvus import MilvusClient, DataType milvus_uri = "https://<ibmlhtoken>:<token>@<host>:<port>" client = MilvusClient( uri=milvus_uri, secure=True )
將
<token>
替換為 IAM 令牌。 有關取得令牌的信息,請參閱 取得IBM Access Management(IAM)令牌。 -
使用下列其中一個指令,使用統一資源識別碼 (URI) 連線至 Milvus:
print(fmt.format("start connecting to Milvus")) connections.connect( alias="default", uri="https://<host>:<grpc-port>", user = "ibmlhtoken", password = "<token>" ) has = utility.has_collection("hello_milvus") print(f"Does collection hello_milvus exist in Milvus: {has}")
或
from pymilvus import MilvusClient, DataType milvus_uri = "https://<ibmlhapikey>:<api-key>@<host>:<port>" client = MilvusClient( uri=milvus_uri, secure=True )
將
<token>
替換為 IAM 令牌。 有關取得令牌的信息,請參閱 取得IBM Access Management(IAM)令牌。
-
-
若要使用 REST 路由連線至 Milvus 並進行 API 呼叫,請執行下列指令:
curl --request GET \ --url "https://<REST-host>:<REST-port>/api/v1/vector/collections" \ --header "Authorization: Basic $(echo -n '<user>:<password>' | base64)" \ --header "Content-Type: application/json"
如需詳細資訊,請參閱 RESTful API 參考資料。
建議透過代理路由使用 API。 透過 REST 路由的 API 已經廢棄,可能會在未來的版本中移除。
-
若要使用代理路由連線至 Milvus 並進行 API 通話,請執行下列指令:
curl --request POST \ --url "https://<proxy-host>:<port>/v2/vectordb/collections/list" \ --header "Authorization: Basic $(echo -n 'user:password' | base64)" \ --header "Content-Type: application/json" \ -d '{ "dbName": "default" }'
例如:
curl --request POST \ --url "https://e633a638-420b-499c-9291-288e425a2d25.cdc406pd09pasng7elgg.lakehouse.dev.appdomain.cloud:32699/v2/vectordb/collections/list" \ --header 'accept: application/json' \ --header "Authorization: Basic $(echo -n 'ibmlhapikey:<value of api key>' | base64)" \ --header 'Content-Type: application/json' -d '{ "dbName": "default" }'
自 watsonx.data 版本 2.2 起,建議使用 API 版本 v2/。 API 版本 v1/ 可能會被廢棄,並在未來的版本中移除。
在 Milvus 版本 v2/ API 下,watsonx.data 中的 Milvus 服務不支援使用者和角色類別的 API。 如需詳細資訊,請參閱 Milvus API。
下一步
與 Milvus 服務建立連線後,您可以執行以下操作:
-
管理資料
-
管理資料庫:您可以在 Milvus 中建立資料庫,並為特定使用者指派權限來管理它們。 一個 Milvus 叢集最多支援 64 個資料庫。 有關更多信息,請參閱 管理資料庫。
-
管理集合:您可以使用您選擇的 SDK 建立和管理集合。 一個 Milvus 集群最多支援 65,536 個集合。 有關更多信息,請參閱 管理收藏。
-
管理分區:您可以在集合中建立和管理分區。 一個 Milvus 集群最大支援 4095 個分區。 有關更多信息,請參閱 管理分區。
-
管理索引:您可以在集合中的向量欄位上建立和管理索引。 有關詳細信息,請參閱 管理索引。
-
搜尋和查詢:有關在 Milvus 中搜尋和查詢資料的資訊,請參閱 Search、Query 和 Get。
相關API
如需相關 API 的資訊,請參閱