Upload vector data to a vector index by calling PutVectors with the OSS Java SDK V2. The vector dimension must match the dimension specified during index creation.
Permissions
An Alibaba Cloud account has full permissions by default. RAM users and RAM roles have no permissions by default and must be granted access through a RAM policy or bucket policy.
|
API |
Action |
Description |
|
PutVectors |
oss:PutVectors |
Uploads vector data. |
Sample code
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.PutVectorsRequest;
import com.aliyun.sdk.service.oss2.vectors.models.PutVectorsResult;
import java.util.*;
public class PutVectorsSample {
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()) {
List<Map<String, Object>> vectors = Arrays.asList(
createVector("key1", new Float[]{1.0f, 2.0f, 3.0f}, "description1"),
createVector("key2", new Float[]{4.0f, 5.0f, 6.0f}, "description2"));
PutVectorsRequest request = PutVectorsRequest.newBuilder()
.bucket("examplebucket")
.indexName("exampleindex")
.vectors(vectors)
.build();
PutVectorsResult result = client.putVectors(request);
System.out.printf("status code: %d, request id: %s%n", result.statusCode(), result.requestId());
}
}
private static Map<String, Object> createVector(String key, Float[] data, String description) {
Map<String, Object> vector = new HashMap<>();
vector.put("key", key);
Map<String, Object> vectorData = new HashMap<>();
vectorData.put("float32", Arrays.asList(data));
vector.put("data", vectorData);
Map<String, String> meta = new HashMap<>();
meta.put("description", description);
vector.put("metadata", meta);
return vector;
}
}
References
-
For synchronous sample code, see PutVectors.java.
-
For asynchronous sample code, see PutVectorsAsync.java.
该文章对您有帮助吗?