getActiveEmbedder static method

Future<EmbeddingModel> getActiveEmbedder({
  1. PreferredBackend? preferredBackend,
})

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:

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,
  );
}