ChromaEmbeddingStorageService

Wisej.AI.Services.ChromaEmbeddingStorageService

Namespace: Wisej.AI.Services

Assembly: Wisej.AI (3.5.0.0)

Represents a service for storing and retrieving embeddings using Chroma.

public class ChromaEmbeddingStorageService : IEmbeddingStorageService

This class provides methods to store, retrieve, query, and remove embedded documents in a Chroma vector database. It uses an HTTP client service to communicate with the Chroma API.

Constructors

ChromaEmbeddingStorageService(url)

Initializes a new instance of the ChromaEmbeddingStorageService class.

Name
Type
Description

url

The URL of the Chroma service. Default is null.

Properties

ApiKey

String: Gets or sets the API key for the Chroma service. (Default: null)

Authentication

String: Gets or sets the Authentication method for the Chroma service. (Default: null)

URL

String: Gets or sets the URL of the Chroma service. (Default: null)

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.

GetApiKey()

Retrieves the API key for the Chroma service.

Returns: String. The API key for the Chroma service.

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

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

Parameter
Type
Description

collectionName

The name of the collection.

query

The query vector to compare against.

topN

The number of top similar documents to return.

minSimilarity

The minimum similarity threshold for documents to be considered.

filter

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 the specified collection for a document similar to the given 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 documents to retrieve.

minSimilarity

The minimum similarity threshold.

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

Throws:

RemoveAsync(collectionName, filter)

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

Parameter
Type
Description

collectionName

The name of the collection.

filter

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.

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

Parameter
Type
Description

collectionName

The name of the collection.

includeEmbedding

Indicates whether to include the embedding in the retrieved documents.

filter

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.

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