如何通過Python SDK創建一個新的Collection
本文介紹如何通過Python SDK創建一個新的Collection。
前提條件
-
已創建Cluster:創建Cluster
-
已獲得API-KEY:API-KEY管理
-
已安裝最新版SDK:安裝DashVector SDK
接口定義
Python示例:
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], Type[long]]]]=None,
metric: str='cosine',
extra_params: Dict[str, Any]=None,
timeout: Optional[int]=None,
vectors: Union[None, VectorParam, Dict[str, VectorParam]] = None,
sparse_vectors: Union[None, Dict[str, VectorParam]] = None,
) -> DashVectorResponse
使用示例
說明
需要使用您的api-key替換示例中的YOUR_API_KEY、您的Cluster Endpoint替換示例中的YOUR_CLUSTER_ENDPOINT,代碼才能正常運行。
創建單向量集合
Python示例:
import dashvector
client = dashvector.Client(
api_key='YOUR_API_KEY',
endpoint='YOUR_CLUSTER_ENDPOINT'
)
# 創建一個名稱為quickstart、向量維度為4、
# 向量數據類型為float(默認)、
# 距離度量方式為dotproduct(內積)的Collection
# 并預先定義四個Field,名稱為name、weight、age、id,數據類型分別為str、float、int、dashvector.long
# timeout為-1 ,開啟create接口異步模式
ret = client.create(
name='quickstart',
dimension=4,
metric='dotproduct',
dtype=float,
# 為保留類型注解的語義明確性,DashVector通過typing模塊定義long類型,為需要顯式標注大整數場景提供了類型標注支持
fields_schema={'name': str, 'weight': float, 'age': int, 'id': dashvector.long},
timeout=-1
)
# 判斷collection是否創建成功
if ret:
print('create collection success!')
# 等同于下列代碼
# from dashvector import DashVectorCode
# if ret.code == DashVectorCode.Success:
# print('create collection success!')
創建多向量集合
ret = client.create(
'multi_vector_demo',
vectors={
"title": VectorParam(4),
"content": VectorParam(6, metric="euclidean"),
},
sparse_vectors={
"abstruct": VectorParam(metric="dotproduct"),
"keywords": VectorParam(metric="dotproduct"),
# 稀疏向量索引目前僅支持內積度量,dimension/dtype使用默認值無需設置
},
fields_schema={
'author': str,
}
)
assert ret
說明
多向量不支持僅有1條稠密向量+1條稀疏向量collection的建立,如有此需求,請創建單向量Collection,度量方式選內積。
浙公網安備 33010602011771號