@@ -68,6 +68,8 @@ pub enum EmbeddingModel {
68
68
ClipVitB32 ,
69
69
/// jinaai/jina-embeddings-v2-base-code
70
70
JinaEmbeddingsV2BaseCode ,
71
+ /// onnx-community/embeddinggemma-300m-ONNX
72
+ EmbeddingGemma300M ,
71
73
}
72
74
73
75
/// Centralized function to initialize the models map.
@@ -80,6 +82,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
80
82
model_code: String :: from( "Qdrant/all-MiniLM-L6-v2-onnx" ) ,
81
83
model_file: String :: from( "model.onnx" ) ,
82
84
additional_files: Vec :: new( ) ,
85
+ output_key: None ,
83
86
} ,
84
87
ModelInfo {
85
88
model: EmbeddingModel :: AllMiniLML6V2Q ,
@@ -88,6 +91,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
88
91
model_code: String :: from( "Xenova/all-MiniLM-L6-v2" ) ,
89
92
model_file: String :: from( "onnx/model_quantized.onnx" ) ,
90
93
additional_files: Vec :: new( ) ,
94
+ output_key: None ,
91
95
} ,
92
96
ModelInfo {
93
97
model: EmbeddingModel :: AllMiniLML12V2 ,
@@ -96,6 +100,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
96
100
model_code: String :: from( "Xenova/all-MiniLM-L12-v2" ) ,
97
101
model_file: String :: from( "onnx/model.onnx" ) ,
98
102
additional_files: Vec :: new( ) ,
103
+ output_key: None ,
99
104
} ,
100
105
ModelInfo {
101
106
model: EmbeddingModel :: AllMiniLML12V2Q ,
@@ -104,6 +109,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
104
109
model_code: String :: from( "Xenova/all-MiniLM-L12-v2" ) ,
105
110
model_file: String :: from( "onnx/model_quantized.onnx" ) ,
106
111
additional_files: Vec :: new( ) ,
112
+ output_key: None ,
107
113
} ,
108
114
ModelInfo {
109
115
model: EmbeddingModel :: BGEBaseENV15 ,
@@ -112,6 +118,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
112
118
model_code: String :: from( "Xenova/bge-base-en-v1.5" ) ,
113
119
model_file: String :: from( "onnx/model.onnx" ) ,
114
120
additional_files: Vec :: new( ) ,
121
+ output_key: None ,
115
122
} ,
116
123
ModelInfo {
117
124
model: EmbeddingModel :: BGEBaseENV15Q ,
@@ -120,6 +127,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
120
127
model_code: String :: from( "Qdrant/bge-base-en-v1.5-onnx-Q" ) ,
121
128
model_file: String :: from( "model_optimized.onnx" ) ,
122
129
additional_files: Vec :: new( ) ,
130
+ output_key: None ,
123
131
} ,
124
132
ModelInfo {
125
133
model: EmbeddingModel :: BGELargeENV15 ,
@@ -128,6 +136,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
128
136
model_code: String :: from( "Xenova/bge-large-en-v1.5" ) ,
129
137
model_file: String :: from( "onnx/model.onnx" ) ,
130
138
additional_files: Vec :: new( ) ,
139
+ output_key: None ,
131
140
} ,
132
141
ModelInfo {
133
142
model: EmbeddingModel :: BGELargeENV15Q ,
@@ -136,6 +145,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
136
145
model_code: String :: from( "Qdrant/bge-large-en-v1.5-onnx-Q" ) ,
137
146
model_file: String :: from( "model_optimized.onnx" ) ,
138
147
additional_files: Vec :: new( ) ,
148
+ output_key: None ,
139
149
} ,
140
150
ModelInfo {
141
151
model: EmbeddingModel :: BGESmallENV15 ,
@@ -144,6 +154,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
144
154
model_code: String :: from( "Xenova/bge-small-en-v1.5" ) ,
145
155
model_file: String :: from( "onnx/model.onnx" ) ,
146
156
additional_files: Vec :: new( ) ,
157
+ output_key: None ,
147
158
} ,
148
159
ModelInfo {
149
160
model: EmbeddingModel :: BGESmallENV15Q ,
@@ -154,6 +165,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
154
165
model_code: String :: from( "Qdrant/bge-small-en-v1.5-onnx-Q" ) ,
155
166
model_file: String :: from( "model_optimized.onnx" ) ,
156
167
additional_files: Vec :: new( ) ,
168
+ output_key: None ,
157
169
} ,
158
170
ModelInfo {
159
171
model: EmbeddingModel :: NomicEmbedTextV1 ,
@@ -162,6 +174,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
162
174
model_code: String :: from( "nomic-ai/nomic-embed-text-v1" ) ,
163
175
model_file: String :: from( "onnx/model.onnx" ) ,
164
176
additional_files: Vec :: new( ) ,
177
+ output_key: None ,
165
178
} ,
166
179
ModelInfo {
167
180
model: EmbeddingModel :: NomicEmbedTextV15 ,
@@ -170,6 +183,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
170
183
model_code: String :: from( "nomic-ai/nomic-embed-text-v1.5" ) ,
171
184
model_file: String :: from( "onnx/model.onnx" ) ,
172
185
additional_files: Vec :: new( ) ,
186
+ output_key: None ,
173
187
} ,
174
188
ModelInfo {
175
189
model: EmbeddingModel :: NomicEmbedTextV15Q ,
@@ -180,6 +194,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
180
194
model_code: String :: from( "nomic-ai/nomic-embed-text-v1.5" ) ,
181
195
model_file: String :: from( "onnx/model_quantized.onnx" ) ,
182
196
additional_files: Vec :: new( ) ,
197
+ output_key: None ,
183
198
} ,
184
199
ModelInfo {
185
200
model: EmbeddingModel :: ParaphraseMLMiniLML12V2Q ,
@@ -188,6 +203,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
188
203
model_code: String :: from( "Qdrant/paraphrase-multilingual-MiniLM-L12-v2-onnx-Q" ) ,
189
204
model_file: String :: from( "model_optimized.onnx" ) ,
190
205
additional_files: Vec :: new( ) ,
206
+ output_key: None ,
191
207
} ,
192
208
ModelInfo {
193
209
model: EmbeddingModel :: ParaphraseMLMiniLML12V2 ,
@@ -196,6 +212,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
196
212
model_code: String :: from( "Xenova/paraphrase-multilingual-MiniLM-L12-v2" ) ,
197
213
model_file: String :: from( "onnx/model.onnx" ) ,
198
214
additional_files: Vec :: new( ) ,
215
+ output_key: None ,
199
216
} ,
200
217
ModelInfo {
201
218
model: EmbeddingModel :: ParaphraseMLMpnetBaseV2 ,
@@ -206,6 +223,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
206
223
model_code: String :: from( "Xenova/paraphrase-multilingual-mpnet-base-v2" ) ,
207
224
model_file: String :: from( "onnx/model.onnx" ) ,
208
225
additional_files: Vec :: new( ) ,
226
+ output_key: None ,
209
227
} ,
210
228
ModelInfo {
211
229
model: EmbeddingModel :: BGESmallZHV15 ,
@@ -214,6 +232,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
214
232
model_code: String :: from( "Xenova/bge-small-zh-v1.5" ) ,
215
233
model_file: String :: from( "onnx/model.onnx" ) ,
216
234
additional_files: Vec :: new( ) ,
235
+ output_key: None ,
217
236
} ,
218
237
ModelInfo {
219
238
model: EmbeddingModel :: BGELargeZHV15 ,
@@ -222,6 +241,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
222
241
model_code: String :: from( "Xenova/bge-large-zh-v1.5" ) ,
223
242
model_file: String :: from( "onnx/model.onnx" ) ,
224
243
additional_files: Vec :: new( ) ,
244
+ output_key: None ,
225
245
} ,
226
246
ModelInfo {
227
247
model: EmbeddingModel :: ModernBertEmbedLarge ,
@@ -230,6 +250,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
230
250
model_code: String :: from( "lightonai/modernbert-embed-large" ) ,
231
251
model_file: String :: from( "onnx/model.onnx" ) ,
232
252
additional_files: Vec :: new( ) ,
253
+ output_key: None ,
233
254
} ,
234
255
ModelInfo {
235
256
model: EmbeddingModel :: MultilingualE5Small ,
@@ -238,6 +259,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
238
259
model_code: String :: from( "intfloat/multilingual-e5-small" ) ,
239
260
model_file: String :: from( "onnx/model.onnx" ) ,
240
261
additional_files: Vec :: new( ) ,
262
+ output_key: None ,
241
263
} ,
242
264
ModelInfo {
243
265
model: EmbeddingModel :: MultilingualE5Base ,
@@ -246,6 +268,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
246
268
model_code: String :: from( "intfloat/multilingual-e5-base" ) ,
247
269
model_file: String :: from( "onnx/model.onnx" ) ,
248
270
additional_files: Vec :: new( ) ,
271
+ output_key: None ,
249
272
} ,
250
273
ModelInfo {
251
274
model: EmbeddingModel :: MultilingualE5Large ,
@@ -254,6 +277,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
254
277
model_code: String :: from( "Qdrant/multilingual-e5-large-onnx" ) ,
255
278
model_file: String :: from( "model.onnx" ) ,
256
279
additional_files: vec![ "model.onnx_data" . to_string( ) ] ,
280
+ output_key: None ,
257
281
} ,
258
282
ModelInfo {
259
283
model: EmbeddingModel :: MxbaiEmbedLargeV1 ,
@@ -262,6 +286,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
262
286
model_code: String :: from( "mixedbread-ai/mxbai-embed-large-v1" ) ,
263
287
model_file: String :: from( "onnx/model.onnx" ) ,
264
288
additional_files: Vec :: new( ) ,
289
+ output_key: None ,
265
290
} ,
266
291
ModelInfo {
267
292
model: EmbeddingModel :: MxbaiEmbedLargeV1Q ,
@@ -270,6 +295,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
270
295
model_code: String :: from( "mixedbread-ai/mxbai-embed-large-v1" ) ,
271
296
model_file: String :: from( "onnx/model_quantized.onnx" ) ,
272
297
additional_files: Vec :: new( ) ,
298
+ output_key: None ,
273
299
} ,
274
300
ModelInfo {
275
301
model: EmbeddingModel :: GTEBaseENV15 ,
@@ -278,6 +304,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
278
304
model_code: String :: from( "Alibaba-NLP/gte-base-en-v1.5" ) ,
279
305
model_file: String :: from( "onnx/model.onnx" ) ,
280
306
additional_files: Vec :: new( ) ,
307
+ output_key: None ,
281
308
} ,
282
309
ModelInfo {
283
310
model: EmbeddingModel :: GTEBaseENV15Q ,
@@ -286,6 +313,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
286
313
model_code: String :: from( "Alibaba-NLP/gte-base-en-v1.5" ) ,
287
314
model_file: String :: from( "onnx/model_quantized.onnx" ) ,
288
315
additional_files: Vec :: new( ) ,
316
+ output_key: None ,
289
317
} ,
290
318
ModelInfo {
291
319
model: EmbeddingModel :: GTELargeENV15 ,
@@ -294,6 +322,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
294
322
model_code: String :: from( "Alibaba-NLP/gte-large-en-v1.5" ) ,
295
323
model_file: String :: from( "onnx/model.onnx" ) ,
296
324
additional_files: Vec :: new( ) ,
325
+ output_key: None ,
297
326
} ,
298
327
ModelInfo {
299
328
model: EmbeddingModel :: GTELargeENV15Q ,
@@ -302,6 +331,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
302
331
model_code: String :: from( "Alibaba-NLP/gte-large-en-v1.5" ) ,
303
332
model_file: String :: from( "onnx/model_quantized.onnx" ) ,
304
333
additional_files: Vec :: new( ) ,
334
+ output_key: None ,
305
335
} ,
306
336
ModelInfo {
307
337
model: EmbeddingModel :: ClipVitB32 ,
@@ -310,6 +340,7 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
310
340
model_code: String :: from( "Qdrant/clip-ViT-B-32-text" ) ,
311
341
model_file: String :: from( "model.onnx" ) ,
312
342
additional_files: Vec :: new( ) ,
343
+ output_key: None ,
313
344
} ,
314
345
ModelInfo {
315
346
model: EmbeddingModel :: JinaEmbeddingsV2BaseCode ,
@@ -318,6 +349,16 @@ fn init_models_map() -> HashMap<EmbeddingModel, ModelInfo<EmbeddingModel>> {
318
349
model_code: String :: from( "jinaai/jina-embeddings-v2-base-code" ) ,
319
350
model_file: String :: from( "onnx/model.onnx" ) ,
320
351
additional_files: Vec :: new( ) ,
352
+ output_key: None ,
353
+ } ,
354
+ ModelInfo {
355
+ model: EmbeddingModel :: EmbeddingGemma300M ,
356
+ dim: 768 ,
357
+ description: String :: from( "EmbeddingGemma is a 300M parameter from Google" ) ,
358
+ model_code: String :: from( "onnx-community/embeddinggemma-300m-ONNX" ) ,
359
+ model_file: String :: from( "onnx/model.onnx" ) ,
360
+ additional_files: vec![ "onnx/model.onnx_data" . to_string( ) ] ,
361
+ output_key: Some ( crate :: OutputKey :: ByName ( "sentence_embedding" ) ) ,
321
362
} ,
322
363
] ;
323
364
0 commit comments