OpenAICompatibleEmbedder class
An Embedder for any OpenAI-compatible /embeddings endpoint.
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;
nullfor 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_typefor Voyage AI), ornullwhen unsupported.final - requestDimensions → bool
-
Send
dimensionsin 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 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