Skip to content

Commit c6d0865

Browse files
committed
feat: add generative w/ hybrid query
1 parent 7f61a62 commit c6d0865

1 file changed

Lines changed: 175 additions & 0 deletions

File tree

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

Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,10 @@
77
import io.weaviate.client6.v1.api.collections.query.Bm25;
88
import io.weaviate.client6.v1.api.collections.query.FetchObjects;
99
import io.weaviate.client6.v1.api.collections.query.GroupBy;
10+
import io.weaviate.client6.v1.api.collections.query.Hybrid;
1011
import io.weaviate.client6.v1.api.collections.query.QueryOperator;
1112
import io.weaviate.client6.v1.api.collections.query.QueryResponseGrouped;
13+
import io.weaviate.client6.v1.api.collections.query.Target;
1214
import io.weaviate.client6.v1.internal.ObjectBuilder;
1315
import io.weaviate.client6.v1.internal.grpc.GrpcTransport;
1416
import io.weaviate.client6.v1.internal.orm.CollectionDescriptor;
@@ -198,4 +200,177 @@ public GroupedResponseT bm25(String query,
198200
public GroupedResponseT bm25(Bm25 query, GenerativeTask generate, GroupBy groupBy) {
199201
return performRequest(query, generate, groupBy);
200202
}
203+
204+
// Hybrid queries -----------------------------------------------------------
205+
206+
/**
207+
* Query collection objects using hybrid search.
208+
*
209+
* @param query Query string.
210+
* @param generateFn Lambda expression for generative task parameters.
211+
* @throws WeaviateApiException in case the server returned with an
212+
* error status code.
213+
*/
214+
public ResponseT hybrid(String query,
215+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
216+
return hybrid(Hybrid.of(query), GenerativeTask.of(generateFn));
217+
}
218+
219+
/**
220+
* Query collection objects using hybrid search.
221+
*
222+
* @param query Query string.
223+
* @param fn Lambda expression for optional parameters.
224+
* @param generateFn Lambda expression for generative task parameters.
225+
* @throws WeaviateApiException in case the server returned with an
226+
* error status code.
227+
*/
228+
public ResponseT hybrid(
229+
String query,
230+
Function<Hybrid.Builder, ObjectBuilder<Hybrid>> fn,
231+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
232+
return hybrid(Hybrid.of(query, fn), GenerativeTask.of(generateFn));
233+
}
234+
235+
/**
236+
* Query collection objects using hybrid search.
237+
*
238+
* @param searchTarget Query target.
239+
* @param generateFn Lambda expression for generative task parameters.
240+
* @throws WeaviateApiException in case the server returned with an
241+
* error status code.
242+
*/
243+
public ResponseT hybrid(
244+
Target searchTarget,
245+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
246+
return hybrid(Hybrid.of(searchTarget), GenerativeTask.of(generateFn));
247+
}
248+
249+
/**
250+
* Query collection objects using hybrid search.
251+
*
252+
* @param searchTarget Query target.
253+
* @param fn Lambda expression for optional parameters.
254+
* @param generateFn Lambda expression for generative task parameters.
255+
* @throws WeaviateApiException in case the server returned with an
256+
* error status code.
257+
*/
258+
public ResponseT hybrid(
259+
Target searchTarget,
260+
Function<Hybrid.Builder, ObjectBuilder<Hybrid>> fn,
261+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn) {
262+
return hybrid(Hybrid.of(searchTarget, fn), GenerativeTask.of(generateFn));
263+
}
264+
265+
/**
266+
* Query collection objects using hybrid search.
267+
*
268+
* @param query Hybrid query request.
269+
* @param generate Generative task.
270+
* @throws WeaviateApiException in case the server returned with an
271+
* error status code.
272+
*/
273+
public ResponseT hybrid(Hybrid query, GenerativeTask generate) {
274+
return performRequest(query, generate);
275+
}
276+
277+
/**
278+
* Query collection objects using hybrid search.
279+
*
280+
* @param query Query string.
281+
* @param generateFn Lambda expression for generative task parameters.
282+
* @param groupBy Group-by clause.
283+
* @return Grouped query result.
284+
* @throws WeaviateApiException in case the server returned with an
285+
* error status code.
286+
*
287+
* @see GroupBy
288+
* @see QueryResponseGrouped
289+
*/
290+
public GroupedResponseT hybrid(
291+
String query,
292+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
293+
GroupBy groupBy) {
294+
return hybrid(Hybrid.of(query), GenerativeTask.of(generateFn), groupBy);
295+
}
296+
297+
/**
298+
* Query collection objects using hybrid search.
299+
*
300+
* @param query Query string.
301+
* @param fn Lambda expression for optional parameters.
302+
* @param generateFn Lambda expression for generative task parameters.
303+
* @param groupBy Group-by clause.
304+
* @return Grouped query result.
305+
* @throws WeaviateApiException in case the server returned with an
306+
* error status code.
307+
*
308+
* @see GroupBy
309+
* @see QueryResponseGrouped
310+
*/
311+
public GroupedResponseT hybrid(
312+
String query,
313+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
314+
Function<Hybrid.Builder, ObjectBuilder<Hybrid>> fn, GroupBy groupBy) {
315+
return hybrid(Hybrid.of(query, fn), GenerativeTask.of(generateFn), groupBy);
316+
}
317+
318+
/**
319+
* Query collection objects using hybrid search.
320+
*
321+
* @param searchTarget Query target.
322+
* @param generateFn Lambda expression for generative task parameters.
323+
* @param groupBy Group-by clause.
324+
* @return Grouped query result.
325+
* @throws WeaviateApiException in case the server returned with an
326+
* error status code.
327+
*
328+
* @see GroupBy
329+
* @see QueryResponseGrouped
330+
*/
331+
public GroupedResponseT hybrid(
332+
Target searchTarget,
333+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
334+
GroupBy groupBy) {
335+
return hybrid(Hybrid.of(searchTarget), GenerativeTask.of(generateFn), groupBy);
336+
}
337+
338+
/**
339+
* Query collection objects using hybrid search.
340+
*
341+
* @param searchTarget Query target.
342+
* @param fn Lambda expression for optional parameters.
343+
* @param generateFn Lambda expression for generative task parameters.
344+
* @param groupBy Group-by clause.
345+
* @return Grouped query result.
346+
* @throws WeaviateApiException in case the server returned with an
347+
* error status code.
348+
*
349+
* @see GroupBy
350+
* @see QueryResponseGrouped
351+
*/
352+
public GroupedResponseT hybrid(
353+
Target searchTarget,
354+
Function<GenerativeTask.Builder, ObjectBuilder<GenerativeTask>> generateFn,
355+
Function<Hybrid.Builder, ObjectBuilder<Hybrid>> fn,
356+
GroupBy groupBy) {
357+
return hybrid(Hybrid.of(searchTarget, fn), GenerativeTask.of(generateFn), groupBy);
358+
}
359+
360+
/**
361+
* Query collection objects using hybrid search.
362+
*
363+
* @param query Query string.
364+
* @param generate Generative task.
365+
* @param groupBy Group-by clause.
366+
* @return Grouped query result.
367+
* @throws WeaviateApiException in case the server returned with an
368+
* error status code.
369+
*
370+
* @see GroupBy
371+
* @see QueryResponseGrouped
372+
*/
373+
public GroupedResponseT hybrid(Hybrid query, GenerativeTask generate, GroupBy groupBy) {
374+
return performRequest(query, generate, groupBy);
375+
}
201376
}

0 commit comments

Comments
 (0)