FileDocumentEmbeddingStorage

A file-based VectorStorage implementation.

This class facilitates the storage and retrieval of documents and their corresponding vector embeddings in a file system. It utilizes a FileVectorStorageBackend 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.

documentProvider

Provider for reading/writing documents.

fs

Platform-specific file system provider for path manipulations.

root

Root directory where all vector storage will be located.

Type Parameters

Document

The type of the documents being stored.

Inheritors

Constructors

Link copied to clipboard
constructor(embedder: DocumentEmbedder<Document>, documentProvider: DocumentProvider<Path, Document>, fs: FileSystemProvider.ReadWrite<Path>, root: Path)

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>