OpenAICompatibleEmbedder class

An Embedder for any OpenAI-compatible /embeddings endpoint.

Implemented types
Available extensions

Constructors

OpenAICompatibleEmbedder({required Uri baseUrl, required String model, required int dimensions, String? apiKey, int batchSize = 128, bool requestDimensions = false, String? purposeField, Map<String, Object?> extraBody = const {}, Map<String, String> headers = const {}, Duration timeout = const Duration(minutes: 2), int maxRetries = 2, HttpClient? httpClient})
Creates an embedder.
OpenAICompatibleEmbedder.ollama({required String model, required int dimensions, Uri? host})
A local Ollama server (e.g. nomic-embed-text, 768 dimensions).
factory
OpenAICompatibleEmbedder.openAI({required String apiKey, required String model, required int dimensions})
OpenAI embeddings (e.g. text-embedding-3-small, 1536 dimensions).
factory
OpenAICompatibleEmbedder.voyage({required String apiKey, required String model, required int dimensions})
Voyage AI embeddings (Anthropic's recommended embedding provider), with query/document input types.
factory

Properties

apiKey → String?
Bearer token; null for local servers.
final
baseUrl → Uri
API root.
final
batchSize → int
Texts per request.
final
dimensions → int
Length of every vector this embedder returns.
final
extraBody → Map<String, Object?>
Extra body fields.
final
hashCode → int
The hash code for this object.
no setterinherited
headers → Map<String, String>
Extra headers.
final
model → String
Embedding model name.
final
purposeField → String?
Body field that tells the server whether a text is a query or a document (input_type for Voyage AI), or null when unsupported.
final
requestDimensions → bool
Send dimensions in the request (models with adjustable output size).
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