createEmbeddings method
Future<EmbeddingsResult>
createEmbeddings({
- required dynamic input,
- required EmbeddingModel model,
- int? dimensions,
- String? encodingFormat,
- String? user,
Create text embeddings.
final res = await client.createEmbeddings(
input: 'The food was delicious and the waiter...',
model: 'text-embedding-3-small',
);
print(res.vectors.first.length); // 1536, 1024, … depending on model
For multiple inputs pass a List<String>
(or List<List<int>>
of tokens).
Implementation
Future<EmbeddingsResult> createEmbeddings({
/// Single string · List<String> · List<List<int>>
required dynamic input,
/// e.g. text-embedding-3-large, ada-002, …
required EmbeddingModel model,
/// Target dimensionality (supported by text-embedding-3 + later).
int? dimensions,
/// `"float"` (default) or `"base64"`.
String? encodingFormat,
/// End-user identifier for abuse monitoring.
String? user,
}) async {
final resp = await postJson('/embeddings', {
'input': input,
'model': model.toJson(),
if (dimensions != null) 'dimensions': dimensions,
if (encodingFormat != null) 'encoding_format': encodingFormat,
if (user != null) 'user': user,
});
if (resp.statusCode == 200) {
return EmbeddingsResult.fromJson(jsonDecode(resp.body));
}
throw OpenAIRequestException.fromHttpResponse(resp);
}