通過query-vectors命令進行向量相似性檢索。
許可權說明
阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM Policy或Bucket Policy授予操作許可權。
API | Action | 說明 |
QueryVectors |
| 查詢向量資料。 |
命令格式
ossutil vectors-api query-vectors --bucket value --index-name value --query-vector value --top-k value [flags]參數說明
參數 | 類型 | 說明 |
--bucket | string | 向量Bucket名稱。 |
--index-name | string | 索引名稱。 |
--query-vector | string | 查詢向量,JSON格式,維度必須與向量索引的維度相同。 |
--top-k | int | 返回最相似的K個向量,支援1~100。 |
--filter | string | 通過中繼資料對查詢資料進行過濾。
|
--return-distance | / | 是否返回相似距離,留空或設定為 |
--return-metadata | / | 是否返回中繼資料,留空或設定為 |
query-vectors命令對應API介面QueryVectors。
關於支援的全域命令列選項,請參見全域命令列選項。
Filter操作符
操作符 | 支援類型 | 描述 |
| String | 精確匹配(用於單個值)。當與數群組類型的中繼資料進行比較時,如果輸入值能匹配數組中的任意一個元素,則返回true。 |
| String | 不等於 |
| String array | 匹配數組中的任意一個值(類似於SQL的 |
| String array | 不匹配數組中的任何一個值(類似於SQL的 |
| Boolean | 檢查中繼資料的key是否存在 |
| Non-empty array of filters | 多條件判斷與(AND) |
| Non-empty array of filters | 多條件判斷或(OR) |
使用樣本
在名為examplebucket的向量Bucket中名為 index 的向量索引裡,type為comedy和documentary的向量中與查詢向量最相似的前 10 條。
ossutil vectors-api query-vectors --bucket examplebucket --index-name index --filter "{\"$and\":[{\"type\":{\"$in\":[\"comedy\",\"documentary\"]}}]}" --query-vector "{\"float32\":[32]}" --top-k 10