@@ -72,12 +72,14 @@ class GenerateManager<T> implements Generate<T> {
72
72
) : Promise < GenerativeReturn < T > > {
73
73
return this . check
74
74
. fetchObjects ( opts )
75
- . then ( ( { search } ) =>
76
- search . withFetch ( {
75
+ . then ( ( { search } ) => ( {
76
+ search,
77
+ args : {
77
78
...Serialize . search . fetchObjects ( opts ) ,
78
79
generative : Serialize . generative ( generate ) ,
79
- } )
80
- )
80
+ } ,
81
+ } ) )
82
+ . then ( ( { search, args } ) => search . withFetch ( args ) )
81
83
. then ( ( reply ) => this . parseReply ( reply ) ) ;
82
84
}
83
85
@@ -94,12 +96,14 @@ class GenerateManager<T> implements Generate<T> {
94
96
public bm25 ( query : string , generate : GenerateOptions < T > , opts ?: Bm25Options < T > ) : GenerateReturn < T > {
95
97
return this . check
96
98
. bm25 ( opts )
97
- . then ( ( { search } ) =>
98
- search . withBm25 ( {
99
+ . then ( ( { search } ) => ( {
100
+ search,
101
+ args : {
99
102
...Serialize . search . bm25 ( query , opts ) ,
100
103
generative : Serialize . generative ( generate ) ,
101
- } )
102
- )
104
+ } ,
105
+ } ) )
106
+ . then ( ( { search, args } ) => search . withBm25 ( args ) )
103
107
. then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
104
108
}
105
109
@@ -116,20 +120,31 @@ class GenerateManager<T> implements Generate<T> {
116
120
public hybrid ( query : string , generate : GenerateOptions < T > , opts ?: HybridOptions < T > ) : GenerateReturn < T > {
117
121
return this . check
118
122
. hybridSearch ( opts )
119
- . then ( ( { search, supportsTargets, supportsVectorsForTargets, supportsWeightsForTargets } ) =>
120
- search . withHybrid ( {
121
- ...Serialize . search . hybrid (
122
- {
123
- query,
124
- supportsTargets,
125
- supportsVectorsForTargets,
126
- supportsWeightsForTargets,
127
- } ,
128
- opts
129
- ) ,
130
- generative : Serialize . generative ( generate ) ,
123
+ . then (
124
+ async ( {
125
+ search,
126
+ supportsTargets,
127
+ supportsVectorsForTargets,
128
+ supportsWeightsForTargets,
129
+ supportsVectors,
130
+ } ) => ( {
131
+ search,
132
+ args : {
133
+ ...( await Serialize . search . hybrid (
134
+ {
135
+ query,
136
+ supportsTargets,
137
+ supportsVectorsForTargets,
138
+ supportsWeightsForTargets,
139
+ supportsVectors,
140
+ } ,
141
+ opts
142
+ ) ) ,
143
+ generative : Serialize . generative ( generate ) ,
144
+ } ,
131
145
} )
132
146
)
147
+ . then ( ( { search, args } ) => search . withHybrid ( args ) )
133
148
. then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
134
149
}
135
150
@@ -150,21 +165,21 @@ class GenerateManager<T> implements Generate<T> {
150
165
) : GenerateReturn < T > {
151
166
return this . check
152
167
. nearSearch ( opts )
153
- . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) =>
154
- toBase64FromMedia ( image ) . then ( ( image ) =>
155
- search . withNearImage ( {
156
- ...Serialize . search . nearImage (
157
- {
158
- image,
159
- supportsTargets,
160
- supportsWeightsForTargets,
161
- } ,
162
- opts
163
- ) ,
164
- generative : Serialize . generative ( generate ) ,
165
- } )
166
- )
167
- )
168
+ . then ( async ( { search, supportsTargets, supportsWeightsForTargets } ) => ( {
169
+ search ,
170
+ args : {
171
+ ...Serialize . search . nearImage (
172
+ {
173
+ image : await toBase64FromMedia ( image ) ,
174
+ supportsTargets,
175
+ supportsWeightsForTargets,
176
+ } ,
177
+ opts
178
+ ) ,
179
+ generative : Serialize . generative ( generate ) ,
180
+ } ,
181
+ } ) )
182
+ . then ( ( { search , args } ) => search . withNearImage ( args ) )
168
183
. then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
169
184
}
170
185
@@ -181,8 +196,9 @@ class GenerateManager<T> implements Generate<T> {
181
196
public nearObject ( id : string , generate : GenerateOptions < T > , opts ?: NearOptions < T > ) : GenerateReturn < T > {
182
197
return this . check
183
198
. nearSearch ( opts )
184
- . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) =>
185
- search . withNearObject ( {
199
+ . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) => ( {
200
+ search,
201
+ args : {
186
202
...Serialize . search . nearObject (
187
203
{
188
204
id,
@@ -192,8 +208,9 @@ class GenerateManager<T> implements Generate<T> {
192
208
opts
193
209
) ,
194
210
generative : Serialize . generative ( generate ) ,
195
- } )
196
- )
211
+ } ,
212
+ } ) )
213
+ . then ( ( { search, args } ) => search . withNearObject ( args ) )
197
214
. then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
198
215
}
199
216
@@ -214,8 +231,9 @@ class GenerateManager<T> implements Generate<T> {
214
231
) : GenerateReturn < T > {
215
232
return this . check
216
233
. nearSearch ( opts )
217
- . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) =>
218
- search . withNearText ( {
234
+ . then ( ( { search, supportsTargets, supportsWeightsForTargets } ) => ( {
235
+ search,
236
+ args : {
219
237
...Serialize . search . nearText (
220
238
{
221
239
query,
@@ -225,8 +243,9 @@ class GenerateManager<T> implements Generate<T> {
225
243
opts
226
244
) ,
227
245
generative : Serialize . generative ( generate ) ,
228
- } )
229
- )
246
+ } ,
247
+ } ) )
248
+ . then ( ( { search, args } ) => search . withNearText ( args ) )
230
249
. then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
231
250
}
232
251
@@ -247,20 +266,31 @@ class GenerateManager<T> implements Generate<T> {
247
266
) : GenerateReturn < T > {
248
267
return this . check
249
268
. nearVector ( vector , opts )
250
- . then ( ( { search, supportsTargets, supportsVectorsForTargets, supportsWeightsForTargets } ) =>
251
- search . withNearVector ( {
252
- ...Serialize . search . nearVector (
253
- {
254
- vector,
255
- supportsTargets,
256
- supportsVectorsForTargets,
257
- supportsWeightsForTargets,
258
- } ,
259
- opts
260
- ) ,
261
- generative : Serialize . generative ( generate ) ,
269
+ . then (
270
+ async ( {
271
+ search,
272
+ supportsTargets,
273
+ supportsVectorsForTargets,
274
+ supportsWeightsForTargets,
275
+ supportsVectors,
276
+ } ) => ( {
277
+ search,
278
+ args : {
279
+ ...( await Serialize . search . nearVector (
280
+ {
281
+ vector,
282
+ supportsTargets,
283
+ supportsVectorsForTargets,
284
+ supportsWeightsForTargets,
285
+ supportsVectors,
286
+ } ,
287
+ opts
288
+ ) ) ,
289
+ generative : Serialize . generative ( generate ) ,
290
+ } ,
262
291
} )
263
292
)
293
+ . then ( ( { search, args } ) => search . withNearVector ( args ) )
264
294
. then ( ( reply ) => this . parseGroupByReply ( opts , reply ) ) ;
265
295
}
266
296
0 commit comments