通過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\"}}]"