Skip to main content

PineconeEmbeddingStorageService

Namespace: Wisej.AI.Services

Assembly: Wisej.AI

Represents a service for storing and retrieving embeddings using Pinecone.

public class PineconeEmbeddingStorageService : IEmbeddingStorageService

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

Constructors

PineconeEmbeddingStorageService(url)

Initializes a new instance of the PineconeEmbeddingStorageService class.

NameTypeDescription
urlStringThe URL of the Pinecone service. Default is null.

Properties

ApiKey

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

MaxBatchSize

Int32: Gets or sets the maximum batch size used to store document vectors into the database. (Default: 100)

URL

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

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.

GetApiKey()

Retrieves the API key for the Pinecone service.

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

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

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

ParameterTypeDescription
collectionNameStringThe name of the collection.
querySingle[]The query vector.
topNInt32The number of top similar documents to retrieve.
minSimilaritySingleThe minimum similarity threshold.
filter Predicate<EmbeddedDocument>An optional filter to apply to the 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.

ParameterTypeDescription
collectionNameStringThe name of the collection.
documentNameStringThe name of the document.
querySingle[]The query vector.
topNInt32The number of top similar documents to retrieve.
minSimilaritySingleThe 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.

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

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

RemoveAsync(collectionName, documentName)

Removes a document from the specified 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 document from the specified collection.

ParameterTypeDescription
collectionNameStringThe name of the collection.
documentNameStringThe name of the document.
includeEmbeddingBooleanA value indicating whether to include the embedding in the result.

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

RetrieveAsync(collectionName, includeEmbedding, filter)

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

ParameterTypeDescription
collectionNameStringThe name of the collection.
includeEmbeddingBooleanA value indicating whether to include the embedding in the result.
filter Predicate<EmbeddedDocument>An optional filter to apply to the 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.