Skip to main content

MemoryEmbeddingStorageService

Namespace: Wisej.AI.Services

Assembly: Wisej.AI

Provides an in-memory implementation of the IEmbeddingStorageService interface.

public class MemoryEmbeddingStorageService : IEmbeddingStorageService

This service stores embedded documents in memory using a dictionary. It supports operations such as checking for existence, querying, removing, retrieving, and storing documents.

Constructors​

MemoryEmbeddingStorageService()​

Initializes a new instance of MemoryEmbeddingStorageService.

Methods​

ExistsAsync(collectionName, documentName)​

Checks if a document exists in the specified collection.

ParameterTypeDescription
collectionNameStringThe name of the collection.
documentNameStringThe name of the document.

Returns: Task<Boolean>. A task that represents the asynchronous operation. The task result contains a boolean indicating whether the document exists.

QueryAsync(collectionName, query, topN, minSimilarity, filter)​

Queries the specified collection for documents similar to the provided query vector.

ParameterTypeDescription
collectionNameStringThe name of the collection.
querySingle[]The query vector to compare against.
topNInt32The number of top similar documents to return.
minSimilaritySingleThe minimum similarity threshold for documents to be considered.
filter Predicate<EmbeddedDocument>An optional filter predicate to apply to documents. Default is null.

Returns: Task<EmbeddedDocument[]>. A task that represents the asynchronous operation. The task result contains an array of EmbeddedDocument objects.

QueryAsync(collectionName, documentName, query, topN, minSimilarity)​

Queries a specific document in the collection for similarity to the provided query vector.

ParameterTypeDescription
collectionNameStringThe name of the collection.
documentNameStringThe name of the document.
querySingle[]The query vector to compare against.
topNInt32The number of top similar chunks to return.
minSimilaritySingleThe minimum similarity threshold for chunks to be considered.

Returns: Task<EmbeddedDocument>. A task that represents the asynchronous operation. The task result contains the EmbeddedDocument with the top similar chunks.

Throws:

RemoveAsync(collectionName, filter)​

Removes documents from the specified collection that match the given filter.

ParameterTypeDescription
collectionNameStringThe name of the collection.
filter Predicate<EmbeddedDocument>An optional filter predicate to apply to documents. Default is null.

Returns: Task. A task that represents the asynchronous operation.

RemoveAsync(collectionName, documentName)​

Removes a specific document from the collection.

ParameterTypeDescription
collectionNameStringThe name of the collection.
documentNameStringThe name of the document.

Returns: Task. A task that represents the asynchronous operation.

RetrieveAsync(collectionName, documentName, includeEmbedding)​

Retrieves a specific document from the collection.

ParameterTypeDescription
collectionNameStringThe name of the collection.
documentNameStringThe name of the document.
includeEmbeddingBooleanIndicates whether to include the embedding in the retrieved document.

Returns: Task<EmbeddedDocument>. A task that represents the asynchronous operation. The task result contains the EmbeddedDocument.

RetrieveAsync(collectionName, includeEmbedding, filter)​

Retrieves all documents from the specified collection that match the given filter.

ParameterTypeDescription
collectionNameStringThe name of the collection.
includeEmbeddingBooleanIndicates whether to include the embedding in the retrieved documents.
filter Predicate<EmbeddedDocument>An optional filter predicate to apply to documents. Default is null.

Returns: Task<EmbeddedDocument[]>. A task that represents the asynchronous operation. The task result contains an array of EmbeddedDocument objects.

StoreAsync(collectionName, document)​

Stores a document in the specified collection.

ParameterTypeDescription
collectionNameStringThe name of the collection.
documentEmbeddedDocumentThe document to store.

Returns: Task. A task that represents the asynchronous operation.

Throws:

Implements​

NameDescription
IEmbeddingStorageServiceRepresents a service for storing and querying embedded documents within specified collections.