generateEmbeddings method

  1. @override
Future<GeneratedEmbeddings> generateEmbeddings({
  1. required Iterable<String> values,
  2. EmbeddingGenerationOptions? options,
  3. CancellationToken? cancellationToken,
})
override

Generates embeddings for the given values.

Implementation

@override
Future<GeneratedEmbeddings> generateEmbeddings({
  required Iterable<String> values,
  EmbeddingGenerationOptions? options,
  CancellationToken? cancellationToken,
}) async {
  developer.Timeline.startSync(
    OpenTelemetryConsts.embeddingsSpanName,
    arguments: {
      if (system != null) OpenTelemetryConsts.systemKey: system,
      OpenTelemetryConsts.requestModelKey:
          options?.modelId ?? modelId ?? 'unknown',
    },
  );
  try {
    final result = await super.generateEmbeddings(
      values: values,
      options: options,
      cancellationToken: cancellationToken,
    );
    developer.Timeline.finishSync();
    return result;
  } catch (e) {
    developer.Timeline.finishSync();
    rethrow;
  }
}