getActiveEmbedder static method
Get the active embedding model as a ready-to-use EmbeddingModel
Returns an EmbeddingModel configured with runtime parameters. The model and tokenizer paths come from the active EmbeddingModelSpec.
Runtime parameters:
preferredBackend
: CPU or GPU preference (optional)
Throws:
- StateError if no active embedding model is set
Example:
// Install embedding model first
await FlutterGemma.installEmbedder()
.modelFromNetwork('https://example.com/model.tflite')
.tokenizerFromNetwork('https://example.com/tokenizer.model')
.install();
// Create with default backend
final embeddingModel = await FlutterGemma.getActiveEmbedder();
// Create with specific backend
final cpuModel = await FlutterGemma.getActiveEmbedder(
preferredBackend: PreferredBackend.cpu,
);
Implementation
static Future<EmbeddingModel> getActiveEmbedder({
PreferredBackend? preferredBackend,
}) async {
final manager = FlutterGemmaPlugin.instance.modelManager;
final activeSpec = manager.activeEmbeddingModel;
if (activeSpec == null) {
throw StateError(
'No active embedding model set. Use FlutterGemma.installEmbedder() first.',
);
}
if (activeSpec is! EmbeddingModelSpec) {
throw StateError(
'Active model is not an EmbeddingModelSpec. '
'Expected EmbeddingModelSpec, got ${activeSpec.runtimeType}',
);
}
// Create EmbeddingModel using active spec (paths resolved automatically)
return await FlutterGemmaPlugin.instance.createEmbeddingModel(
preferredBackend: preferredBackend,
);
}