Skip to content

Commit 9707ddf

Browse files
committed
feat: add generative w/ nearVector query
1 parent c6d0865 commit 9707ddf

2 files changed

Lines changed: 178 additions & 9 deletions

File tree

src/main/java/io/weaviate/client6/v1/api/collections/generate/AbstractGenerateClient.java

Lines changed: 174 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
import io.weaviate.client6.v1.api.collections.query.FetchObjects;
99
import io.weaviate.client6.v1.api.collections.query.GroupBy;
1010
import io.weaviate.client6.v1.api.collections.query.Hybrid;
11+
import io.weaviate.client6.v1.api.collections.query.NearVector;
12+
import io.weaviate.client6.v1.api.collections.query.NearVectorTarget;
1113
import io.weaviate.client6.v1.api.collections.query.QueryOperator;
1214
import io.weaviate.client6.v1.api.collections.query.QueryResponseGrouped;
1315
import io.weaviate.client6.v1.api.collections.query.Target;
@@ -167,7 +169,7 @@ public GroupedResponseT bm25(String query,
167169
* Query collection objects using keyword (BM25) search.
168170
*
169171
* @param query Query string.
170-
* @param fn Lambda expression for optional parameters.
172+
* @param fn Lambda expression for optional search parameters.
171173
* @param generateFn Lambda expression for generative task parameters.
172174
* @param groupBy Group-by clause.
173175
* @return Grouped query result.
@@ -220,7 +222,7 @@ public ResponseT hybrid(String query,
220222
* Query collection objects using hybrid search.
221223
*
222224
* @param query Query string.
223-
* @param fn Lambda expression for optional parameters.
225+
* @param fn Lambda expression for optional search parameters.
224226
* @param generateFn Lambda expression for generative task parameters.
225227
* @throws WeaviateApiException in case the server returned with an
226228
* error status code.
@@ -250,7 +252,7 @@ public ResponseT hybrid(
250252
* Query collection objects using hybrid search.
251253
*
252254
* @param searchTarget Query target.
253-
* @param fn Lambda expression for optional parameters.
255+
* @param fn Lambda expression for optional search parameters.
254256
* @param generateFn Lambda expression for generative task parameters.
255257
* @throws WeaviateApiException in case the server returned with an
256258
* error status code.
@@ -298,7 +300,7 @@ public GroupedResponseT hybrid(
298300
* Query collection objects using hybrid search.
299301
*
300302
* @param query Query string.
301-
* @param fn Lambda expression for optional parameters.
303+
* @param fn Lambda expression for optional search parameters.
302304
* @param generateFn Lambda expression for generative task parameters.
303305
* @param groupBy Group-by clause.
304306
* @return Grouped query result.
@@ -339,7 +341,7 @@ public GroupedResponseT hybrid(
339341
* Query collection objects using hybrid search.
340342
*
341343
* @param searchTarget Query target.
342-
* @param fn Lambda expression for optional parameters.
344+
* @param fn Lambda expression for optional search parameters.
343345
* @param generateFn Lambda expression for generative task parameters.
344346
* @param groupBy Group-by clause.
345347
* @return Grouped query result.
@@ -373,4 +375,171 @@ public GroupedResponseT hybrid(
373375
public GroupedResponseT hybrid(Hybrid query, GenerativeTask generate, GroupBy groupBy) {
374376
return performRequest(query, generate, groupBy);
375377
}
378+
379+
// NearVector queries -------------------------------------------------------
380+
381+
/**
382+
* Query collection objects using near vector search.
383+
*
384+
* @param vector Query vector.
385+
* @param generateFn Lambda expression for generative task parameters.
386+
* @throws WeaviateApiException in case the server returned with an
387+
* error status code.
388+
*/
389+
public ResponseT nearVector(float[] vector,
390+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
391+
return nearVector(Target.vector(vector), generateFn);
392+
}
393+
394+
/**
395+
* Query collection objects using near vector search.
396+
*
397+
* @param vector Query vector.
398+
* @param fn Lambda expression for optional search parameters.
399+
* @param generateFn Lambda expression for generative task parameters.
400+
* @throws WeaviateApiException in case the server returned with an
401+
* error status code.
402+
*/
403+
public ResponseT nearVector(float[] vector,
404+
Function<NearVector.Builder, ObjectBuilder<NearVector>> fn,
405+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
406+
return nearVector(Target.vector(vector), fn, generateFn);
407+
}
408+
409+
/**
410+
* Query collection objects using near vector search.
411+
*
412+
* @param searchTarget Target query vectors.
413+
* @param generateFn Lambda expression for generative task parameters.
414+
* @throws WeaviateApiException in case the server returned with an
415+
* error status code.
416+
*/
417+
public ResponseT nearVector(NearVectorTarget searchTarget,
418+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
419+
return nearVector(NearVector.of(searchTarget), GenerativeTask.of(generateFn));
420+
}
421+
422+
/**
423+
* Query collection objects using near vector search.
424+
*
425+
* @param searchTarget Target query vectors.
426+
* @param fn Lambda expression for optional search parameters.
427+
* @param generateFn Lambda expression for generative task parameters.
428+
* @throws WeaviateApiException in case the server returned with an
429+
* error status code.
430+
*/
431+
public ResponseT nearVector(NearVectorTarget searchTarget,
432+
Function<NearVector.Builder, ObjectBuilder<NearVector>> fn,
433+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
434+
return nearVector(NearVector.of(searchTarget, fn), GenerativeTask.of(generateFn));
435+
}
436+
437+
/**
438+
* Query collection objects using near vector search.
439+
*
440+
* @param query Near vector query request.
441+
* @param generate Generative task.
442+
* @throws WeaviateApiException in case the server returned with an
443+
* error status code.
444+
*/
445+
public ResponseT nearVector(NearVector query, GenerativeTask generate) {
446+
return performRequest(query, generate);
447+
}
448+
449+
/**
450+
* Query collection objects using near vector search.
451+
*
452+
* @param vector Query vector.
453+
* @param generateFn Lambda expression for generative task parameters.
454+
* @param groupBy Group-by clause.
455+
* @return Grouped query result.
456+
* @throws WeaviateApiException in case the server returned with an
457+
* error status code.
458+
*
459+
* @see GroupBy
460+
* @see QueryResponseGrouped
461+
*/
462+
public GroupedResponseT nearVector(float[] vector,
463+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
464+
GroupBy groupBy) {
465+
return nearVector(Target.vector(vector), generateFn, groupBy);
466+
}
467+
468+
/**
469+
* Query collection objects using near vector search.
470+
*
471+
* @param vector Query vector.
472+
* @param fn Lambda expression for optional search parameters.
473+
* @param generateFn Lambda expression for generative task parameters.
474+
* @param groupBy Group-by clause.
475+
* @return Grouped query result.
476+
* @throws WeaviateApiException in case the server returned with an
477+
* error status code.
478+
*
479+
* @see GroupBy
480+
* @see QueryResponseGrouped
481+
*/
482+
public GroupedResponseT nearVector(float[] vector,
483+
Function<NearVector.Builder, ObjectBuilder<NearVector>> fn,
484+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
485+
GroupBy groupBy) {
486+
return nearVector(Target.vector(vector), fn, generateFn, groupBy);
487+
}
488+
489+
/**
490+
* Query collection objects using near vector search.
491+
*
492+
* @param searchTarget Target query vectors.
493+
* @param generateFn Lambda expression for generative task parameters.
494+
* @param groupBy Group-by clause.
495+
* @return Grouped query result.
496+
* @throws WeaviateApiException in case the server returned with an
497+
* error status code.
498+
*
499+
* @see GroupBy
500+
* @see QueryResponseGrouped
501+
*/
502+
public GroupedResponseT nearVector(
503+
NearVectorTarget searchTarget,
504+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
505+
GroupBy groupBy) {
506+
return nearVector(NearVector.of(searchTarget), GenerativeTask.of(generateFn), groupBy);
507+
}
508+
509+
/**
510+
* Query collection objects using near vector search.
511+
*
512+
* @param searchTarget Target query vectors.
513+
* @param fn Lambda expression for optional search parameters.
514+
* @param generateFn Lambda expression for generative task parameters.
515+
* @return Grouped query result.
516+
* @throws WeaviateApiException in case the server returned with an
517+
* error status code.
518+
*
519+
* @see GroupBy
520+
* @see QueryResponseGrouped
521+
*/
522+
public GroupedResponseT nearVector(NearVectorTarget searchTarget,
523+
Function<NearVector.Builder, ObjectBuilder<NearVector>> fn,
524+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
525+
GroupBy groupBy) {
526+
return nearVector(NearVector.of(searchTarget, fn), GenerativeTask.of(generateFn), groupBy);
527+
}
528+
529+
/**
530+
* Query collection objects using near vector search.
531+
*
532+
* @param query Near vector query request.
533+
* @param generate Generative task.
534+
* @param groupBy Group-by clause.
535+
* @return Grouped query result.
536+
* @throws WeaviateApiException in case the server returned with an
537+
* error status code.
538+
*
539+
* @see GroupBy
540+
* @see QueryResponseGrouped
541+
*/
542+
public GroupedResponseT nearVector(NearVector query, GenerativeTask generate, GroupBy groupBy) {
543+
return performRequest(query, generate, groupBy);
544+
}
376545
}

src/main/java/io/weaviate/client6/v1/api/collections/query/AbstractQueryClient.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -398,7 +398,7 @@ public ResponseT nearVector(float[] vector, Function<NearVector.Builder, ObjectB
398398
* error status code.
399399
*/
400400
public ResponseT nearVector(NearVectorTarget searchTarget) {
401-
return performRequest(NearVector.of(searchTarget));
401+
return nearVector(NearVector.of(searchTarget));
402402
}
403403

404404
/**
@@ -411,7 +411,7 @@ public ResponseT nearVector(NearVectorTarget searchTarget) {
411411
*/
412412
public ResponseT nearVector(NearVectorTarget searchTarget,
413413
Function<NearVector.Builder, ObjectBuilder<NearVector>> fn) {
414-
return performRequest(NearVector.of(searchTarget, fn));
414+
return nearVector(NearVector.of(searchTarget, fn));
415415
}
416416

417417
/**
@@ -473,7 +473,7 @@ public GroupedResponseT nearVector(float[] vector, Function<NearVector.Builder,
473473
*/
474474
public GroupedResponseT nearVector(NearVectorTarget searchTarget,
475475
GroupBy groupBy) {
476-
return performRequest(NearVector.of(searchTarget), groupBy);
476+
return nearVector(NearVector.of(searchTarget), groupBy);
477477
}
478478

479479
/**
@@ -491,7 +491,7 @@ public GroupedResponseT nearVector(NearVectorTarget searchTarget,
491491
public GroupedResponseT nearVector(NearVectorTarget searchTarget,
492492
Function<NearVector.Builder, ObjectBuilder<NearVector>> fn,
493493
GroupBy groupBy) {
494-
return performRequest(NearVector.of(searchTarget, fn), groupBy);
494+
return nearVector(NearVector.of(searchTarget, fn), groupBy);
495495
}
496496

497497
/**

0 commit comments

Comments
 (0)