FileSystemEmbeddingStorageService

Wisej.AI.Services.FileSystemEmbeddingStorageService

Namespace: Wisej.AI.Services

Assembly: Wisej.AI (3.5.0.0)

Provides a file system-based implementation of the IEmbeddingStorageService interface.

public class FileSystemEmbeddingStorageService : IEmbeddingStorageService

This service allows for storing, retrieving, querying, and removing embedded documents from a specified storage path in the file system. It uses JSON files to store metadata and embeddings for each document.

Constructors

FileSystemEmbeddingStorageService()

Initializes a new instance of FileSystemEmbeddingStorageService.

Properties

StoragePath

String: Gets or sets the storage path for embeddings. (Default: "~\AI\Embeddings")

Methods

ExistsAsync(collectionName, documentName)

Checks if a document exists in the specified collection.

Parameter
Type
Description

collectionName

The name of the collection.

documentName

The 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 collection for documents similar to the provided query vector.

Parameter
Type
Description

collectionName

The name of the collection.

query

The query vector.

topN

The number of top similar documents to retrieve.

minSimilarity

The minimum similarity threshold.

filter

An optional filter predicate for 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.

Parameter
Type
Description

collectionName

The name of the collection.

documentName

The name of the document.

query

The query vector.

topN

The number of top similar chunks to retrieve.

minSimilarity

The minimum similarity threshold.

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 filter predicate.

Parameter
Type
Description

collectionName

The name of the collection.

filter

An optional filter predicate for documents. Default is null.

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

RemoveAsync(collectionName, documentName)

Removes a specific document from the specified collection.

Parameter
Type
Description

collectionName

The name of the collection.

documentName

The name of the document.

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

RetrieveAsync(collectionName, documentName, includeEmbedding)

Retrieves a specific document from the specified collection.

Parameter
Type
Description

collectionName

The name of the collection.

documentName

The name of the document.

includeEmbedding

Indicates 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 filter predicate.

Parameter
Type
Description

collectionName

The name of the collection.

includeEmbedding

Indicates whether to include embeddings in the retrieved documents.

filter

An optional filter predicate for 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.

Parameter
Type
Description

collectionName

The name of the collection.

document

The document to store.

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

Throws:

Implements

Name
Description

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

Last updated