InMemoryDocumentEmbeddingStorage

An in-memory VectorStorage implementation.

This class facilitates the storage and retrieval of documents and their corresponding vector embeddings entirely in memory. It utilizes an InMemoryVectorStorageBackend for managing the document embeddings and extends EmbeddingStorage, inheriting capabilities such as ranking, storing, and deleting documents based on their embeddings.

Parameters

embedder

A mechanism responsible for embedding the documents into vector representations.

Type Parameters

Document

The type of the documents being stored.

Inheritors

Constructors

Link copied to clipboard
constructor(embedder: DocumentEmbedder<Document>)

Properties

Link copied to clipboard
open override val capabilities: Set<StorageCapability>

Functions

Link copied to clipboard
open suspend override fun add(documents: List<Document>, namespace: String?): List<String>
Link copied to clipboard

Retrieves a flow of all documents stored in the system.

Link copied to clipboard
open suspend override fun delete(ids: List<String>, namespace: String?): List<String>
Link copied to clipboard
open suspend override fun get(ids: List<String>, namespace: String?): List<Document>
Link copied to clipboard
open override fun rankDocuments(query: String): Flow<SearchResult<Document>>
Link copied to clipboard
open suspend override fun search(request: SimilaritySearchRequest, namespace: String?): List<SearchResult<Document>>
Link copied to clipboard
open fun supports(capability: StorageCapability): Boolean
Link copied to clipboard
open suspend override fun update(documents: Map<String, Document>, namespace: String?): List<String>