Skip to content

Commit

Permalink
rename PineconeDataPlaneClient to PineconeDataPlaneInterface and move…
Browse files Browse the repository at this point in the history
… to commons
  • Loading branch information
austin-denoble committed Mar 12, 2024
1 parent 4336aeb commit eed989e
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 33 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package io.pinecone.clients;

import com.google.protobuf.Struct;
import io.pinecone.commons.PineconeDataPlaneInterface;
import io.pinecone.exceptions.PineconeValidationException;
import io.pinecone.proto.*;
import io.pinecone.unsigned_indices_model.QueryResponseWithUnsignedIndices;

import java.util.List;

import static io.pinecone.utils.SparseIndicesConverter.convertUnsigned32IntToSigned32Int;

public class PineconeBlockingDataPlaneClient implements PineconeDataPlaneClient<UpsertResponse, QueryResponseWithUnsignedIndices, FetchResponse, UpdateResponse, DeleteResponse, DescribeIndexStatsResponse> {
public class PineconeBlockingDataPlaneClient implements PineconeDataPlaneInterface<UpsertResponse,
QueryResponseWithUnsignedIndices, FetchResponse, UpdateResponse, DeleteResponse, DescribeIndexStatsResponse> {

private final VectorServiceGrpc.VectorServiceBlockingStub blockingStub;

Expand All @@ -26,101 +26,118 @@ public UpsertResponse upsert(String id,
List<Float> values) {
return upsert(id, values, null, null, null, null);
}

@Override
public UpsertResponse upsert(String id,
List<Float> values,
String namespace) {
return upsert(id, values, null, null, null, namespace);
}

@Override
public UpsertResponse upsert(String id,
List<Float> values,
List<Long> sparseIndices,
List<Float> sparseValues,
com.google.protobuf.Struct metadata,
String namespace) {
UpsertRequest upsertRequest = validateUpsertRequest(id, values, sparseIndices, sparseValues, metadata, namespace);
UpsertRequest upsertRequest = validateUpsertRequest(id, values, sparseIndices, sparseValues, metadata,
namespace);

return blockingStub.upsert(upsertRequest);
}

@Override
public QueryResponseWithUnsignedIndices query(int topK,
List<Float> vector,
List<Long> sparseIndices,
List<Float> sparseValues,
String id,
String namespace,
Struct filter,
boolean includeValues,
boolean includeMetadata) {
QueryRequest queryRequest = validateQueryRequest(topK, vector, sparseIndices, sparseValues, id, namespace, filter, includeValues, includeMetadata);
List<Float> vector,
List<Long> sparseIndices,
List<Float> sparseValues,
String id,
String namespace,
Struct filter,
boolean includeValues,
boolean includeMetadata) {
QueryRequest queryRequest = validateQueryRequest(topK, vector, sparseIndices, sparseValues, id, namespace,
filter, includeValues, includeMetadata);

return new QueryResponseWithUnsignedIndices(blockingStub.query(queryRequest));
}

@Override
public QueryResponseWithUnsignedIndices queryByVectorId(int topK,
String id,
String namespace,
Struct filter,
boolean includeValues,
boolean includeMetadata) {
String id,
String namespace,
Struct filter,
boolean includeValues,
boolean includeMetadata) {
return query(topK, null, null, null, id, namespace, filter, includeValues, includeMetadata);
}

@Override
public QueryResponseWithUnsignedIndices queryByVectorId(int topK,
String id,
String namespace,
Struct filter) {
String id,
String namespace,
Struct filter) {
return query(topK, null, null, null, id, namespace, filter, false, false);
}

@Override
public QueryResponseWithUnsignedIndices queryByVectorId(int topK,
String id,
String namespace) {
String id,
String namespace) {
return query(topK, null, null, null, id, namespace, null, false, false);
}

@Override
public QueryResponseWithUnsignedIndices queryByVectorId(int topK,
String id) {
String id) {
return query(topK, null, null, null, id, null, null, false, false);
}

@Override
public FetchResponse fetch(List<String> ids) {
return fetch(ids, null);
}

@Override
public FetchResponse fetch(List<String> ids,
String namespace) {
FetchRequest fetchRequest = validateFetchRequest(ids, namespace);

return blockingStub.fetch(fetchRequest);
}

@Override
public UpdateResponse update(String id,
List<Float> values) {
return update(id, values, null, null, null, null);
}

@Override
public UpdateResponse update(String id,
List<Float> values,
String namespace) {
return update(id, values, null, namespace, null, null);
}

@Override
public UpdateResponse update(String id,
List<Float> values,
Struct metadata,
String namespace,
List<Long> sparseIndices,
List<Float> sparseValues) {
UpdateRequest updateRequest = validateUpdateRequest(id, values, metadata, namespace, sparseIndices, sparseValues);
UpdateRequest updateRequest = validateUpdateRequest(id, values, metadata, namespace, sparseIndices,
sparseValues);

return blockingStub.update(updateRequest);
}

@Override
public DeleteResponse deleteByIds(List<String> ids, String namespace) {
return delete(ids, false, namespace, null);
}

@Override
public DeleteResponse deleteByIds(List<String> ids) {
return delete(ids, false, null, null);
Expand All @@ -129,14 +146,17 @@ public DeleteResponse deleteByIds(List<String> ids) {
public DeleteResponse deleteByFilter(Struct filter, String namespace) {
return delete(null, false, namespace, filter);
}

@Override
public DeleteResponse deleteByFilter(Struct filter) {
return delete(null, false, null, filter);
}

@Override
public DeleteResponse deleteAll(String namespace) {
return delete(null, true, namespace, null);
}

@Override
public DeleteResponse delete(List<String> ids,
boolean deleteAll,
Expand All @@ -146,6 +166,7 @@ public DeleteResponse delete(List<String> ids,

return blockingStub.delete(deleteRequest);
}

@Override
public DescribeIndexStatsResponse describeIndexStats(Struct filter) {
DescribeIndexStatsRequest describeIndexStatsRequest = validateDescribeIndexStatsRequest(filter);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@
import com.google.common.util.concurrent.ListenableFuture;
import com.google.common.util.concurrent.MoreExecutors;
import com.google.protobuf.Struct;
import io.pinecone.commons.PineconeDataPlaneInterface;
import io.pinecone.exceptions.PineconeValidationException;
import io.pinecone.proto.*;
import io.pinecone.unsigned_indices_model.QueryResponseWithUnsignedIndices;

import java.util.List;

import static io.pinecone.utils.SparseIndicesConverter.convertUnsigned32IntToSigned32Int;

public class PineconeFutureDataPlaneClient implements PineconeDataPlaneClient<ListenableFuture<UpsertResponse>,
public class PineconeFutureDataPlaneClient implements PineconeDataPlaneInterface<ListenableFuture<UpsertResponse>,
ListenableFuture<QueryResponseWithUnsignedIndices>, ListenableFuture<FetchResponse>,
ListenableFuture<UpdateResponse>, ListenableFuture<DeleteResponse>,
ListenableFuture<DescribeIndexStatsResponse>> {
Expand Down Expand Up @@ -47,7 +46,8 @@ public ListenableFuture<UpsertResponse> upsert(String id,
List<Float> sparseValues,
com.google.protobuf.Struct metadata,
String namespace) {
UpsertRequest upsertRequest = validateUpsertRequest(id, values, sparseIndices, sparseValues, metadata, namespace);
UpsertRequest upsertRequest = validateUpsertRequest(id, values, sparseIndices, sparseValues, metadata,
namespace);

return futureStub.upsert(upsertRequest);
}
Expand All @@ -62,7 +62,8 @@ public ListenableFuture<QueryResponseWithUnsignedIndices> query(int topK,
Struct filter,
boolean includeValues,
boolean includeMetadata) {
QueryRequest queryRequest = validateQueryRequest(topK, vector, sparseIndices, sparseValues, id, namespace, filter, includeValues, includeMetadata);
QueryRequest queryRequest = validateQueryRequest(topK, vector, sparseIndices, sparseValues, id, namespace,
filter, includeValues, includeMetadata);

ListenableFuture<QueryResponse> queryResponseFuture = futureStub.query(queryRequest);

Expand Down Expand Up @@ -134,7 +135,8 @@ public ListenableFuture<UpdateResponse> update(String id,
String namespace,
List<Long> sparseIndices,
List<Float> sparseValues) {
UpdateRequest updateRequest = validateUpdateRequest(id, values, metadata, namespace, sparseIndices, sparseValues);
UpdateRequest updateRequest = validateUpdateRequest(id, values, metadata, namespace, sparseIndices,
sparseValues);

return futureStub.update(updateRequest);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.pinecone.clients;
package io.pinecone.commons;

import com.google.protobuf.Struct;
import io.pinecone.exceptions.PineconeValidationException;
Expand All @@ -8,7 +8,7 @@

import static io.pinecone.utils.SparseIndicesConverter.convertUnsigned32IntToSigned32Int;

public interface PineconeDataPlaneClient<T, U, V, W, X, Y> {
public interface PineconeDataPlaneInterface<T, U, V, W, X, Y> {
// default methods
default UpsertRequest validateUpsertRequest(String id,
List<Float> values,
Expand Down

0 comments on commit eed989e

Please sign in to comment.