Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
qdrantProtosVersion=v1.14.0

# The version of qdrant docker image to run integration tests against
qdrantVersion=v1.14.0
qdrantVersion=v1.14.1

# The version of the client to generate
packageVersion=1.14.0
packageVersion=1.14.1
36 changes: 34 additions & 2 deletions src/main/java/io/qdrant/client/QueryFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@

import io.qdrant.client.grpc.Points.ContextInput;
import io.qdrant.client.grpc.Points.DiscoverInput;
import io.qdrant.client.grpc.Points.Document;
import io.qdrant.client.grpc.Points.Formula;
import io.qdrant.client.grpc.Points.Fusion;
import io.qdrant.client.grpc.Points.InferenceObject;
import io.qdrant.client.grpc.Points.OrderBy;
import io.qdrant.client.grpc.Points.PointId;
import io.qdrant.client.grpc.Points.Query;
Expand Down Expand Up @@ -157,7 +159,7 @@ public static Query nearest(long id) {
/**
* Creates a {@link Query} from a {@link UUID}
*
* @param id The pint id
* @param id The point id
* @return a new instance of {@link Query}
*/
public static Query nearest(UUID id) {
Expand All @@ -167,13 +169,43 @@ public static Query nearest(UUID id) {
/**
* Creates a {@link Query} from a {@link PointId}
*
* @param id The pint id
* @param id The point id
* @return a new instance of {@link Query}
*/
public static Query nearest(PointId id) {
return Query.newBuilder().setNearest(vectorInput(id)).build();
}

/**
* Creates a {@link Query} from a {@link Document}
*
* @param document The document to vectorize and query against.
* @return a new instance of {@link Query}
*/
public static Query nearest(Document document) {
return Query.newBuilder().setNearest(vectorInput(document)).build();
}

/**
* Creates a {@link Query} from an image for cloud inference.
*
* @param image The image to vectorize and query against.
* @return a new instance of {@link Query}
*/
public static Query nearest(io.qdrant.client.grpc.Points.Image image) {
return Query.newBuilder().setNearest(vectorInput(image)).build();
}

/**
* Creates a {@link Query} from an {@link InferenceObject}
*
* @param object The inference object to vectorize and query against.
* @return a new instance of {@link Query}
*/
public static Query nearest(InferenceObject object) {
return Query.newBuilder().setNearest(vectorInput(object)).build();
}

/**
* Creates a {@link Query} from a nested list of floats representing a multi vector
*
Expand Down
33 changes: 33 additions & 0 deletions src/main/java/io/qdrant/client/VectorFactory.java
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
package io.qdrant.client;

import com.google.common.primitives.Floats;
import io.qdrant.client.grpc.Points.Document;
import io.qdrant.client.grpc.Points.Image;
import io.qdrant.client.grpc.Points.InferenceObject;
import io.qdrant.client.grpc.Points.SparseIndices;
import io.qdrant.client.grpc.Points.Vector;
import java.util.ArrayList;
Expand Down Expand Up @@ -45,6 +48,36 @@ public static Vector vector(List<Float> vector, List<Integer> indices) {
.build();
}

/**
* Creates a vector from a document for cloud inference.
*
* @param document The document to vectorize.
* @return A new instance of {@link Vector}
*/
public static Vector vector(Document document) {
return Vector.newBuilder().setDocument(document).build();
}

/**
* Creates a vector from an image for cloud inference.
*
* @param image The image to vectorize.
* @return A new instance of {@link Vector}
*/
public static Vector vector(Image image) {
return Vector.newBuilder().setImage(image).build();
}

/**
* Creates a vector from an inference object.
*
* @param object The inference object to vectorize.
* @return A new instance of {@link Vector}
*/
public static Vector vector(InferenceObject object) {
return Vector.newBuilder().setObject(object).build();
}

/**
* Creates a multi vector from a nested list of floats
*
Expand Down
57 changes: 30 additions & 27 deletions src/main/java/io/qdrant/client/VectorInputFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@

import com.google.common.primitives.Floats;
import io.qdrant.client.grpc.Points.DenseVector;
import io.qdrant.client.grpc.Points.Document;
import io.qdrant.client.grpc.Points.Image;
import io.qdrant.client.grpc.Points.InferenceObject;
import io.qdrant.client.grpc.Points.MultiDenseVector;
import io.qdrant.client.grpc.Points.PointId;
import io.qdrant.client.grpc.Points.SparseVector;
Expand Down Expand Up @@ -114,33 +117,33 @@ public static VectorInput vectorInput(PointId id) {
return VectorInput.newBuilder().setId(id).build();
}

// /**
// * Creates a {@link VectorInput} from a {@link Document}
// *
// * @param document An instance of {@link Document}
// * @return a new instance of {@link VectorInput}
// */
// public static VectorInput vectorInput(Document document) {
// return VectorInput.newBuilder().setDocument(document).build();
// }
/**
* Creates a {@link VectorInput} from a {@link Document}
*
* @param document An instance of {@link Document}
* @return a new instance of {@link VectorInput}
*/
public static VectorInput vectorInput(Document document) {
return VectorInput.newBuilder().setDocument(document).build();
}

// /**
// * Creates a {@link VectorInput} from a an {@link Image}
// *
// * @param image An instance of {@link Image}
// * @return a new instance of {@link VectorInput}
// */
// public static VectorInput vectorInput(Image image) {
// return VectorInput.newBuilder().setImage(image).build();
// }
/**
* Creates a {@link VectorInput} from a an {@link Image}
*
* @param image An instance of {@link Image}
* @return a new instance of {@link VectorInput}
*/
public static VectorInput vectorInput(Image image) {
return VectorInput.newBuilder().setImage(image).build();
}

// /**
// * Creates a {@link VectorInput} from a {@link InferenceObject}
// *
// * @param object An instance of {@link InferenceObject}
// * @return a new instance of {@link VectorInput}
// */
// public static VectorInput vectorInput(InferenceObject object) {
// return VectorInput.newBuilder().setObject(object).build();
// }
/**
* Creates a {@link VectorInput} from a {@link InferenceObject}
*
* @param object An instance of {@link InferenceObject}
* @return a new instance of {@link VectorInput}
*/
public static VectorInput vectorInput(InferenceObject object) {
return VectorInput.newBuilder().setObject(object).build();
}
}
33 changes: 33 additions & 0 deletions src/main/java/io/qdrant/client/VectorsFactory.java
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

import static io.qdrant.client.VectorFactory.vector;

import io.qdrant.client.grpc.Points.Document;
import io.qdrant.client.grpc.Points.Image;
import io.qdrant.client.grpc.Points.InferenceObject;
import io.qdrant.client.grpc.Points.NamedVectors;
import io.qdrant.client.grpc.Points.Vector;
import io.qdrant.client.grpc.Points.Vectors;
Expand Down Expand Up @@ -51,4 +54,34 @@ public static Vectors vectors(float... values) {
public static Vectors vectors(Vector vector) {
return Vectors.newBuilder().setVector(vector).build();
}

/**
* Creates an instance of {@link Vectors} from a document for cloud inference.
*
* @param document An instance of {@link Document}
* @return a new instance of {@link Vectors}
*/
public static Vectors vectors(Document document) {
return Vectors.newBuilder().setVector(vector(document)).build();
}

/**
* Creates an instance of {@link Vectors} from an image for cloud inference.
*
* @param image An instance of {@link Image}
* @return a new instance of {@link Vectors}
*/
public static Vectors vectors(Image image) {
return Vectors.newBuilder().setVector(vector(image)).build();
}

/**
* Creates an instance of {@link Vectors} from an inference object.
*
* @param object The inference object to vectorize.
* @return A new instance of {@link Vectors}
*/
public static Vectors vectors(InferenceObject object) {
return Vectors.newBuilder().setVector(vector(object)).build();
}
}
Loading