You need to enable JavaScript to run this app.
导航
CreateCollection
最近更新时间:2024.10.21 16:17:33首次发布时间:2024.06.14 11:34:51

概述

CreateCollection 用于创建一个新的数据集 Collection。创建成功后,可以写入数据。

说明

  • 每一个 Collection 必须指定主键字段。
  • 当定义字段 Fields 添加了一个向量类型 Vector 的字段后,再添加新的字段时,字段类型不可选择 Vector 类型。因为目前只支持单向量,不可添加多个向量字段。
  • 当定义字段 Fields 添加了带 PipelineName 的 Text 字段,则不允许添加 Vector 字段,且只能有一个带 PipelineName 的 Text 字段;当定义字段 Fields 添加了不带 PipelineName 的 Text 字段,则允许添加 Vector 字段,且允许添加多个不带 PipelineName 的 Text 字段,Text 字段最多200个。

请求参数

字段名

类型

是否必传

说明

CollectionName

string

数据集名称

Description

string

数据集描述

CollectionAliases

string[]

数据集别名列表

Fields

FieldInfo[]

数据集字段

FieldInfo

type FieldInfo =
  | ScalarFieldInfo
  | PrimaryKeyFieldInfo
  | DenseVectorFieldInfo
  | SparseVectorFieldInfo
  | TextFieldInfo
  
enum FieldType {
  Int64 = "int64",
  Float32 = "float32",
  String = "string",
  Boolean = "bool",
  ListString = "list<string>",
  ListInt64 = "list<int64>",
  /** 稠密向量 */
  DenseVector = "vector",
  /** 稀疏向量 */
  SparseVector = "sparse_vector",
  Text = "text",
}

type PipelineName =
  | "text_split_bge_large_zh"
  | "text_bge_large_zh"
  | "text_split_bge_m3"
  | "text_bge_m3"
  | "text_split_bge_large_and_m3"
  | "text_bge_large_and_m3"

ScalarFieldInfo 标量字段

字段名

类型

是否必传

说明

FieldName

string

字段名

FieldType

FieldType.Int64
FieldType.Float32
FieldType.String
FieldType.Boolean
FieldType.ListString
FieldType.ListInt64

字段类型

DefaultValue

number
string
boolean
string[]
number[]

字段默认值,类型需要与传入的 FieldType 对齐

PrimaryKeyFieldInfo 主键字段

字段名

类型

是否必传

说明

FieldName

string

字段名

FieldType

FieldType.Int64
FieldType.String

字段类型

IsPrimary

true

是否主键字段,只允许传 true,若全部 fields 均不指定该字段, 将自动生成主键。

DenseVectorFieldInfo 稠密向量字段

字段名

类型

是否必传

说明

FieldName

string

字段名

FieldType

FieldType.DenseVector

字段类型

Dim

number

向量维度,需要 4 的倍数

SparseVectorFieldInfo 稀疏向量字段

字段名

类型

是否必传

说明

FieldName

string

字段名

FieldType

FieldType.SparseVector

字段类型

TextFieldInfo 文本字段

字段名

类型

是否必传

说明

FieldName

string

字段名

FieldType

FieldType.Text

字段类型

PipelineName

string

绑定的 pipeline_name

响应参数
declare class VikingdbResponse {
  readonly OriginalRequest: string;
  readonly LogId: string;
  constructor(
    OriginalRequest: string,
    LogId: string
  );
}

参考示例
import { vikingdb } from '@volcengine/openapi'

declare const service: vikingdb.VikingdbService // 替换为你初始化好的实例

await service.collection.CreateCollection({
  CollectionName: 'test_collection_1',
  Description: 'collection_description', // optional
  CollectionAliases: ['collection_alias_1', 'collection_alias_2'], // optional
  Fields: [
    { FieldName: 'Id', FieldType: vikingdb.FieldType.Int64, IsPrimary: true }, // 主键字段
    { FieldName: 'Name', FieldType: vikingdb.FieldType.String, DefaultValue: 'Hello world'/* optional */ }, // 标量字段
    { FieldName: 'DenseVector', FieldType: vikingdb.FieldType.DenseVector, Dim: 4 }, // 稠密向量字段
    { FieldName: 'SparseVector', FieldType: vikingdb.FieldType.SparseVector }, // 稀疏向量字段
    { FieldName: 'Text', FieldType: vikingdb.FieldType.Text, PipelineName: 'text_bge_m3', /* optional */ }, // 文本字段
  ]
})