本文介绍如何通过Python SDK创建一个新的Collection。

前提条件

接口定义

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,度量方式选内积。

如何通过Python SDK创建一个新的Collection的更多相关文章

  1. 【Cocos2d-x for WP8 学习整理】(1)创建一个新项目

    喜大普奔                         10.1假期之前看到了一个很振奋的消息,就是随着Cocos2d-x 2.2的发布,WP8/WIN8有史以来第一次的合并到主版本了. 之前 V2 ...

  2. ArcGIS Desktop python Add-in 创建一个插件

    1)创建一个项目 首先创建一个插件项目,本节介绍如何利用向导创建一个插件项目. 创建任何一个ArcGIS插件产品的过程都是一样的. 创建一个Python插件项目包括2个步骤: a) 选择一个插件项目文 ...

  3. android 创建一个新的每次project什么时候 请问自己主动 参加 V7依赖?

    android 创建一个新的每次project什么时候 请问自己主动 参加 V7依赖? 分析原因: 主要是由于.我之前的 SDK 的版本号 更新的有点高了.低版本号是不会有这样的问题g的,新版本号中g ...

  4. 创建一个新的解耦的Orchard Core CMS网站

    引言本文将介绍创建一个功能齐全.解耦的CMS网站的过程,该网站允许您编辑博客帖子并呈现它们.解耦是一种开发模型,其中站点的前端和后端(管理)托管在同一个Web应用程序中,但只有后端由CMS驱动.然后, ...

  5. linux内核分析作业6:分析Linux内核创建一个新进程的过程

    task_struct结构: struct task_struct {   volatile long state;进程状态  void *stack; 堆栈  pid_t pid; 进程标识符  u ...

  6. Step by Step 创建一个新的Dynamics CRM Organization

    原创地址:http://www.cnblogs.com/jfzhu/p/4012833.html 转载请注明出处 前面演示过如何安装Dynamics CRM 2013,参见<Step by st ...

  7. Step by step 如何创建一个新森林

    原创地址:http://www.cnblogs.com/jfzhu/p/4006118.html 转载请注明出处 创建一个新森林就是在一台计算机上安装AD DS,并将这台计算机提升为域控制器. 演示环 ...

  8. ZeroMQ接口函数之 :zmq_ctx_new – 创建一个新的ZMQ 环境上下文

    ZeroMQ 官方地址 :http://api.zeromq.org/4-0:zmq_ctx_new zmq_ctx_new(3)               ØMQ Manual - ØMQ/3.2 ...

  9. 第六周——分析Linux内核创建一个新进程的过程

    "万子恵 + 原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 &q ...

  10. 分析Linux内核创建一个新进程的过程

    一.原理分析 1.进程的描述 进程控制块PCB——task_struct,为了管理进程,内核必须对每个进程进行清晰的描述,进程描述符提供了内核所需了解的进程信息. struct task_struct ...

随机推荐

  1. jdk exe安装包如何自制zip解压版

    前言 jdk8 oracle官方下载页面 https://www.oracle.com/java/technologies/downloads/#java8-windows 可以看到,只有exe安装包 ...

  2. 计算机网络-TCP/IP知识点

    快速以太网数据帧有效载荷的最小长度为 46 字节(参考:Ethernet Frame Calculations) 实战 (2012 408考研真题 47)(15分)主机 H 通过快速以太网连接 Int ...

  3. python库使用总结

    python库的使用 1:print(补充) 2:math 2.1:math库包括的4个数学常数 2.2math库中的函数 幂对数函数 三角曲线函数 3:字符串处理函数 补充:sorted(str) ...

  4. JDBC浅应用

    1 DriverManager: 此类管理数据库驱动程序列表.使用通信协议将来自java应用程序的连接请求与适 2 当的数据库驱动程序匹配. 3 4 Driver:此接口处理与数据库服务器的通信,我们 ...

  5. mitmproxy 的使用

    from mitmproxy import http # 指定需要拦截的 URL 关键字(可以是完整 URL,也可以是匹配规则) TARGET_URL = "https://www.baid ...

  6. 使用这个model操作数据库,一爽到底

    在前一篇文章中,我们简要介绍了Vonajs的核心功能.在这里,我们再来看看Vonajs提供的Model能力,可以让我们用简洁.优雅的代码全方位操作数据库,比如,动态分表.软删除.多租户.动态数据源.二 ...

  7. java--xml约束、tomcat服务器

    xml约束 XML语法: 规范的xml文件的基本编写规则.(由w3c组织制定的) XML约束: 规范XML文件数据内容格式的编写规则.(由开发者自行定义) DTD约束 DTD约束:语法相对简单,功能也 ...

  8. 02VCS_使用教程

    VCS使用教程 (Synopsys VCS Simulator Tutorial) 目录 VCS使用教程 (Synopsys VCS Simulator Tutorial) 目录 1. VCS简介 1 ...

  9. vue常用配置

    修改titlevue.config.js chainWebpack: config =>{ config.plugin('html') .tap(args => { args[0].tit ...

  10. 前端开发系列043-基础篇之TypeScript语言特性(三)

    本文简单介绍TypeScript语言中的以下特性: ❏ 解构赋值 ❏ 函数介绍 ❏ 命名空间 一.解构&展开 解构赋值语法使得我们可以将值从数组或者将属性从对象中提取对应的变量中.下面我们将简 ...