put-vectors コマンドを使用して、ベクトルデータをインデックスに書き込みます。
注意事項
1 つのベクトルインデックスには、最大 5,000 万行のベクトルデータを格納できます。
PutVectors 操作では、1 回のバッチで最大 500 個のベクトルを書き込むことができます。
権限
Alibaba Cloud アカウントは、デフォルトですべての権限を持っています。ただし、Resource Access Management (RAM) ユーザーまたは RAM ロールは、デフォルトでは何の権限も持っていません。Alibaba Cloud アカウントのオーナーまたは管理者は、RAM ポリシーまたはバケットポリシーを使用して権限を付与する必要があります。
API | アクション | 説明 |
PutVectors |
| ベクトルデータを書き込みます。 |
コマンドのフォーマット
ossutil vectors-api put-vectors --bucket value --index-name value --vectors value [flags]パラメーター
パラメーター | タイプ | 説明 |
--bucket | string | ベクトルバケットの名前。 |
--index-name | string | インデックスの名前。 |
--vectors | string | ベクトルデータ。JSON 文字列または `file://` プレフィックスが付いたファイルパスを指定できます。 |
put-vectors コマンドは、PutVectors API 操作に対応しています。
サポートされているグローバルコマンドラインオプションの詳細については、「グローバルコマンドラインオプション」をご参照ください。
ベクトルデータ形式
ベクトルデータは JSON 配列形式である必要があります。配列内の各ベクトルには、次のフィールドが含まれています。
[
{
"data": {
"float32":[float]
},
"key": "string",
"metadata": {
"key1": ["value1", "value2"],
"key2": "value2"
}
}
]次の表に各フィールドの説明を示します。
名前 | データの型 | 必須 | 例 | 説明 |
key | String | はい | doc-001 | ベクトルのプライマリキー。ベクトルを一意に識別します。次の制限が適用されます。
親ノード: vectors |
data | コンテナ | はい | - | ベクトルの内容。 親ノード: vectors |
float32 | 数値配列 | はい | [0.1, 0.2, 0.3] | ベクトルデータ。データの型は float32 です。ベクトルのディメンションは、インデックスで定義されたディメンションと一致する必要があります。余弦距離メジャーを使用する場合、ゼロベクトルは許可されません。 親ノード: data |
metadata | コンテナ | いいえ | - | メタデータ。次の制限が適用されます。
親ノード: vectors |
例
この例では、`examplebucket` という名前のベクトルバケット内の `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.jsonJSON 構成パラメーターを使用します。
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors "[{\"data\":{\"float32\":[1]},\"key\":\"vector1\",\"metadata\":{\"Key1\":\"32\"}}]"