前提条件
- 已创建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]]]]=None,
metric: str='cosine',
extra_params: Dict[str, str]=None,
timeout: Optional[int]=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,数据类型分别为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, str] | None | 可选参数:- quantize_type:量化策略,详情参考向量动态量化 |
| timeout(可选) | Optional[int] | None | - timeout = None: 接口开启同步,待Collection 创建成功后返回 |
- timeout = -1: 接口开启异步
- timeout >=0: 接口开启同步并等待,若规定时间Collection未创建成功,则返回超时 |
说明
- 创建Collection时预先定义Fields的收益见Schema Free
- 量化策略详情可参考向量动态量化
出参描述
说明
返回结果为DashVectorResponse对象,DashVectorResponse对象中可获取本次操作结果信息,如下表所示。
| 字段 | 类型 | 描述 | 示例 |
| code | int | 返回值,参考返回状态码说明 | 0 |
| message | str | 返回消息 | success |
| request_id | str | 请求唯一id | 19215409-ea66-4db9-8764-26ce2eb5bb99 |