通过put-vectors命令向索引中写入向量数据。
注意事项
单张向量 Index 表最多存储 5000 万行向量数据。
PutVectors接口单批次最大写入 500 条。
权限说明
阿里云账号默认拥有全部权限。阿里云账号下的RAM用户或RAM角色默认没有任何权限,需要阿里云账号或账号管理员通过RAM Policy或Bucket Policy授予操作权限。
API | Action | 说明 |
PutVectors |
| 写入向量数据。 |
命令格式
ossutil vectors-api put-vectors --bucket value --index-name value --vectors value [flags]
参数说明
参数 | 类型 | 说明 |
--bucket | string | 向量Bucket名称。 |
--index-name | string | 索引名称。 |
--vectors | string | 向量数据,支持JSON字符串或文件路径(使用file://前缀)。 |
put-vectors命令对应API接口PutVectors。
关于支持的全局命令行选项,请参见全局命令行选项。
向量数据格式
向量数据为JSON数组格式,每个向量包含以下字段:
[
{
"data": {
"float32":[float]
},
"key": "string",
"metadata": {
"key1": ["value1", "value2"],
"key2": "value2"
}
}
]
每个字段的详细参数说明如下:
名称 | 数据类型 | 是否必选 | 示例值 | 描述 |
key | 字符串 | 是 | doc-001 | 写入向量主键,标识向量唯一值。限制:
父节点:vectors |
data | 容器 | 是 | - | 向量内容。 父节点:vectors |
float32 | 数值数组 | 是 | [0.1, 0.2, 0.3] | 向量数据,数据类型为float32。向量维度必须与索引定义的维度一致。使用余弦距离度量时,不允许出现零向量。 父节点:data |
metadata | 容器 | 否 | - | 元数据。限制:
父节点:vectors |
使用示例
在名为 examplebucket 的向量Bucket中,向名为 index 的向量索引添加一个向量,该向量的数据为 1,向量主键为 vector1,元数据为 {"Key1": "32"}。
使用JSON配置文件,vectors.json内容如下:
[ { "data": { "float32": [1] }, "key": "vector1", "metadata": { "Key1": "32" } } ]
命令示例:
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors file://vectors.json
使用JSON配置参数:
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors "[{\"data\":{\"float32\":[1]},\"key\":\"vector1\",\"metadata\":{\"Key1\":\"32\"}}]"