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.
Constructors
- CachedEmbedder(Embedder inner, {required String namespace, PhoenixDatabase? database, int memoryEntries = 4096})
-
Wraps
inner.
Properties
- database → PhoenixDatabase?
-
Persistent store, or
nullfor 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 singletext. -
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