Compartir a través de


DistributedCachingEmbeddingGenerator<TInput,TEmbedding> Class

Definition

Represents 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.

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>)
GenerateAsync(IEnumerable<TInput>, EmbeddingGenerationOptions, CancellationToken) (Inherited from CachingEmbeddingGenerator<TInput,TEmbedding>)
GetCacheKey(ReadOnlySpan<Object>)

Computes a cache key for the specified values.

GetService(Type, Object)

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

(Inherited from DelegatingEmbeddingGenerator<TInput,TEmbedding>)
ReadCacheAsync(String, CancellationToken)

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

WriteCacheAsync(String, TEmbedding, CancellationToken)

Stores a TEmbedding in the underlying cache.

Extension Methods

AsBuilder<TInput,TEmbedding>(IEmbeddingGenerator<TInput,TEmbedding>)

Creates a new EmbeddingGeneratorBuilder<TInput,TEmbedding> using innerGenerator as its inner generator.

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.

GetService<TInput,TEmbedding,TService>(IEmbeddingGenerator<TInput,TEmbedding>, Object)

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

Applies to