Share via


DistributedCachingEmbeddingGenerator<TInput,TEmbedding> Class

Definition

A delegating embedding generator that caches the results of embedding generation calls, storing them as JSON in an IDistributedCache.

generic <typename TInput, typename TEmbedding>
 where TEmbedding : Embeddingpublic ref class DistributedCachingEmbeddingGenerator : Microsoft::Extensions::AI::CachingEmbeddingGenerator<TInput, TEmbedding>
public class DistributedCachingEmbeddingGenerator<TInput,TEmbedding> : Microsoft.Extensions.AI.CachingEmbeddingGenerator<TInput,TEmbedding> where TEmbedding : Embedding
type DistributedCachingEmbeddingGenerator<'Input, 'Embedding (requires 'Embedding :> Embedding)> = class
    inherit CachingEmbeddingGenerator<'Input, 'Embedding (requires 'Embedding :> Embedding)>
Public Class DistributedCachingEmbeddingGenerator(Of TInput, TEmbedding)
Inherits CachingEmbeddingGenerator(Of TInput, TEmbedding)

Type Parameters

TInput

The type from which embeddings will be generated.

TEmbedding

The type of embeddings to generate.

Inheritance

Remarks

The provided implementation of IEmbeddingGenerator<TInput,TEmbedding> is thread-safe for concurrent use so long as the employed IDistributedCache is similarly thread-safe for concurrent use.

Constructors

DistributedCachingEmbeddingGenerator<TInput,TEmbedding>(IEmbeddingGenerator<TInput,TEmbedding>, IDistributedCache)

Initializes a new instance of the DistributedCachingEmbeddingGenerator<TInput,TEmbedding> class.

Properties

InnerGenerator

Gets the inner IEmbeddingGenerator<TInput,TEmbedding>.

(Inherited from DelegatingEmbeddingGenerator<TInput,TEmbedding>)
JsonSerializerOptions

Gets or sets JSON serialization options to use when serializing cache data.

Metadata

Gets metadata that describes the IEmbeddingGenerator<TInput,TEmbedding>.

(Inherited from DelegatingEmbeddingGenerator<TInput,TEmbedding>)

Methods

Dispose()

Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from DelegatingEmbeddingGenerator<TInput,TEmbedding>)
Dispose(Boolean)

Provides a mechanism for releasing unmanaged resources.

(Inherited from DelegatingEmbeddingGenerator<TInput,TEmbedding>)
Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GenerateAsync(IEnumerable<TInput>, EmbeddingGenerationOptions, CancellationToken) (Inherited from CachingEmbeddingGenerator<TInput,TEmbedding>)
GetCacheKey(TInput, EmbeddingGenerationOptions)

Computes a cache key for the specified call parameters.

GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetService<TService>(Object)

Asks the IEmbeddingGenerator<TInput,TEmbedding> for an object of type TService.

(Inherited from DelegatingEmbeddingGenerator<TInput,TEmbedding>)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ReadCacheAsync(String, CancellationToken)

Returns a previously cached Embedding<T>, if available.

ToString()

Returns a string that represents the current object.

(Inherited from Object)
WriteCacheAsync(String, TEmbedding, CancellationToken)

Stores a TEmbedding in the underlying cache.

Extension Methods

GenerateAndZipAsync<TInput,TEmbedding>(IEmbeddingGenerator<TInput,TEmbedding>, IEnumerable<TInput>, EmbeddingGenerationOptions, CancellationToken)

Generates embeddings for each of the supplied values and produces a list that pairs each input value with its resulting embedding.

GenerateEmbeddingAsync<TInput,TEmbedding>(IEmbeddingGenerator<TInput,TEmbedding>, TInput, EmbeddingGenerationOptions, CancellationToken)

Generates an embedding from the specified value.

Applies to