put-vectors コマンドを使用して、ベクトルデータをインデックスに書き込みます。
注意事項
-
1 つのベクトルインデックスには、最大 20 億行のベクトルデータを格納できます。
-
1 回の PutVectors リクエストで最大 500 個のベクトルを書き込めます。この操作は最大 5 QPS (1 秒あたりのリクエスト数) をサポートします。
権限
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.json -
JSON 設定パラメータを使用します。
ossutil vectors-api put-vectors --bucket examplebucket --index-name index --vectors "[{\"data\":{\"float32\":[1]},\"key\":\"vector1\",\"metadata\":{\"Key1\":\"32\"}}]"