TextEmbedderExecutor class

Executes MediaPipe's "embedText" task.

Instantiates and manages an object which can complete MediaPipe tasks. The managed task-completing object does not exist in Dart memory, but instead in platform-dependent native memory.

Extending classes should implement createResultsPointer, createWorker, closeWorker, and any additional task-specific methods. Applications will only call those extra task-specific methods, which will throw an exception on any error communicating with the native workers. It is the job of application code to surround those task-specific methods with try-catch clauses.

Executors are separated from their public API counterparts because FFI and MediaPipe have no concept of asynchrony or futures, so this pattern allows a public-facing task handler to create an executor on a separate isolate, and for Flutter apps to await the results of MediaPipe tasks.

Properties

hashCode int
The hash code for this object.
no setterinherited
options TextEmbedderOptions
Initialization values for the worker.
finalinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
taskName String
Debug value for log statements.
final
worker Pointer<Void>
The native MediaPipe object which will complete this task.
no setterinherited

Methods

closeWorker(Pointer<Void> worker, Pointer<Pointer<Char>> error) int
Releases the worker object behind this task.
cosineSimilarity(Pointer<Embedding> a, Pointer<Embedding> b) double
Passes two embeddings to MediaPipe for comparison. Both embeddings should have been made from embedders with the same configuration for the result to be meaningful.
createResultsPointer() Pointer<TextEmbedderResult>
Allocates this task's results struct in native memory.
createWorker(Pointer<TextEmbedderOptions> options, Pointer<Pointer<Char>> error) Pointer<Void>
Allocates this task's worker object in native memory.
dispose() → void
Releases the worker and any remaining resources. After calling dispose, re-using the worker property will recreate the native object and will require a second call to dispose.
inherited
embed(String text) TextEmbedderResult
Passes text to MediaPipe for conversion into an embedding, yielding a TextEmbedderResult or throwing an exception.
handleErrorMessage(Pointer<Pointer<Char>> errorMessage, [int? status]) → void
Throws an exception if errorMessage is non-empty.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited