檢索Vectors(Java SDK V2)

更新時間:
Copy as MD

本文介紹如何使用 OSS Java SDK V2 調用 QueryVectors 介面在指定向量索引(Index)中檢索與查詢向量最相似的向量資料。

許可權說明

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

API

Action

說明

QueryVectors

oss:QueryVectors

檢索(相似性查詢)向量資料。

範例程式碼

import com.aliyun.sdk.service.oss2.credentials.CredentialsProvider;
import com.aliyun.sdk.service.oss2.credentials.EnvironmentVariableCredentialsProvider;
import com.aliyun.sdk.service.oss2.vectors.OSSVectorsClient;
import com.aliyun.sdk.service.oss2.vectors.models.QueryVectorsRequest;
import com.aliyun.sdk.service.oss2.vectors.models.QueryVectorsResult;
import java.util.*;

public class QueryVectorsSample {
    public static void main(String[] args) throws Exception {
        CredentialsProvider provider = new EnvironmentVariableCredentialsProvider();
        try (OSSVectorsClient client = OSSVectorsClient.newBuilder()
                .region("cn-hangzhou")
                .accountId("1234567890")
                .credentialsProvider(provider)
                .build()) {
            Map<String, Object> queryVector = new HashMap<>();
            queryVector.put("float32", new float[]{0.1f, 0.2f, 0.3f});
            QueryVectorsRequest request = QueryVectorsRequest.newBuilder()
                    .bucket("examplebucket")
                    .indexName("exampleindex")
                    .queryVector(queryVector)
                    .topK(10)
                    .returnDistance(true)
                    .returnMetadata(false)
                    .build();
            QueryVectorsResult result = client.queryVectors(request);
            System.out.printf("status code: %d, request id: %s%n", result.statusCode(), result.requestId());
        }
    }
}

相關文檔