如何通过HTTP API新建Collection

发布于:2024-12-20 ⋅ 阅读:(12) ⋅ 点赞:(0)

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


前提条件

Method与URL

HTTP

POST https://{Endpoint}/v1/collections

使用示例

说明

需要使用您的api-key替换示例中的YOUR_API_KEY、您的Cluster Endpoint替换示例中的YOUR_CLUSTER_ENDPOINT,代码才能正常运行。

创建单向量集合

Shell

# 创建一个名称为quickstart、向量维度为4、
# 向量数据类型为float(默认值)、
# 距离度量方式为dotproduct(内积)的Collection
# 并预先定义三个Field,名称为name、weight、age,数据类型分别为string、float、int

curl -XPOST \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "quickstart", 
    "dimension": 4, 
    "metric": "dotproduct", 
    "fields_schema": {
      "name": "STRING",
      "age": "INT",
      "weight": "FLOAT"
    }
  }' https://YOUR_CLUSTER_ENDPOINT/v1/collections

# example output:
# {"request_id":"19215409-ea66-4db9-8764-26ce2eb5bb99","code":0,"message":""}

创建多向量集合

curl -XPOST \
  -H 'dashvector-auth-token: YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
    "name": "multi_vector_demo", 
    "vectors_schema": {
      "title": {
        "dimension": 4
      },
      "content": {
        "dimension": 6,
        "metric": "dotproduct"
      }
    },
    "fields_schema": {
      "author": "STRING"
    }
}' https://YOUR_CLUSTER_ENDPOINT/v1/collections

# example output:
# {"request_id":"819b6ffe-bf44-42a4-8efa-a53a93d93bcd","code":0,"message":""}

入参描述

参数

Location

类型

必填

说明

{Endpoint}

path

str

Cluster的Endpoint,可在控制台Cluster详情中查看

dashvector-auth-token

header

str

api-key

name

body

str

待创建的Collection名称

dimension

body

int

向量维度,取值范围 (1, 20000]

dtype

body

str

向量数据类型,"FLOAT"(默认)/"INT"

fields_schema

body

object

Fields定义

metric

body

str

距离度量方式,"euclidean"/"dotproduct"/"cosine"(默认)

值为cosine时,dtype必须为FLOAT

extra_params

body

object

可选参数:

  • quantize_type:量化策略,详情参考向量动态量化

  • auto_id: 自动生成主键,默认开启

vectors_schema

body

object

多个向量字段定义,类型为 Map<String, VectorParam>,详情参考多向量检索

说明

出参描述

字段

类型

描述

示例

code

int

返回值,参考返回状态码说明

0

message

str

返回消息

success

request_id

str

请求唯一id

19215409-ea66-4db9-8764-26ce2eb5bb99