全部產品
Search
文件中心

Vector Retrieval Service:建立Collection

更新時間:Jul 13, 2024

本文介紹如何通過Python SDK建立一個新的Collection。

前提條件

介面定義

Client.create(
    name: str,
    dimension: int,
    dtype: Union[Type[int], Type[float]]=float,
    fields_schema: Optional[Dict[str, Union[Type[str], Type[int], Type[float], Type[bool]]]]=None,
    metric: str='cosine',
    extra_params: Dict[str, Any]=None,
    timeout: Optional[int]=None
) -> DashVectorResponse

使用樣本

說明

需要使用您的api-key替換樣本中的YOUR_API_KEY、您的Cluster Endpoint替換樣本中的YOUR_CLUSTER_ENDPOINT,代碼才能正常運行。

import dashvector

client = dashvector.Client(
    api_key='YOUR_API_KEY',
    endpoint='YOUR_CLUSTER_ENDPOINT'
)

# 建立一個名稱為quickstart、向量維度為4、
# 向量資料類型為float(預設)、
# 距離度量方式為dotproduct(內積)的Collection
# 並預先定義三個Field,名稱為name、weight、age,資料類型分別為str、float、int
# timeout為-1 ,開啟create介面非同步模式
ret = client.create(
    name='quickstart',
    dimension=4,
    metric='dotproduct',
    dtype=float,
    fields_schema={'name': str, 'weight': float, 'age': int},
    timeout=-1
)


# 判斷collection是否建立成功
if ret:
    print('create collection success!')
# 等同於下列代碼
# from dashvector import DashVectorCode
# if ret.code == DashVectorCode.Success:
#     print('create collection success!')

入參描述

參數

類型

預設值

說明

name

str

-

待建立的Collection名稱

dimension

int

-

向量維度

dtype(可選)

Union[Type[int], Type[float]]

float

向量資料類型

fields_schema

(可選)

Optional[Dict[str,Union[Type[str],

Type[int], Type[float],

Type[bool]]]]

None

Fields定義

metric(可選)

str

cosine

距離度量方式,euclidean/dotproduct/cosine

值為cosine時,dtype必須為float

extra_params(可選)

Dict[str, Any]

None

選擇性參數:

timeout(可選)

Optional[int]

None

  • timeout = None: 介面開啟同步,待Collection 建立成功後返回

  • timeout = -1: 介面開啟非同步

  • timeout >=0: 介面開啟同步並等待,若規定時間Collection未建立成功,則返回逾時

說明

出參描述

說明

返回結果為DashVectorResponse對象,DashVectorResponse對象中可擷取本次操作結果資訊,如下表所示。

欄位

類型

描述

樣本

code

int

傳回值,參考返回狀態代碼說明

0

message

str

返回訊息

success

request_id

str

請求唯一id

19215409-ea66-4db9-8764-26ce2eb5bb99