CachedEmbedder class

Caches another embedder's vectors, in memory and optionally in a PhoenixDatabase, so a text is embedded (and paid for) once.

Entries are keyed by namespace — use the model name — plus purpose and text, so switching models never serves stale vectors.

Implemented types
Available extensions

Constructors

CachedEmbedder(Embedder inner, {required String namespace, PhoenixDatabase? database, int memoryEntries = 4096})
Wraps inner.

Properties

database → PhoenixDatabase?
Persistent store, or null for memory only.
final
dimensions → int
Length of every vector this embedder returns.
no setteroverride
hashCode → int
The hash code for this object.
no setterinherited
hits ↔ int
Cache hits since creation.
getter/setter pair
inner → Embedder
The embedder that computes missing vectors.
final
memoryEntries → int
Entries kept in memory.
final
misses ↔ int
Cache misses since creation.
getter/setter pair
namespace → String
Distinguishes models sharing one database.
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() → void
Releases network resources.
override
embed(List<String> texts, {EmbedPurpose purpose = EmbedPurpose.document}) → Future<List<Float32List>>
Embeds texts, returning one vector per text, in order.
override
embedOne(String text, {EmbedPurpose purpose = EmbedPurpose.document}) → Future<Float32List>

Available on Embedder, provided by the EmbedOne extension

Embeds a single text.
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