全部產品
Search
文件中心

Object Storage Service:put-vectors

更新時間:Sep 24, 2025

通過put-vectors命令向索引中寫入向量資料。

注意事項

  • 單張向量 Index 表最多儲存 5000 萬行向量資料。

  • PutVectors介面單批次最大寫入 500 條。

許可權說明

阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM PolicyBucket Policy授予操作許可權。

API

Action

說明

PutVectors

oss:PutVectors

寫入向量資料。

命令格式

ossutil vectors-api put-vectors --bucket value --index-name value --vectors value [flags]

參數說明

參數

類型

說明

--bucket

string

向量Bucket名稱。

--index-name

string

索引名稱。

--vectors

string

向量資料,支援JSON字串或檔案路徑(使用file://首碼)。

說明

向量資料格式

向量資料為JSON數組格式,每個向量包含以下欄位:

[ 
    { 
       "data": {
          "float32":[float]
       },
       "key": "string",
       "metadata": {
           "key1": ["value1", "value2"],
           "key2": "value2"
       }
    }
]

每個欄位的詳細參數說明如下:

名稱

資料類型

是否必選

樣本值

描述

key

字串

doc-001

寫入向量主鍵,標識向量唯一值。限制:

  • key相同則覆蓋,但若在同一批次中key有重複則全部異常

  • key單值長度在1~1024字元之間

  • key需為utf8格式。

父節點:vectors

data

容器

-

向量內容。

父節點:vectors

float32

數值數組

[0.1, 0.2, 0.3]

向量資料,資料類型為float32。向量維度必須與索引定義的維度一致。使用餘弦距離度量時,不允許出現零向量。

父節點:data

metadata

容器

-

中繼資料。限制:

  • 總大小 <= 40KB

  • 可過濾metadata限制:長度 ∈ [0, 10],可過濾部分大小 <= 2KB

  • 支援類型string。

  • 配置可過濾中繼資料時:

    • 單次過濾指令中可過濾中繼資料的累計長度不超過 64 KB;

    • 單次過濾指令中可過濾中繼資料項數量不超過 1024 個;

    • 過濾條件嵌套層級最多支援 8 層;

    • 允許過濾條件為空白。

父節點: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\"}}]"