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

概述

UpdateCollection 用于为指定数据集 Collection 增加字段。

说明

Collection 支持新增字段 Fields,已定义字段 Fields 不支持修改,仅支持修改数据集描述。

请求参数

字段名

类型

是否必传

说明

CollectionName

string

数据集名称

Description

string

数据集描述

CollectionAliases

string[]

数据集别名列表

Fields

FieldInfo[]

数据集字段

注意

目前仅支持增量更新
不支持新增 DenseVectorField、SparseVectorField 以及有 PipelineName 的 TextField

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

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.UpdateCollection({
  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 */ }, // 文本字段
  ] // 更新时需要把原本的字段也带上
})