Skip to main content

InsertDocuments

Trait InsertDocuments 

Source
pub trait InsertDocuments: WasmCompatSend + WasmCompatSync {
    // Required method
    fn insert_documents<Doc: Serialize + Embed + WasmCompatSend>(
        &self,
        documents: Vec<(Doc, Vec<Embedding>)>,
    ) -> impl Future<Output = Result<(), VectorStoreError>> + WasmCompatSend;
}
Expand description

Trait for inserting documents and embeddings into a vector store.

Required Methods§

Source

fn insert_documents<Doc: Serialize + Embed + WasmCompatSend>( &self, documents: Vec<(Doc, Vec<Embedding>)>, ) -> impl Future<Output = Result<(), VectorStoreError>> + WasmCompatSend

Insert precomputed embeddings for each document.

Every document must carry at least one embedding. The embedding list was non-empty by construction until it became a Vec; the requirement did not go away, it moved to the caller. Implementors do not guard it, and what an empty list does varies by store — some silently insert nothing, some store a document no similarity search can ever return, some surface a confusing driver error. Embeddings produced by EmbeddingsBuilder always satisfy this; only hand-built tuples can violate it.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§